旋转相机下如何将鼠标坐标投射至3D世界?
Godot Camera.project_position 方法非垂直视角偏差问题
当相机垂直向下(-90度)时,Camera类的project_position方法运行正常,但相机非垂直向下旋转时,瞄准点与鼠标位置存在明显偏差。
观察到的规律:
- 第1、3象限:瞄准点位于鼠标后方
- 第2、4象限:瞄准点位于鼠标前方
- 鼠标x=0或z=0时:瞄准点与鼠标位置完全吻合
另外,Godot中RayCast的工作机制需要指定cast_to点,这让我难以自行实现鼠标坐标转世界坐标。
视觉示例
-90度相机旋转

-60度相机旋转

坐标偏差示例
鼠标悬停在右上角方块上时,投射的3D世界点应接近(10, 2, -10),但输出显示相机投射的世界点与角色朝向存在偏差
内容的提问来源于stack exchange,提问作者James T.
相关产品推荐
相关产品推荐

