请教:关于Camera设置targetTexture后影响到坐标转换的结果
asukabest
asukabest 5958 4
脚本 2016-01-10 23:30
在UGUI中,用RawImage + RenderTexture 的方法,实现在UI层中显示3D模型。
大概是用一台摄像机ModelCam照射着需要显示的3D模型,并将其TargetTexture设置成某个RenderTexture。再将该RenderTexture设置成RawImage的纹理。
需求在屏幕上点击某个模型时,可以另模型隐藏显示。
原本想的方法就是,点击鼠标时,用Camera.ScreenPointToRay的方法,从ModelCam发射射线进行检测。
但发现射线的方向在Camera在设置了TargetTexture和未设置时,会有偏差。
然后用Camera.ScreenToWorldPoint等其他几个坐标转换的方法进行了测试,发现输入同一个坐标,设置了TargetTexture和未设置时转换出来的结果的确不同。
请教下大家,如何修正或者其他解决思路。

图片:targettextur.png


PS:上图中,在屏幕中正方体的位置点击鼠标时,蓝色射线是未设置TargetTexture时,摄像机发出的射线,红色的则是设置之后发出的射线。
分享:
游客
要评论请先登录 或者 注册
tf107 学者 2016-01-11 09:11 1楼
建议你仔细看看官方的Demo
似乎那个Demo、没有出现“误差”
ishare 学徒 2016-01-11 11:18 2楼
应该是你的脚本有问题,不会有偏差的
asukabest 新手 2016-01-11 21:44 3楼
tf107:建议你仔细看看官方的Demo
似乎那个Demo、没有出现“误差”
回到原帖
额,我下了Demo来看,发现的确如果是透视摄像机,转换的结果一致,但如果是正交摄像机,结果会偏差。
而且无论透视还是正交,发射的射线都是偏的..
asukabest 新手 2016-01-11 21:46 4楼
ishare:应该是你的脚本有问题,不会有偏差的回到原帖
的确如果是透视摄像机,转换的结果一致,但如果是正交摄像机,结果会偏差。
而且无论透视还是正交,发射的射线都是偏的..
返回顶部