<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>PDC on XR技术研习社</title><link>https://www.xrstudy.net/tags/pdc/</link><description>Recent content in PDC on XR技术研习社</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Tue, 15 Sep 2026 10:00:00 +0800</lastBuildDate><atom:link href="https://www.xrstudy.net/tags/pdc/index.xml" rel="self" type="application/rss+xml"/><item><title>PICO 串流测试报 IndexOutOfRangeException: renderPassIndex 的两个排查方法</title><link>https://www.xrstudy.net/posts/pico-pdc-renderpassindex-error/</link><pubDate>Tue, 15 Sep 2026 10:00:00 +0800</pubDate><guid>https://www.xrstudy.net/posts/pico-pdc-renderpassindex-error/</guid><description>&lt;p&gt;在使用 PDC（PICO Developer Center）进行串流测试，是测试 PICO 项目的一种快捷手段。但是用过几次的开发者都知道，PICO 目前的方案依然不太稳定，时常会遇到各种意想不到的问题。其中一种高频报错会导致串流测试无法正常进行：测试时，Console 窗口会连续输出 &lt;code&gt;IndexOutOfRangeException:renderPassIndex&lt;/code&gt; 报错，其堆栈指向 &lt;code&gt;UnityEngine.XR.XRDisplaySubsystem:GetRenderPass&lt;/code&gt;，其症状如下图所示：&lt;/p&gt;&#10;&lt;p&gt;&lt;img src="https://www.xrstudy.net/images/posts/pico-pdc-renderpassindex/01-console-error.png" alt="Console 连续输出 IndexOutOfRangeException:renderPassIndex，堆栈指向 XRDisplaySubsystem:GetRenderPass"&gt;&lt;/p&gt;&#10;&lt;p&gt;此时不妨试试以下两种解决方法：&lt;/p&gt;&#10;&lt;h2 id="方法一测试之前确保不选中任何游戏对象尤其是-camera"&gt;方法一：测试之前确保不选中任何游戏对象（尤其是 Camera）&lt;/h2&gt;&#10;&lt;p&gt;&lt;img src="https://www.xrstudy.net/images/posts/pico-pdc-renderpassindex/02-object-selected.png" alt="测试前选中了某个游戏对象"&gt;&lt;/p&gt;&#10;&lt;p&gt;以上是易报错情况——测试前选中了某个游戏对象，尤其是包含了 Camera 的游戏对象。&lt;/p&gt;&#10;&lt;p&gt;&lt;img src="https://www.xrstudy.net/images/posts/pico-pdc-renderpassindex/03-nothing-selected.png" alt="测试前点击 Hierarchy 窗口空白处，不选中任何对象"&gt;&lt;/p&gt;&#10;&lt;p&gt;以上是不易报错情况：测试前点击 Hierarchy 窗口空白处，确保没有选中任何游戏对象，然后再进行串流测试，此时报错大概率会消失并能正常进行串流测试。&lt;/p&gt;&#10;&lt;p&gt;如果执行以上操作后仍然报错，可尝试第二种方法。&lt;/p&gt;&#10;&lt;h2 id="方法二确保-scene-窗口和-game-窗口不同时出现"&gt;方法二：确保 Scene 窗口和 Game 窗口不同时出现&lt;/h2&gt;&#10;&lt;p&gt;如果窗口布局如下图所示，Scene 和 Game 窗口同时呈现在 Unity 编辑器中，也可能引发此类报错。&lt;/p&gt;&#10;&lt;p&gt;&lt;img src="https://www.xrstudy.net/images/posts/pico-pdc-renderpassindex/04-scene-game-split.png" alt="Scene 和 Game 窗口同时呈现"&gt;&lt;/p&gt;&#10;&lt;p&gt;此时可尝试调整界面布局，确保 Scene 和 Game 窗口不同时呈现在编辑器中，如下图所示，将 Scene 和 Game 窗口叠放，或者选择一种不会同时出现以上两个窗口的 Layout，比如 Default 布局。&lt;/p&gt;&#10;&lt;p&gt;&lt;img src="https://www.xrstudy.net/images/posts/pico-pdc-renderpassindex/05-scene-game-stacked.png" alt="Scene 和 Game 窗口叠放（Tab 方式）"&gt;&lt;/p&gt;&#10;&lt;p&gt;调整以后再进行串流测试，报错随即消失，从而能够正常测试。&lt;/p&gt;&#10;&lt;h2 id="并不仅限于-pico-和-xr"&gt;并不仅限于 PICO 和 XR&lt;/h2&gt;&#10;&lt;p&gt;从报错堆栈可以看出，异常发生在 Unity XR 显示子系统获取 Render Pass 的环节。目前更合理的推测是：当 Unity 的多个渲染视图或预览状态同时活跃时——比如 Scene 与 Game 窗口并存、选中了带预览的对象，又叠加了 PDC 串流的渲染流程——就可能触发 Unity 编辑器或 XR 显示子系统的状态同步问题，从而导致请求的 &lt;code&gt;renderPassIndex&lt;/code&gt; 与当前可用的 Render Pass 数量不一致。&lt;/p&gt;</description></item></channel></rss>