UICamera 编辑器与移动设备下的Find异常
某次出包后,在移动设备下,发现所有的UIDrag和一些UIHUD组件都失效了,看了看Editor下是正常的,后面就做了一系列检查措施来排除问题所在。
1.看了下log日志里是否有相关报错异常,结果毫无发现
2.直接动手看对应组件相关方法和代码段下记录新log,结果有关update的更新一切正常。
3.通过第二步基本确定了问题出在Camera上,看堆栈信息Camera也貌似没有异常,为什么坐标系转化的结果就有异常呢?对了,屏幕坐标没有问题,转化结果一直都相同,Camera应该是拿错了,这个项目刚好2dUI和3dUI用了不同的相机,问题找到了,出现在GameObject.Find方法上,Hierarchy中场景的对象列表如下:
UIRoot
UICamera)
UIRoot3D
UICamera
3d部分是项目最近新扩展的,之前的2dcamera是通过GameObject.Find(“UICamera”)来查找的结果编辑器下Find结果是UIRoot下的,而移动设备下Find结果是UIRoot3D下的,后面改了全路径移动设备就正常了。