Skip to content

Commit 260508b

Browse files
committed
add tests for new functions
1 parent 122d3f0 commit 260508b

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

com.unity.formats.fbx/Tests/FbxTests/ModelExporterTest.cs

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,32 @@ public void TestBasics ()
8888
ModelExporter.ExportObject(GetRandomFbxFilePath(), character);
8989
Assert.AreEqual(meshCount, Object.FindObjectsOfType<Mesh>().Length);
9090
}
91+
92+
// Test euler to quaternion conversion
93+
{
94+
// EulerToQuaternionZXY
95+
var v = new Vector3(50, 45, 190);
96+
var quat = ModelExporter.EulerToQuaternionZXY(v);
97+
var unityQuat = Quaternion.Euler(v);
98+
Assert.That((float)quat.X, Is.EqualTo(unityQuat.x));
99+
Assert.That((float)quat.Y, Is.EqualTo(unityQuat.y));
100+
Assert.That((float)quat.Z, Is.EqualTo(unityQuat.z));
101+
Assert.That((float)quat.W, Is.EqualTo(unityQuat.w));
102+
103+
// EulerToQuaternionXYZ
104+
var fbxV = new FbxVector4(v.x, v.y, v.z);
105+
var xyzQuat = ModelExporter.EulerToQuaternionXYZ(fbxV);
106+
107+
// get the vector from the quaternion
108+
FbxAMatrix m = new FbxAMatrix();
109+
m.SetR(fbxV);
110+
var actualQuat = m.GetQ();
111+
112+
// since this quaternion is XYZ instead of ZXY, it should not match the quaternion
113+
// created with EulerToQuaternionZXY
114+
Assert.That(xyzQuat, Is.Not.EqualTo(quat));
115+
Assert.That(xyzQuat, Is.EqualTo(actualQuat));
116+
}
91117
}
92118

93119
[Test]

0 commit comments

Comments
 (0)