From a755dd854b40f22b2147d460e491dfe986a89199 Mon Sep 17 00:00:00 2001 From: nekobako Date: Fri, 4 Oct 2024 00:04:24 +0900 Subject: [PATCH] chore: add toggled delete shape changer test --- .../InitialStates/SCDefaultAnimation.cs | 33 +++- .../InitialStates/SCDefaultAnimation.prefab | 145 +++++++++++------- .../SCDefaultAnimationInactive.prefab | 83 ++++++++-- .../SCDefaultAnimationInverted.prefab | 85 ++++++++-- .../ShapeChanger/InitialStates/shape keys.fbx | Bin 13932 -> 14556 bytes 5 files changed, 261 insertions(+), 85 deletions(-) diff --git a/UnitTests~/ShapeChanger/InitialStates/SCDefaultAnimation.cs b/UnitTests~/ShapeChanger/InitialStates/SCDefaultAnimation.cs index c1061b3e..10606745 100644 --- a/UnitTests~/ShapeChanger/InitialStates/SCDefaultAnimation.cs +++ b/UnitTests~/ShapeChanger/InitialStates/SCDefaultAnimation.cs @@ -49,21 +49,29 @@ namespace ShapeChangerTests typeof(SkinnedMeshRenderer), "blendShape.key2" )); + Assert.IsNull(curve); // always off MenuItem (due to object disable), no curve should be generated + + curve = AnimationUtility.GetEditorCurve(clip, EditorCurveBinding.FloatCurve( + "test mesh", + typeof(SkinnedMeshRenderer), + "blendShape.key3" + )); // Always-on delete, no curve should be generated Assert.IsNull(curve); curve = AnimationUtility.GetEditorCurve(clip, EditorCurveBinding.FloatCurve( "test mesh", typeof(SkinnedMeshRenderer), - "blendShape.key3" + "blendShape.key4" )); // Always-on set, no curve should be generated Assert.IsNull(curve); // Check actual blendshape states - Assert.AreEqual(10.0f, smr.GetBlendShapeWeight(sharedMesh.GetBlendShapeIndex("key1")), 0.1f); - Assert.AreEqual(5.0f, smr.GetBlendShapeWeight(sharedMesh.GetBlendShapeIndex("key2")), 0.1f); + Assert.AreEqual(100.0f, smr.GetBlendShapeWeight(sharedMesh.GetBlendShapeIndex("key1")), 0.1f); + Assert.AreEqual(10.0f, smr.GetBlendShapeWeight(sharedMesh.GetBlendShapeIndex("key2")), 0.1f); Assert.AreEqual(100.0f, smr.GetBlendShapeWeight(sharedMesh.GetBlendShapeIndex("key3")), 0.1f); + Assert.AreEqual(10.0f, smr.GetBlendShapeWeight(sharedMesh.GetBlendShapeIndex("key4")), 0.1f); } [Test] @@ -96,29 +104,38 @@ namespace ShapeChangerTests typeof(SkinnedMeshRenderer), "blendShape.key1" )); - Assert.AreEqual(7.0f, curve.keys[0].value, 0.1f); - Assert.AreEqual(7.0f, curve.keys[1].value, 0.1f); + Assert.AreEqual(1.0f, curve.keys[0].value, 0.1f); + Assert.AreEqual(1.0f, curve.keys[1].value, 0.1f); curve = AnimationUtility.GetEditorCurve(clip, EditorCurveBinding.FloatCurve( "test mesh", typeof(SkinnedMeshRenderer), "blendShape.key2" )); + Assert.AreEqual(2.0f, curve.keys[0].value, 0.1f); + Assert.AreEqual(2.0f, curve.keys[1].value, 0.1f); + + curve = AnimationUtility.GetEditorCurve(clip, EditorCurveBinding.FloatCurve( + "test mesh", + typeof(SkinnedMeshRenderer), + "blendShape.key3" + )); // Always-on delete, no curve should be generated Assert.IsNull(curve); curve = AnimationUtility.GetEditorCurve(clip, EditorCurveBinding.FloatCurve( "test mesh", typeof(SkinnedMeshRenderer), - "blendShape.key3" + "blendShape.key4" )); // Always-on set, no curve should be generated Assert.IsNull(curve); // Check actual blendshape states - Assert.AreEqual(10.0f, smr.GetBlendShapeWeight(sharedMesh.GetBlendShapeIndex("key1")), 0.1f); - Assert.AreEqual(5.0f, smr.GetBlendShapeWeight(sharedMesh.GetBlendShapeIndex("key2")), 0.1f); + Assert.AreEqual(100.0f, smr.GetBlendShapeWeight(sharedMesh.GetBlendShapeIndex("key1")), 0.1f); + Assert.AreEqual(10.0f, smr.GetBlendShapeWeight(sharedMesh.GetBlendShapeIndex("key2")), 0.1f); Assert.AreEqual(100.0f, smr.GetBlendShapeWeight(sharedMesh.GetBlendShapeIndex("key3")), 0.1f); + Assert.AreEqual(10.0f, smr.GetBlendShapeWeight(sharedMesh.GetBlendShapeIndex("key4")), 0.1f); } } } \ No newline at end of file diff --git a/UnitTests~/ShapeChanger/InitialStates/SCDefaultAnimation.prefab b/UnitTests~/ShapeChanger/InitialStates/SCDefaultAnimation.prefab index 6dbfb2b7..d5cdc6d2 100644 --- a/UnitTests~/ShapeChanger/InitialStates/SCDefaultAnimation.prefab +++ b/UnitTests~/ShapeChanger/InitialStates/SCDefaultAnimation.prefab @@ -1,5 +1,57 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: +--- !u!1 &845949517001880487 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6688530167159020383} + - component: {fileID: 789842016049892754} + m_Layer: 0 + m_Name: ToggledDelete + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6688530167159020383 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 845949517001880487} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 8936933457054072598} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &789842016049892754 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 845949517001880487} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2db441f589c3407bb6fb5f02ff8ab541, type: 3} + m_Name: + m_EditorClassIdentifier: + m_inverted: 0 + m_shapes: + - Object: + referencePath: test mesh + targetObject: {fileID: 0} + ShapeName: key1 + ChangeType: 0 + Value: 100 --- !u!1 &1307328145036867423 GameObject: m_ObjectHideFlags: 0 @@ -45,14 +97,11 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_inverted: 0 - m_targetRenderer: - referencePath: - targetObject: {fileID: 0} m_shapes: - Object: referencePath: test mesh targetObject: {fileID: 0} - ShapeName: key2 + ShapeName: key3 ChangeType: 0 Value: 100 --- !u!1 &2598725701317979415 @@ -66,7 +115,7 @@ GameObject: - component: {fileID: 1861262250770563182} - component: {fileID: 8866671501173891171} m_Layer: 0 - m_Name: Toggled + m_Name: ToggledSet m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -100,14 +149,11 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_inverted: 0 - m_targetRenderer: - referencePath: - targetObject: {fileID: 0} m_shapes: - Object: referencePath: test mesh targetObject: {fileID: 0} - ShapeName: key1 + ShapeName: key2 ChangeType: 1 Value: 10 --- !u!1 &2845086157653980983 @@ -155,16 +201,13 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_inverted: 0 - m_targetRenderer: - referencePath: - targetObject: {fileID: 0} m_shapes: - Object: referencePath: test mesh targetObject: {fileID: 0} - ShapeName: key3 + ShapeName: key4 ChangeType: 1 - Value: 100 + Value: 10 --- !u!1 &6385483934583485188 GameObject: m_ObjectHideFlags: 0 @@ -212,9 +255,6 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_inverted: 0 - m_targetRenderer: - referencePath: - targetObject: {fileID: 0} m_shapes: - Object: referencePath: test mesh @@ -222,6 +262,12 @@ MonoBehaviour: ShapeName: key1 ChangeType: 1 Value: 20 + - Object: + referencePath: test mesh + targetObject: {fileID: 0} + ShapeName: key2 + ChangeType: 1 + Value: 20 --- !u!114 &2918390808850211981 MonoBehaviour: m_ObjectHideFlags: 0 @@ -297,6 +343,7 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: + - {fileID: 6688530167159020383} - {fileID: 1861262250770563182} - {fileID: 7471115643889882934} - {fileID: 110069860838053623} @@ -600,88 +647,75 @@ PrefabInstance: serializedVersion: 3 m_TransformParent: {fileID: 8936933457054072598} m_Modifications: - - target: {fileID: -8679921383154817045, guid: cd28f61dacdc2424d951194ff69ba154, - type: 3} + - target: {fileID: -8679921383154817045, guid: cd28f61dacdc2424d951194ff69ba154, type: 3} propertyPath: m_LocalPosition.x value: -0 objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: cd28f61dacdc2424d951194ff69ba154, - type: 3} + - target: {fileID: -8679921383154817045, guid: cd28f61dacdc2424d951194ff69ba154, type: 3} propertyPath: m_LocalPosition.y value: 0 objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: cd28f61dacdc2424d951194ff69ba154, - type: 3} + - target: {fileID: -8679921383154817045, guid: cd28f61dacdc2424d951194ff69ba154, type: 3} propertyPath: m_LocalPosition.z value: 0 objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: cd28f61dacdc2424d951194ff69ba154, - type: 3} + - target: {fileID: -8679921383154817045, guid: cd28f61dacdc2424d951194ff69ba154, type: 3} propertyPath: m_LocalRotation.w value: 0.7071067 objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: cd28f61dacdc2424d951194ff69ba154, - type: 3} + - target: {fileID: -8679921383154817045, guid: cd28f61dacdc2424d951194ff69ba154, type: 3} propertyPath: m_LocalRotation.x value: -0.7071068 objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: cd28f61dacdc2424d951194ff69ba154, - type: 3} + - target: {fileID: -8679921383154817045, guid: cd28f61dacdc2424d951194ff69ba154, type: 3} propertyPath: m_LocalRotation.y value: 0 objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: cd28f61dacdc2424d951194ff69ba154, - type: 3} + - target: {fileID: -8679921383154817045, guid: cd28f61dacdc2424d951194ff69ba154, type: 3} propertyPath: m_LocalRotation.z value: -0 objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: cd28f61dacdc2424d951194ff69ba154, - type: 3} + - target: {fileID: -8679921383154817045, guid: cd28f61dacdc2424d951194ff69ba154, type: 3} propertyPath: m_LocalEulerAnglesHint.x value: 0 objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: cd28f61dacdc2424d951194ff69ba154, - type: 3} + - target: {fileID: -8679921383154817045, guid: cd28f61dacdc2424d951194ff69ba154, type: 3} propertyPath: m_LocalEulerAnglesHint.y value: 0 objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: cd28f61dacdc2424d951194ff69ba154, - type: 3} + - target: {fileID: -8679921383154817045, guid: cd28f61dacdc2424d951194ff69ba154, type: 3} propertyPath: m_LocalEulerAnglesHint.z value: 0 objectReference: {fileID: 0} - - target: {fileID: -3887185075125053422, guid: cd28f61dacdc2424d951194ff69ba154, - type: 3} + - target: {fileID: -3887185075125053422, guid: cd28f61dacdc2424d951194ff69ba154, type: 3} propertyPath: m_DirtyAABB value: 0 objectReference: {fileID: 0} - - target: {fileID: -3887185075125053422, guid: cd28f61dacdc2424d951194ff69ba154, - type: 3} + - target: {fileID: -3887185075125053422, guid: cd28f61dacdc2424d951194ff69ba154, type: 3} propertyPath: m_AABB.m_Extent.x value: 1 objectReference: {fileID: 0} - - target: {fileID: -3887185075125053422, guid: cd28f61dacdc2424d951194ff69ba154, - type: 3} + - target: {fileID: -3887185075125053422, guid: cd28f61dacdc2424d951194ff69ba154, type: 3} propertyPath: m_AABB.m_Extent.y value: 1 objectReference: {fileID: 0} - - target: {fileID: -3887185075125053422, guid: cd28f61dacdc2424d951194ff69ba154, - type: 3} + - target: {fileID: -3887185075125053422, guid: cd28f61dacdc2424d951194ff69ba154, type: 3} propertyPath: m_BlendShapeWeights.Array.data[0] - value: 5 + value: 1 objectReference: {fileID: 0} - - target: {fileID: -3887185075125053422, guid: cd28f61dacdc2424d951194ff69ba154, - type: 3} + - target: {fileID: -3887185075125053422, guid: cd28f61dacdc2424d951194ff69ba154, type: 3} propertyPath: m_BlendShapeWeights.Array.data[1] - value: 6 + value: 2 objectReference: {fileID: 0} - - target: {fileID: -3887185075125053422, guid: cd28f61dacdc2424d951194ff69ba154, - type: 3} + - target: {fileID: -3887185075125053422, guid: cd28f61dacdc2424d951194ff69ba154, type: 3} propertyPath: m_BlendShapeWeights.Array.data[2] - value: 7 + value: 3 objectReference: {fileID: 0} - - target: {fileID: 919132149155446097, guid: cd28f61dacdc2424d951194ff69ba154, - type: 3} + - target: {fileID: -3887185075125053422, guid: cd28f61dacdc2424d951194ff69ba154, type: 3} + propertyPath: m_BlendShapeWeights.Array.data[3] + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 919132149155446097, guid: cd28f61dacdc2424d951194ff69ba154, type: 3} propertyPath: m_Name value: test mesh objectReference: {fileID: 0} @@ -692,7 +726,6 @@ PrefabInstance: m_SourcePrefab: {fileID: 100100000, guid: cd28f61dacdc2424d951194ff69ba154, type: 3} --- !u!4 &1326682634762807916 stripped Transform: - m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: cd28f61dacdc2424d951194ff69ba154, - type: 3} + m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: cd28f61dacdc2424d951194ff69ba154, type: 3} m_PrefabInstance: {fileID: 1577363430154308999} m_PrefabAsset: {fileID: 0} diff --git a/UnitTests~/ShapeChanger/InitialStates/SCDefaultAnimationInactive.prefab b/UnitTests~/ShapeChanger/InitialStates/SCDefaultAnimationInactive.prefab index e7640290..61ae83f9 100644 --- a/UnitTests~/ShapeChanger/InitialStates/SCDefaultAnimationInactive.prefab +++ b/UnitTests~/ShapeChanger/InitialStates/SCDefaultAnimationInactive.prefab @@ -11,7 +11,7 @@ GameObject: - component: {fileID: 7471115643889882934} - component: {fileID: 2015798673852064281} m_Layer: 0 - m_Name: AlwaysOffDelete + m_Name: AlwaysOnDelete m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -49,7 +49,7 @@ MonoBehaviour: - Object: referencePath: test mesh targetObject: {fileID: 0} - ShapeName: key2 + ShapeName: key3 ChangeType: 0 Value: 100 --- !u!1 &2598725701317979415 @@ -63,7 +63,7 @@ GameObject: - component: {fileID: 1861262250770563182} - component: {fileID: 8866671501173891171} m_Layer: 0 - m_Name: Toggled + m_Name: ToggledSet m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -101,7 +101,7 @@ MonoBehaviour: - Object: referencePath: test mesh targetObject: {fileID: 0} - ShapeName: key1 + ShapeName: key2 ChangeType: 1 Value: 10 --- !u!1 &2845086157653980983 @@ -115,7 +115,7 @@ GameObject: - component: {fileID: 110069860838053623} - component: {fileID: 8218581995269956798} m_Layer: 0 - m_Name: AlwaysOffSet + m_Name: AlwaysOnSet m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -153,9 +153,9 @@ MonoBehaviour: - Object: referencePath: test mesh targetObject: {fileID: 0} - ShapeName: key3 + ShapeName: key4 ChangeType: 1 - Value: 100 + Value: 10 --- !u!1 &6385483934583485188 GameObject: m_ObjectHideFlags: 0 @@ -210,6 +210,12 @@ MonoBehaviour: ShapeName: key1 ChangeType: 1 Value: 20 + - Object: + referencePath: test mesh + targetObject: {fileID: 0} + ShapeName: key2 + ChangeType: 1 + Value: 20 --- !u!114 &2918390808850211981 MonoBehaviour: m_ObjectHideFlags: 0 @@ -285,6 +291,7 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: + - {fileID: 464536767916049591} - {fileID: 1861262250770563182} - {fileID: 7471115643889882934} - {fileID: 110069860838053623} @@ -580,6 +587,58 @@ MonoBehaviour: contentType: 0 assetBundleUnityVersion: fallbackStatus: 0 +--- !u!1 &7562547418436279332 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 464536767916049591} + - component: {fileID: 6358814426442705688} + m_Layer: 0 + m_Name: ToggledDelete + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!4 &464536767916049591 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7562547418436279332} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 8936933457054072598} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &6358814426442705688 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7562547418436279332} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2db441f589c3407bb6fb5f02ff8ab541, type: 3} + m_Name: + m_EditorClassIdentifier: + m_inverted: 1 + m_shapes: + - Object: + referencePath: test mesh + targetObject: {fileID: 0} + ShapeName: key1 + ChangeType: 0 + Value: 100 --- !u!1001 &1577363430154308999 PrefabInstance: m_ObjectHideFlags: 0 @@ -642,15 +701,19 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: -3887185075125053422, guid: cd28f61dacdc2424d951194ff69ba154, type: 3} propertyPath: m_BlendShapeWeights.Array.data[0] - value: 5 + value: 1 objectReference: {fileID: 0} - target: {fileID: -3887185075125053422, guid: cd28f61dacdc2424d951194ff69ba154, type: 3} propertyPath: m_BlendShapeWeights.Array.data[1] - value: 6 + value: 2 objectReference: {fileID: 0} - target: {fileID: -3887185075125053422, guid: cd28f61dacdc2424d951194ff69ba154, type: 3} propertyPath: m_BlendShapeWeights.Array.data[2] - value: 7 + value: 3 + objectReference: {fileID: 0} + - target: {fileID: -3887185075125053422, guid: cd28f61dacdc2424d951194ff69ba154, type: 3} + propertyPath: m_BlendShapeWeights.Array.data[3] + value: 4 objectReference: {fileID: 0} - target: {fileID: 919132149155446097, guid: cd28f61dacdc2424d951194ff69ba154, type: 3} propertyPath: m_Name diff --git a/UnitTests~/ShapeChanger/InitialStates/SCDefaultAnimationInverted.prefab b/UnitTests~/ShapeChanger/InitialStates/SCDefaultAnimationInverted.prefab index daa2600d..340f94dd 100644 --- a/UnitTests~/ShapeChanger/InitialStates/SCDefaultAnimationInverted.prefab +++ b/UnitTests~/ShapeChanger/InitialStates/SCDefaultAnimationInverted.prefab @@ -11,7 +11,7 @@ GameObject: - component: {fileID: 7471115643889882934} - component: {fileID: 2015798673852064281} m_Layer: 0 - m_Name: AlwaysOffDelete + m_Name: AlwaysOnDelete m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -49,7 +49,59 @@ MonoBehaviour: - Object: referencePath: test mesh targetObject: {fileID: 0} - ShapeName: key2 + ShapeName: key3 + ChangeType: 0 + Value: 100 +--- !u!1 &1940967280447242034 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4642450200077033025} + - component: {fileID: 5772268708845477328} + m_Layer: 0 + m_Name: ToggledDelete + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!4 &4642450200077033025 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1940967280447242034} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 8936933457054072598} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &5772268708845477328 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1940967280447242034} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2db441f589c3407bb6fb5f02ff8ab541, type: 3} + m_Name: + m_EditorClassIdentifier: + m_inverted: 1 + m_shapes: + - Object: + referencePath: test mesh + targetObject: {fileID: 0} + ShapeName: key1 ChangeType: 0 Value: 100 --- !u!1 &2598725701317979415 @@ -63,7 +115,7 @@ GameObject: - component: {fileID: 1861262250770563182} - component: {fileID: 8866671501173891171} m_Layer: 0 - m_Name: Toggled + m_Name: ToggledSet m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -101,7 +153,7 @@ MonoBehaviour: - Object: referencePath: test mesh targetObject: {fileID: 0} - ShapeName: key1 + ShapeName: key2 ChangeType: 1 Value: 10 --- !u!1 &2845086157653980983 @@ -115,7 +167,7 @@ GameObject: - component: {fileID: 110069860838053623} - component: {fileID: 8218581995269956798} m_Layer: 0 - m_Name: AlwaysOffSet + m_Name: AlwaysOnSet m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -153,9 +205,9 @@ MonoBehaviour: - Object: referencePath: test mesh targetObject: {fileID: 0} - ShapeName: key3 + ShapeName: key4 ChangeType: 1 - Value: 100 + Value: 10 --- !u!1 &6385483934583485188 GameObject: m_ObjectHideFlags: 0 @@ -169,7 +221,7 @@ GameObject: - component: {fileID: 2918390808850211981} - component: {fileID: 664065153831629983} m_Layer: 0 - m_Name: InitialOnToggled + m_Name: InitialOffToggled m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -210,6 +262,12 @@ MonoBehaviour: ShapeName: key1 ChangeType: 1 Value: 20 + - Object: + referencePath: test mesh + targetObject: {fileID: 0} + ShapeName: key2 + ChangeType: 1 + Value: 20 --- !u!114 &2918390808850211981 MonoBehaviour: m_ObjectHideFlags: 0 @@ -285,6 +343,7 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: + - {fileID: 4642450200077033025} - {fileID: 1861262250770563182} - {fileID: 7471115643889882934} - {fileID: 110069860838053623} @@ -642,15 +701,19 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: -3887185075125053422, guid: cd28f61dacdc2424d951194ff69ba154, type: 3} propertyPath: m_BlendShapeWeights.Array.data[0] - value: 5 + value: 1 objectReference: {fileID: 0} - target: {fileID: -3887185075125053422, guid: cd28f61dacdc2424d951194ff69ba154, type: 3} propertyPath: m_BlendShapeWeights.Array.data[1] - value: 6 + value: 2 objectReference: {fileID: 0} - target: {fileID: -3887185075125053422, guid: cd28f61dacdc2424d951194ff69ba154, type: 3} propertyPath: m_BlendShapeWeights.Array.data[2] - value: 7 + value: 3 + objectReference: {fileID: 0} + - target: {fileID: -3887185075125053422, guid: cd28f61dacdc2424d951194ff69ba154, type: 3} + propertyPath: m_BlendShapeWeights.Array.data[3] + value: 4 objectReference: {fileID: 0} - target: {fileID: 919132149155446097, guid: cd28f61dacdc2424d951194ff69ba154, type: 3} propertyPath: m_Name diff --git a/UnitTests~/ShapeChanger/InitialStates/shape keys.fbx b/UnitTests~/ShapeChanger/InitialStates/shape keys.fbx index a20ddbf5e80a26d69fc15154f9d5b4af84302eb4..1bed8f77602901a28e23ef23afda37c2ad499693 100644 GIT binary patch delta 3155 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