如何从网格获取对象的旋转/方向?

时间:2019-02-20 09:56:24

标签: unity3d rotation mesh quaternions

我尝试了解对象及其网格的旋转/方向。让我解释一下,我在Unity中导入了一些OBJ。这是相同的零件,但位置不同(从同一出口商出口)。 对于职位来说,这没什么大不了的,但是对于轮换来说,这不是一个相同的问题。

这两个螺母的例子。是同一对象,但旋转不同:

enter image description here

enter image description here

在我的Unity变换中,所有值都是position(0,0,0),rotation(0,0,0),scale(1、1,1)。 因此,我尝试使用此代码来使同一对象的法线旋转:

Vector3 normalOne = ObjectOne.GetComponent<MeshFilter>().sharedMesh.normals[0];
Vector3 normalTwo = ObjectTwo.GetComponent<MeshFilter>().sharedMesh.normals[0];

Quaternion q = Quaternion.FromToRotation(normalOne, normalTwo);
ObjectOne.transform.rotation = q * ObjectOne.transform.rotation;

但是它不起作用。这是操作的结果: enter image description here

有人能做到这一点吗?

谢谢您的帮助。

0 个答案:

没有答案