【发布时间】:2019-02-07 21:29:17
【问题描述】:
我的玩家的胸骨可以在瞄准时旋转。
现在我想评估我应该让胸部旋转多少(最小和最大旋转)。
为此,我允许所有角度的旋转并查看检查器。
例如,胸部应可向左旋转的最小值应为 Y=-15。 在 Y=-15(在 Inspector 中看到),它看起来仍然很自然。
现在我想编写这个代码。
令我惊讶的是,chest.localRotation.Y 与 Inspector 显示的值完全不同。
然后我查看了胸部变量并扩展了视图。 我只是看不到 Inspector 显示的旋转值。
请问在这种情况下我该怎么办?
我正在使用它来旋转骨骼:
Chest.LookAt(ChestLookTarget.position);
Chest.rotation = Chest.rotation * Quaternion.Euler(Offset);
【问题讨论】:
-
这是
localRotation.. 或者更好的说法是Quaternion值的许多可能的欧拉角表示之一。所以transform.localRotation = Quaternion.EulerAngles(17.815f, -15.395f, 0.746f);和transform.localRotation = Quaternion.EulerAngles(5.0f, 316.9f, 352.4f)应该有相同的结果 -
感谢您提供的信息。你能建议我应该如何处理这个吗?我的意思是我需要以某种方式限制旋转。 :-)
-
你可以试试
if (transform.localRotation.Y < value) { transform.localRotation.Y = value;} -
@nothing 不,OP 已经说过他尝试过,并且.. 阅读和设置
Quaternion值通常不是一个好主意!Quaternions 有 4 个值x、y、z和w,它们的总和始终为1。
标签: unity3d