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