Canvas Overlay模式:
项目遇到的问题,解决后记录一下。
动态加载的UI,先做下适配,和坐标转换没直接关系,只是为了正确显示UI
这里用了 panel 设置了floor层, 射线检测返回3D世界中的坐标,然后把cube移到当前坐标,具体效果看下图
关键点就在于,Overlay 模式下,UGUI世界坐标就是屏幕坐标
screen space - camera 模式下 :
RectTransPos ,就是当前UI组件的世界坐标,UI组件.transform.postion
CommonComs.UICamera , 是当前渲染UI的摄像机
注意以上划线两点,起初转化的坐标一直不对 ,差距很大,改近了以上两划线出的值后,转换的屏幕坐标逐渐趋近于正常值(不清楚具体怎么回事,这样貌似取不到一个绝对正确的值,怎么改也会差几个像素,迷茫~!!~!~! ,如果不追求特别精确,又没有好的办法的,可以用这种方案。)
screen space - camera 没有检测层的情况下 :