题
我刚刚开始学习Unity3D游戏开发框架。当按下某个键时,我正在尝试使气缸“点”另一个对象。
public GameObject target;
void Update () {
if (Input.GetKeyDown(KeyCode.A)) {
???
}
}
我知道我必须使用目标和圆柱体的位置来改变圆柱体的旋转,但是我不知道如何改变,我认为我不了解这些四季度是什么。
我非常感谢任何帮助!谢谢,
曼努埃尔
解决方案
首先,您的圆柱体需要在气缸本地空间中的“前进”或其“指向方向”(我的话)的概念。为此,您可以假设(或视觉看) +x, +y, +z,-x,-y或-z;或者,您可以指定自己的任意向量指向其他方向。
其次,您需要到一个从圆柱体中心指向另一个对象中心的向量(您已经提到了这一点)。
现在,您可以使用Unity的 Quaternion.FromToRotation(...)
为了产生一个四元组,如果应用于圆柱体的世界旋转,将旋转指向方向,以朝其他物体的方向旋转。完毕。
请注意,如果您的圆柱体超过一对夫妇的深度变换,那么您可能需要稍微改变这种方法的机制,以说明父母的转变。
其他提示
是否有理由是为什么您要使用四元素,我会使用四元素。将四元素表示为矢量3的eular角度,这就是我们通常理解角度的方式。
Ducky所说的是正确的,但是,如果您在四合一方面遇到麻烦,我建议您不使用它们,直到您对这些角度组有更好的了解。
希望能帮助到你
不隶属于 StackOverflow