【发布时间】:2018-10-16 08:08:59
【问题描述】:
我正在制作一款你以第一人称视角玩的游戏。我想通过添加头部摆动效果让它变得有点现实。这已经包含在我正在使用的标准资产包“角色”中,但我也在尝试调整玩家头部的旋转,使其在行走/跑步时左右倾斜。
由于某种原因,当我将四元数应用于相机的局部旋转时,z 值介于 -1.0 和 1.0 之间,但这不是我想要的。
我尝试将 z 值乘以 360,但它仍然给我 '1' 作为最大值。
有人知道如何解决这个问题吗?
【问题讨论】:
-
除非您知道
Quaternions 是如何由内而外地工作的,否则您不应该干预各个值,因为它们无论如何都不会直接存储角度值。您可能想查看transform.eulerAngles,它允许您像编辑器中那样使用 3 个角度 XYZ。 -
我也试过这个,但是我如何将它应用到局部旋转,因为这需要四元数而不是 Vector3
-
预期为四元数分量的最大/最小值 (-1, 1)。它保持旋转弧度的大小/2。单独改变四元数的组件是不正确的旋转对象的方法。
标签: c# unity3d scripting camera quaternions