在Unity XR左右手内添加立方体触发索引越界错误(未编写代码)
Unity XR 添加立方体后触发Index Out of Range错误(无自定义代码)
问题现象
- 在Unity XR的左手/右手控制器对象下添加立方体后,触发Index Out of Range错误
- 点击错误提示会跳转到Unity内置
XRPass脚本的GetViewport方法,对应代码片段:
public Rect GetViewport(int viewIndex = 0) { return m_Views[viewIndex].viewport; }
- 未编写任何自定义代码,Visual Studio中也未检测到该错误
可能的解决方法
- 检查XR相机配置:确认XR Origin、Camera Offset等组件挂载正常,且已启用正确的XR Provider(如OpenXR、Oculus)
- 重置控制器预制体:移除并重新添加左手/右手控制器,或重置XR Origin组件,修复层级变更导致的内部视图数组异常
- 清理Unity缓存:删除项目根目录的
Library文件夹后重新导入项目,解决资源缓存冲突 - 验证版本兼容性:确保Unity版本与XR插件版本匹配,尝试升级/降级到稳定版本修复已知bug
- 排查立方体参数:暂时移除添加的立方体,确认错误是否消失,检查立方体的缩放、位置是否导致控制器视图计算异常
内容的提问来源于stack exchange,提问作者David Concon
相关产品推荐
相关产品推荐

