public void LerpBoneWeight_AllIndicesDifferent() { BoneWeight first = new BoneWeight(); first.boneIndex0 = 0; first.boneIndex1 = 1; first.boneIndex2 = 2; first.boneIndex3 = 3; first.weight0 = 0.1f; first.weight1 = 0.2f; first.weight2 = 0.3f; first.weight3 = 0.4f; BoneWeight second = new BoneWeight(); second.boneIndex0 = 4; second.boneIndex1 = 5; second.boneIndex2 = 6; second.boneIndex3 = 7; second.weight0 = 0.4f; second.weight1 = 0.3f; second.weight2 = 0.2f; second.weight3 = 0.1f; BoneWeight result = EditableBoneWeightUtility.Lerp(first, second, 0f); Assert.IsTrue(ContainsChannel(result, 3, 0.4f), "Does not contain expected weights"); Assert.IsTrue(ContainsChannel(result, 2, 0.3f), "Does not contain expected weights"); Assert.IsTrue(ContainsChannel(result, 1, 0.2f), "Does not contain expected weights"); Assert.IsTrue(ContainsChannel(result, 0, 0.1f), "Does not contain expected weights"); result = EditableBoneWeightUtility.Lerp(first, second, 0.2f); Assert.IsTrue(ContainsChannel(result, 3, 0.319999993f), "Does not contain expected weights"); Assert.IsTrue(ContainsChannel(result, 2, 0.24000001f), "Does not contain expected weights"); Assert.IsTrue(ContainsChannel(result, 1, 0.159999996f), "Does not contain expected weights"); Assert.IsTrue(ContainsChannel(result, 4, 0.0800000057f), "Does not contain expected weights"); result = EditableBoneWeightUtility.Lerp(first, second, 0.5f); Assert.IsTrue(ContainsChannel(result, 4, 0.200000003f), "Does not contain expected weights"); Assert.IsTrue(ContainsChannel(result, 3, 0.200000003f), "Does not contain expected weights"); Assert.IsTrue(ContainsChannel(result, 2, 0.150000006f), "Does not contain expected weights"); Assert.IsTrue(ContainsChannel(result, 5, 0.150000006f), "Does not contain expected weights"); result = EditableBoneWeightUtility.Lerp(first, second, 0.8f); Assert.IsTrue(ContainsChannel(result, 4, 0.320000023f), "Does not contain expected weights"); Assert.IsTrue(ContainsChannel(result, 5, 0.24000001f), "Does not contain expected weights"); Assert.IsTrue(ContainsChannel(result, 6, 0.160000011f), "Does not contain expected weights"); Assert.IsTrue(ContainsChannel(result, 7, 0.0800000057f), "Does not contain expected weights"); result = EditableBoneWeightUtility.Lerp(first, second, 1f); Assert.IsTrue(ContainsChannel(result, 4, 0.4f), "Does not contain expected weights"); Assert.IsTrue(ContainsChannel(result, 5, 0.3f), "Does not contain expected weights"); Assert.IsTrue(ContainsChannel(result, 6, 0.2f), "Does not contain expected weights"); Assert.IsTrue(ContainsChannel(result, 7, 0.1f), "Does not contain expected weights"); }
public void LerpBoneWeight_SomeIndicesInCommon() { BoneWeight first = new BoneWeight(); first.boneIndex0 = 0; first.boneIndex1 = 1; first.boneIndex2 = 2; first.boneIndex3 = 3; first.weight0 = 0.1f; first.weight1 = 0.2f; first.weight2 = 0.3f; first.weight3 = 0.4f; BoneWeight second = new BoneWeight(); second.boneIndex0 = 0; second.boneIndex1 = 4; second.boneIndex2 = 2; second.boneIndex3 = 5; second.weight0 = 0.4f; second.weight1 = 0.3f; second.weight2 = 0.2f; second.weight3 = 0.1f; BoneWeight result = EditableBoneWeightUtility.Lerp(first, second, 0f); Assert.IsTrue(ContainsChannel(result, 3, 0.4f), "Does not contain expected weights"); Assert.IsTrue(ContainsChannel(result, 2, 0.3f), "Does not contain expected weights"); Assert.IsTrue(ContainsChannel(result, 1, 0.2f), "Does not contain expected weights"); Assert.IsTrue(ContainsChannel(result, 0, 0.1f), "Does not contain expected weights"); result = EditableBoneWeightUtility.Lerp(first, second, 0.2f); Assert.IsTrue(ContainsChannel(result, 3, 0.319999993f), "Does not contain expected weights"); Assert.IsTrue(ContainsChannel(result, 2, 0.279999971f), "Does not contain expected weights"); Assert.IsTrue(ContainsChannel(result, 1, 0.159999996f), "Does not contain expected weights"); Assert.IsTrue(ContainsChannel(result, 0, 0.159999996f), "Does not contain expected weights"); result = EditableBoneWeightUtility.Lerp(first, second, 0.5f); Assert.IsTrue(ContainsChannel(result, 0, 0.25000003f), "Does not contain expected weights"); Assert.IsTrue(ContainsChannel(result, 2, 0.249999985f), "Does not contain expected weights"); Assert.IsTrue(ContainsChannel(result, 3, 0.200000003f), "Does not contain expected weights"); Assert.IsTrue(ContainsChannel(result, 4, 0.150000006f), "Does not contain expected weights"); result = EditableBoneWeightUtility.Lerp(first, second, 0.8f); Assert.IsTrue(ContainsChannel(result, 0, 0.340000033f), "Does not contain expected weights"); Assert.IsTrue(ContainsChannel(result, 4, 0.239999995f), "Does not contain expected weights"); Assert.IsTrue(ContainsChannel(result, 2, 0.219999999f), "Does not contain expected weights"); Assert.IsTrue(ContainsChannel(result, 5, 0.0799999982f), "Does not contain expected weights"); result = EditableBoneWeightUtility.Lerp(first, second, 1f); Assert.IsTrue(ContainsChannel(result, 0, 0.4f), "Does not contain expected weights"); Assert.IsTrue(ContainsChannel(result, 4, 0.3f), "Does not contain expected weights"); Assert.IsTrue(ContainsChannel(result, 2, 0.2f), "Does not contain expected weights"); Assert.IsTrue(ContainsChannel(result, 5, 0.1f), "Does not contain expected weights"); }
public void LerpBoneWeight_AllIndicesDifferent() { var first = new BoneWeight() { boneIndex0 = 0, boneIndex1 = 1, boneIndex2 = 2, boneIndex3 = 3, weight0 = 0.1f, weight1 = 0.2f, weight2 = 0.3f, weight3 = 0.4f }; var second = new BoneWeight() { boneIndex0 = 4, boneIndex1 = 5, boneIndex2 = 6, boneIndex3 = 7, weight0 = 0.4f, weight1 = 0.3f, weight2 = 0.2f, weight3 = 0.1f }; var result = EditableBoneWeightUtility.Lerp(first, second, 0f); var expected = new BoneWeight() { boneIndex0 = 3, boneIndex1 = 2, boneIndex2 = 1, boneIndex3 = 0, weight0 = 0.4f, weight1 = 0.3f, weight2 = 0.2f, weight3 = 0.1f }; AssertBoneWeightContainsChannels(expected, result); result = EditableBoneWeightUtility.Lerp(first, second, 0.2f); expected = new BoneWeight() { boneIndex0 = 3, boneIndex1 = 2, boneIndex2 = 1, boneIndex3 = 4, weight0 = 0.319999993f, weight1 = 0.24000001f, weight2 = 0.159999996f, weight3 = 0.0800000057f }; AssertBoneWeightContainsChannels(expected, result); result = EditableBoneWeightUtility.Lerp(first, second, 0.5f); expected = new BoneWeight() { boneIndex0 = 4, boneIndex1 = 3, boneIndex2 = 2, boneIndex3 = 5, weight0 = 0.200000003f, weight1 = 0.200000003f, weight2 = 0.150000006f, weight3 = 0.150000006f }; AssertBoneWeightContainsChannels(expected, result); result = EditableBoneWeightUtility.Lerp(first, second, 0.8f); expected = new BoneWeight() { boneIndex0 = 4, boneIndex1 = 5, boneIndex2 = 6, boneIndex3 = 7, weight0 = 0.320000023f, weight1 = 0.24000001f, weight2 = 0.160000011f, weight3 = 0.0800000057f }; AssertBoneWeightContainsChannels(expected, result); result = EditableBoneWeightUtility.Lerp(first, second, 1f); expected = new BoneWeight() { boneIndex0 = 4, boneIndex1 = 5, boneIndex2 = 6, boneIndex3 = 7, weight0 = 0.4f, weight1 = 0.3f, weight2 = 0.2f, weight3 = 0.1f }; AssertBoneWeightContainsChannels(expected, result); }
public void LerpBoneWeight_SomeIndicesInCommon() { var first = new BoneWeight() { boneIndex0 = 0, boneIndex1 = 1, boneIndex2 = 2, boneIndex3 = 3, weight0 = 0.1f, weight1 = 0.2f, weight2 = 0.3f, weight3 = 0.4f }; var second = new BoneWeight() { boneIndex0 = 0, boneIndex1 = 4, boneIndex2 = 2, boneIndex3 = 5, weight0 = 0.4f, weight1 = 0.3f, weight2 = 0.2f, weight3 = 0.1f }; var result = EditableBoneWeightUtility.Lerp(first, second, 0f); var expected = new BoneWeight() { boneIndex0 = 3, boneIndex1 = 2, boneIndex2 = 1, boneIndex3 = 0, weight0 = 0.4f, weight1 = 0.3f, weight2 = 0.2f, weight3 = 0.1f }; AssertBoneWeightContainsChannels(expected, result); result = EditableBoneWeightUtility.Lerp(first, second, 0.2f); expected = new BoneWeight() { boneIndex0 = 3, boneIndex1 = 2, boneIndex2 = 1, boneIndex3 = 0, weight0 = 0.320000023f, weight1 = 0.280000001f, weight2 = 0.160000011f, weight3 = 0.160000011f }; AssertBoneWeightContainsChannels(expected, result); result = EditableBoneWeightUtility.Lerp(first, second, 0.5f); expected = new BoneWeight() { boneIndex0 = 0, boneIndex1 = 2, boneIndex2 = 3, boneIndex3 = 4, weight0 = 0.25000003f, weight1 = 0.249999985f, weight2 = 0.200000003f, weight3 = 0.150000006f }; AssertBoneWeightContainsChannels(expected, result); result = EditableBoneWeightUtility.Lerp(first, second, 0.8f); expected = new BoneWeight() { boneIndex0 = 0, boneIndex1 = 4, boneIndex2 = 2, boneIndex3 = 5, weight0 = 0.340000033f, weight1 = 0.239999995f, weight2 = 0.219999999f, weight3 = 0.0799999982f }; AssertBoneWeightContainsChannels(expected, result); result = EditableBoneWeightUtility.Lerp(first, second, 1f); Assert.AreEqual(0, result.boneIndex0, "Incorrect boneIndex"); Assert.AreEqual(4, result.boneIndex1, "Incorrect boneIndex"); Assert.AreEqual(2, result.boneIndex2, "Incorrect boneIndex"); Assert.AreEqual(5, result.boneIndex3, "Incorrect boneIndex"); Assert.AreEqual(0.4f, result.weight0, "Incorrect boneWeight"); Assert.AreEqual(0.3f, result.weight1, "Incorrect boneWeight"); Assert.AreEqual(0.2f, result.weight2, "Incorrect boneWeight"); Assert.AreEqual(0.1f, result.weight3, "Incorrect boneWeight"); expected = new BoneWeight() { boneIndex0 = 0, boneIndex1 = 4, boneIndex2 = 2, boneIndex3 = 5, weight0 = 0.4f, weight1 = 0.3f, weight2 = 0.2f, weight3 = 0.1f }; AssertBoneWeightContainsChannels(expected, result); }
public void LerpBoneWeight_AllIndicesInCommon() { var first = new BoneWeight() { boneIndex0 = 0, boneIndex1 = 1, boneIndex2 = 2, boneIndex3 = 3, weight0 = 0.1f, weight1 = 0.2f, weight2 = 0.3f, weight3 = 0.4f }; var second = new BoneWeight() { boneIndex0 = 0, boneIndex1 = 1, boneIndex2 = 2, boneIndex3 = 3, weight0 = 0.4f, weight1 = 0.3f, weight2 = 0.2f, weight3 = 0.1f }; var result = EditableBoneWeightUtility.Lerp(first, second, 0f); var expected = new BoneWeight() { boneIndex0 = 3, boneIndex1 = 2, boneIndex2 = 1, boneIndex3 = 0, weight0 = 0.4f, weight1 = 0.3f, weight2 = 0.2f, weight3 = 0.1f }; AssertBoneWeightContainsChannels(expected, result); result = EditableBoneWeightUtility.Lerp(first, second, 0.2f); expected = new BoneWeight() { boneIndex0 = 3, boneIndex1 = 2, boneIndex2 = 1, boneIndex3 = 0, weight0 = 0.340000033f, weight1 = 0.279999942f, weight2 = 0.219999984f, weight3 = 0.159999982f }; AssertBoneWeightContainsChannels(expected, result); result = EditableBoneWeightUtility.Lerp(first, second, 0.5f); expected = new BoneWeight() { boneIndex0 = 0, boneIndex1 = 2, boneIndex2 = 3, boneIndex3 = 1, weight0 = 0.25000003f, weight1 = 0.25f, weight2 = 0.25f, weight3 = 0.249999985f }; AssertBoneWeightContainsChannels(expected, result); result = EditableBoneWeightUtility.Lerp(first, second, 0.8f); expected = new BoneWeight() { boneIndex0 = 0, boneIndex1 = 1, boneIndex2 = 2, boneIndex3 = 3, weight0 = 0.340000033f, weight1 = 0.279999971f, weight2 = 0.220000014f, weight3 = 0.159999996f }; AssertBoneWeightContainsChannels(expected, result); result = EditableBoneWeightUtility.Lerp(first, second, 1f); expected = new BoneWeight() { boneIndex0 = 0, boneIndex1 = 1, boneIndex2 = 2, boneIndex3 = 3, weight0 = 0.4f, weight1 = 0.3f, weight2 = 0.2f, weight3 = 0.1f }; AssertBoneWeightContainsChannels(expected, result); }