在unity3d中创建一个圆柱体点
本文关键字:一个 圆柱体 unity3d 创建 | 更新日期: 2023-09-27 18:07:23
我刚刚开始学习Unity3D游戏开发框架。当按下某个键时,我试图使圆柱体"点"另一个对象。
public GameObject target;
void Update () {
if (Input.GetKeyDown(KeyCode.A)) {
???
}
}
我知道我必须使用目标和圆柱体的位置来改变圆柱体的旋转,但我不知道如何,我不认为我理解那些四元数是什么。
我真的很感激任何帮助!谢谢你,
Manuel
首先,您的圆柱体需要在圆柱体的局部空间中有一些"向前"或"指向"的概念。为此,您可以假设(或直观地看到)+X, +Y, +Z, -X, -Y或-Z;或者你也可以指定指向其他方向的任意向量
第二,你需要一个从你的圆柱体中心指向另一个物体中心的向量(你已经提到过了)。
现在,你可以使用Unity的Quaternion.FromToRotation(...)
来生成一个四元数,如果应用到你的圆柱体的世界旋转,将旋转你的指向方向在你的其他对象的方向。做。
请注意,如果您的圆柱体深度超过两个转换,那么您可能需要稍微更改此方法的机制,以可能地考虑父类的转换。
是否有一个原因,为什么你使用四元数我会使用四元数。欧拉角将四元数表示为一个向量,这是我们通常理解角度的方式。
Ducky所说的是正确的,但是如果你有四元数的麻烦,我建议不要使用它们,直到你对这些角度集有更好的理解。
希望有所帮助