我硬编码了一个moba风格的相机。当光标靠近屏幕边缘时,摄像机将在整个 XZ 平面中移动。 正面视图
当我实现轨道相机功能时出现了问题。一旦摄像机朝角色的另一侧移动,用光标移动摄像机就不再很直观了。
相反的视图
这是因为相机的悬停移动被粗频编码为在光标接近上边缘时增加 Z 值,当光标靠近下边缘时减小 Z 值,在光标靠近右边缘时增加 X 值,在光标靠近左边缘时减小 X 值。
如何编写摄像机的悬停(XZ 平面(脚本,使其始终相对于自身移动(上边缘 = 向前,下边缘 = 后退,左边缘 = 左,右边缘 = 右(相对于视角?感谢您考虑我的问题。
如果没有代码示例,你很难知道你需要把它放在哪里,但你应该利用 Mathf.sin 和 Mathf.cos 来计算每个轴的移动量。
请记住,在计算偏移时,您需要在两个轴上工作,例如,您在 x 轴上的平移需要使用 x 输入的 cos 和 z 输入的 sin,反之亦然,具体取决于您的实际实现。