Skip to content

Commit 70cc8ea

Browse files
committed
add aim constraint export test
1 parent 9f14ee8 commit 70cc8ea

File tree

2 files changed

+32
-6
lines changed

2 files changed

+32
-6
lines changed

Assets/FbxExporters/Editor/FbxExporter.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1620,13 +1620,13 @@ protected bool ExportAimConstraint(AimConstraint uniAimConstraint, FbxScene fbxS
16201620
throw new System.NotImplementedException();
16211621
}
16221622
aimConstraint.WorldUpType.Set((int)worldUpType);
1623-
1624-
var aimVector = ConvertToRightHanded(uniAimConstraint.aimVector, UnitScaleFactor);
1623+
1624+
var aimVector = ConvertToRightHanded(uniAimConstraint.aimVector);
16251625
aimConstraint.AimVector.Set(new FbxDouble3(aimVector.X, aimVector.Y, aimVector.Z));
1626-
var upVector = ConvertToRightHanded(uniAimConstraint.upVector, UnitScaleFactor);
1627-
aimConstraint.UpVector.Set(new FbxDouble3(upVector.X, upVector.Y, upVector.Z));
1628-
var worldUpVector = ConvertToRightHanded(uniAimConstraint.worldUpVector, UnitScaleFactor);
1629-
aimConstraint.WorldUpVector.Set(new FbxDouble3(worldUpVector.X, worldUpVector.Y, worldUpVector.Z));
1626+
var upVector = uniAimConstraint.upVector;
1627+
aimConstraint.UpVector.Set(new FbxDouble3(upVector.x, upVector.y, upVector.z));
1628+
var worldUpVector = uniAimConstraint.worldUpVector;
1629+
aimConstraint.WorldUpVector.Set(new FbxDouble3(worldUpVector.x, worldUpVector.y, worldUpVector.z));
16301630

16311631
if (uniAimConstraint.worldUpObject && MapUnityObjectToFbxNode.ContainsKey(uniAimConstraint.worldUpObject.gameObject))
16321632
{

Assets/FbxExporters/Editor/UnitTests/FbxConstraintTest.cs

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,33 @@ public void TestParentConstraintExport()
145145
[Test]
146146
public void TestAimConstraintExport()
147147
{
148+
List<Object> toExport;
149+
var aimConstraint = CreateConstraint<AimConstraint>(out toExport);
150+
151+
GameObject worldUpObject = new GameObject("worldUpObject");
152+
worldUpObject.transform.localEulerAngles = new Vector3(29, 190, 34);
153+
toExport.Add(worldUpObject);
154+
155+
aimConstraint.aimVector = new Vector3(20, 170, 5);
156+
aimConstraint.rotationAtRest = new Vector3(230, 29, 49);
157+
aimConstraint.rotationAxis = Axis.X | Axis.Y | Axis.Z;
158+
aimConstraint.rotationOffset = new Vector3(190, 120, 30);
159+
aimConstraint.upVector = new Vector3(50, 280, 10);
160+
aimConstraint.worldUpType = AimConstraint.WorldUpType.ObjectRotationUp;
161+
aimConstraint.worldUpObject = worldUpObject.transform;
162+
aimConstraint.worldUpVector = new Vector3(94, 38, 299);
148163

164+
// export and compare
165+
var expConstraint = ExportAndCheckConstraint(aimConstraint, toExport.ToArray());
166+
167+
Assert.That(expConstraint.aimVector, Is.EqualTo(aimConstraint.aimVector));
168+
Assert.That(AreRotationEqual(expConstraint.rotationAtRest, aimConstraint.rotationAtRest), Is.True);
169+
Assert.That(expConstraint.rotationAxis, Is.EqualTo(aimConstraint.rotationAxis));
170+
Assert.That(AreRotationEqual(expConstraint.rotationOffset, aimConstraint.rotationOffset), Is.True);
171+
Assert.That(expConstraint.upVector, Is.EqualTo(aimConstraint.upVector));
172+
Assert.That(expConstraint.worldUpType, Is.EqualTo(aimConstraint.worldUpType));
173+
Assert.That(expConstraint.worldUpObject.transform, Is.EqualTo(aimConstraint.worldUpObject.transform));
174+
Assert.That(expConstraint.worldUpVector, Is.EqualTo(aimConstraint.worldUpVector));
149175
}
150176

151177

0 commit comments

Comments
 (0)