首页 文章

父动画正在影响主摄像机旋转(是小孩)Unity

提问于
浏览
0

我已经开发了一个统一的转轮游戏,我已经完成了编码部分,但是当我将动画应用到我的角色对象(在z轴上旋转)时,相机也随之旋转 . 那么,我怎么能停止主旋翼对象的主旋转主旋转 . 还 i don't want any change in rotation of Main Camera

主摄像头转换: -

  • 初始位置是(3,13,-28) .

  • 初始轮换是(20,0,0) .

  • 初始比例为(0,0,0) .

我在一个单独的脚本中尝试过的一些代码将它附加到主摄像头: -

  • transform.parent = null;

  • Camera.main.transform.rotation = Quaternion.identity;

  • Camera.main.transform.eulerAngles = new Vector3(20,0f,0f);

  • distanceTraveled1 = new Vector3(runnercode.distanceTraveled,0f,0f);

  • Camera.main.transform.eulerAngles = new Vector3(runnercode.distanceTraveled,0f,0f);(有效,但旋转总是在变化)

有解决方案吗我使用C#脚本

1 回答

  • 0

    如果要确保在渲染帧之前更正旋转,则代码需要在 LateUpdate 中 . 但是你有没有考虑制作一个单独的"FollowObject"脚本,因此除了位置之外,相机不需要父/子关系的任何其他语义 .

    我不认为你的方向代码是对的 . 您将距离视为一个角度 . eulerAngles 指的是度x / y / z,而不是方向向量 . 要使用方向向量,您可以指定 transform.forward = direction; . 你究竟想看什么方向?走向什么?每帧相同(任意)方向? transform.LookAt()transform.rotation = storedRotation 是解决这些问题的简单方法 .

    编辑:为了完全清楚,我认为将相机连接到角色是一个坏主意 . 你可能会遇到生涩的运动和不正确的位置问题 .

相关问题