From cdb31634c77c3b1ebd7e7e3f741200c203ccbcdb Mon Sep 17 00:00:00 2001 From: "1605296300@qq.com" Date: Mon, 22 Aug 2022 01:25:59 +0800 Subject: [PATCH] optimize performance --- .../{Resources/test.anim.meta => Editor.meta} | 6 +- Assets/{Scripts => Editor}/Select.cs | 0 Assets/{Scripts => Editor}/Select.cs.meta | 0 Assets/Prefabs/UmaContainer_Slider.prefab | 616 ++++++++++++++++++ .../Prefabs/UmaContainer_Slider.prefab.meta | 7 + Assets/Resources/test.anim | 205 ------ Assets/Scenes/Version2.unity | 67 ++ Assets/Scripts/UI/UmaUIContainer.cs | 2 +- Assets/Scripts/UmaViewerBuilder.cs | 3 +- Assets/Scripts/UmaViewerUI.cs | 47 +- .../Scripts/umamusume/FaceDrivenKeyTarget.cs | 127 ++-- Assets/Scripts/umamusume/FaceLoadCallBack.cs | 13 + .../umamusume/FaceLoadCallBack.cs.meta | 11 + Assets/Scripts/umamusume/FacialMorph.cs | 1 + Assets/Scripts/umamusume/GallopExtras.cs | 1 + ProjectSettings/ProjectSettings.asset | 2 +- ProjectSettings/UnityConnectSettings.asset | 2 + 17 files changed, 847 insertions(+), 263 deletions(-) rename Assets/{Resources/test.anim.meta => Editor.meta} (52%) rename Assets/{Scripts => Editor}/Select.cs (100%) rename Assets/{Scripts => Editor}/Select.cs.meta (100%) create mode 100644 Assets/Prefabs/UmaContainer_Slider.prefab create mode 100644 Assets/Prefabs/UmaContainer_Slider.prefab.meta delete mode 100644 Assets/Resources/test.anim create mode 100644 Assets/Scripts/umamusume/FaceLoadCallBack.cs create mode 100644 Assets/Scripts/umamusume/FaceLoadCallBack.cs.meta diff --git a/Assets/Resources/test.anim.meta b/Assets/Editor.meta similarity index 52% rename from Assets/Resources/test.anim.meta rename to Assets/Editor.meta index ac8d705..11dfd11 100644 --- a/Assets/Resources/test.anim.meta +++ b/Assets/Editor.meta @@ -1,8 +1,8 @@ fileFormatVersion: 2 -guid: e9146c1290a6ccb42b6a8c21281aaa23 -NativeFormatImporter: +guid: a65fa8501f4646c47a73145499fedea6 +folderAsset: yes +DefaultImporter: externalObjects: {} - mainObjectFileID: 7400000 userData: assetBundleName: assetBundleVariant: diff --git a/Assets/Scripts/Select.cs b/Assets/Editor/Select.cs similarity index 100% rename from Assets/Scripts/Select.cs rename to Assets/Editor/Select.cs diff --git a/Assets/Scripts/Select.cs.meta b/Assets/Editor/Select.cs.meta similarity index 100% rename from Assets/Scripts/Select.cs.meta rename to Assets/Editor/Select.cs.meta diff --git a/Assets/Prefabs/UmaContainer_Slider.prefab b/Assets/Prefabs/UmaContainer_Slider.prefab new file mode 100644 index 0000000..412129c --- /dev/null +++ b/Assets/Prefabs/UmaContainer_Slider.prefab @@ -0,0 +1,616 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &369546330836436840 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2408878838658839988} + - component: {fileID: 9166705304021389345} + m_Layer: 5 + m_Name: Slider + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2408878838658839988 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 369546330836436840} + 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_Children: + - {fileID: 4712089599047600083} + - {fileID: 7409601430697165086} + - {fileID: 644994751188197174} + m_Father: {fileID: 3084157013075778163} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: -15} + m_SizeDelta: {x: -10, y: -30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &9166705304021389345 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 369546330836436840} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 67db9e8f0e2ae9c40bc1e2b64352a6b4, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 7057330678796869957} + m_FillRect: {fileID: 2727902431778973659} + m_HandleRect: {fileID: 2521568540042460092} + m_Direction: 0 + m_MinValue: 0 + m_MaxValue: 1 + m_WholeNumbers: 0 + m_Value: 0 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] +--- !u!1 &648541853701480401 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3084157013075778163} + - component: {fileID: 8271955219447533037} + - component: {fileID: 5050386386052281307} + - component: {fileID: 937176245766373427} + m_Layer: 5 + m_Name: UmaContainer_Slider + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3084157013075778163 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 648541853701480401} + 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_Children: + - {fileID: 8301924667655547497} + - {fileID: 2408878838658839988} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 180, y: 60} + m_Pivot: {x: 0, y: 1} +--- !u!222 &8271955219447533037 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 648541853701480401} + m_CullTransparentMesh: 1 +--- !u!114 &5050386386052281307 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 648541853701480401} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0.392} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &937176245766373427 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 648541853701480401} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 908bc558174093149b89e5c25c1be244, type: 3} + m_Name: + m_EditorClassIdentifier: + Name: {fileID: 857826377799910844} + Button: {fileID: 0} + Slider: {fileID: 9166705304021389345} +--- !u!1 &694429400078501214 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2521568540042460092} + - component: {fileID: 2552269795170362461} + - component: {fileID: 7057330678796869957} + m_Layer: 5 + m_Name: Handle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2521568540042460092 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 694429400078501214} + 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_Children: [] + m_Father: {fileID: 644994751188197174} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 30, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &2552269795170362461 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 694429400078501214} + m_CullTransparentMesh: 1 +--- !u!114 &7057330678796869957 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 694429400078501214} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10913, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &982964401910965352 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2727902431778973659} + - component: {fileID: 2923791439506454284} + - component: {fileID: 4296256391214564411} + m_Layer: 5 + m_Name: Fill + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2727902431778973659 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 982964401910965352} + 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_Children: [] + m_Father: {fileID: 7409601430697165086} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 10, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &2923791439506454284 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 982964401910965352} + m_CullTransparentMesh: 1 +--- !u!114 &4296256391214564411 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 982964401910965352} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &2337332362480813945 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7409601430697165086} + m_Layer: 5 + m_Name: Fill Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7409601430697165086 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2337332362480813945} + 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_Children: + - {fileID: 2727902431778973659} + m_Father: {fileID: 2408878838658839988} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.25} + m_AnchorMax: {x: 1, y: 0.75} + m_AnchoredPosition: {x: -5, y: 0} + m_SizeDelta: {x: -20, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &5740144667269730813 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4712089599047600083} + - component: {fileID: 5340355483114359107} + - component: {fileID: 2158071305240783641} + m_Layer: 5 + m_Name: Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4712089599047600083 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5740144667269730813} + 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_Children: [] + m_Father: {fileID: 2408878838658839988} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.25} + m_AnchorMax: {x: 1, y: 0.75} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &5340355483114359107 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5740144667269730813} + m_CullTransparentMesh: 1 +--- !u!114 &2158071305240783641 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5740144667269730813} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!1 &6512431807564026941 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8301924667655547497} + - component: {fileID: 3739219845069399070} + - component: {fileID: 857826377799910844} + m_Layer: 5 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8301924667655547497 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6512431807564026941} + 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_Children: [] + m_Father: {fileID: 3084157013075778163} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 10, y: 15} + m_SizeDelta: {x: -20, y: -30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &3739219845069399070 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6512431807564026941} + m_CullTransparentMesh: 1 +--- !u!114 &857826377799910844 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6512431807564026941} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: New Text + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4278190080 + m_fontColor: {r: 0, g: 0, b: 0, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 15 + m_fontSizeBase: 15 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &7917010209046671414 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 644994751188197174} + m_Layer: 5 + m_Name: Handle Slide Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &644994751188197174 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7917010209046671414} + 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_Children: + - {fileID: 2521568540042460092} + m_Father: {fileID: 2408878838658839988} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -20, y: 0} + m_Pivot: {x: 0.5, y: 0.5} diff --git a/Assets/Prefabs/UmaContainer_Slider.prefab.meta b/Assets/Prefabs/UmaContainer_Slider.prefab.meta new file mode 100644 index 0000000..577cfc6 --- /dev/null +++ b/Assets/Prefabs/UmaContainer_Slider.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 75962a0f68455494db9858ad95fb4ae8 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/test.anim b/Assets/Resources/test.anim deleted file mode 100644 index aafd9aa..0000000 --- a/Assets/Resources/test.anim +++ /dev/null @@ -1,205 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!74 &7400000 -AnimationClip: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: test - serializedVersion: 7 - m_Legacy: 0 - m_Compressed: 0 - m_UseHighQualityCurve: 1 - m_RotationCurves: [] - m_CompressedRotationCurves: [] - m_EulerCurves: [] - m_PositionCurves: - - curve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: {x: 0, y: -0.99102783, z: 0} - inSlope: {x: 0, y: 18.532507, z: 0} - outSlope: {x: 0, y: 18.532507, z: 0} - tangentMode: 0 - weightedMode: 0 - inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} - outWeight: {x: 0.33333334, y: 0.06983637, z: 0.33333334} - - serializedVersion: 3 - time: 0.06666667 - value: {x: 0, y: 0.20852092, z: 0} - inSlope: {x: 0, y: Infinity, z: 0} - outSlope: {x: 0, y: Infinity, z: 0} - tangentMode: 0 - weightedMode: 3 - inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} - outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} - - serializedVersion: 3 - time: 0.16666667 - value: {x: 0, y: 1, z: 0} - inSlope: {x: 0, y: 0, z: 0} - outSlope: {x: 0, y: 0, z: 0} - tangentMode: 0 - weightedMode: 0 - inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} - outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} - - serializedVersion: 3 - time: 1 - value: {x: 0, y: 1, z: 0} - inSlope: {x: 0, y: 0, z: 0} - outSlope: {x: 0, y: 0, z: 0} - tangentMode: 0 - weightedMode: 0 - inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} - outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - path: - m_ScaleCurves: [] - m_FloatCurves: [] - m_PPtrCurves: [] - m_SampleRate: 60 - m_WrapMode: 0 - m_Bounds: - m_Center: {x: 0, y: 0, z: 0} - m_Extent: {x: 0, y: 0, z: 0} - m_ClipBindingConstant: - genericBindings: - - serializedVersion: 2 - path: 0 - attribute: 1 - script: {fileID: 0} - typeID: 4 - customType: 0 - isPPtrCurve: 0 - pptrCurveMapping: [] - m_AnimationClipSettings: - serializedVersion: 2 - m_AdditiveReferencePoseClip: {fileID: 0} - m_AdditiveReferencePoseTime: 0 - m_StartTime: 0 - m_StopTime: 1 - m_OrientationOffsetY: 0 - m_Level: 0 - m_CycleOffset: 0 - m_HasAdditiveReferencePose: 0 - m_LoopTime: 1 - m_LoopBlend: 0 - m_LoopBlendOrientation: 0 - m_LoopBlendPositionY: 0 - m_LoopBlendPositionXZ: 0 - m_KeepOriginalOrientation: 0 - m_KeepOriginalPositionY: 1 - m_KeepOriginalPositionXZ: 0 - m_HeightFromFeet: 0 - m_Mirror: 0 - m_EditorCurves: - - curve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 136 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 136 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - attribute: m_LocalPosition.x - path: - classID: 4 - script: {fileID: 0} - - curve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: -0.99102783 - inSlope: 18.532507 - outSlope: 18.532507 - tangentMode: 0 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.06983637 - - serializedVersion: 3 - time: 0.06666667 - value: 0.20852092 - inSlope: Infinity - outSlope: Infinity - tangentMode: 1 - weightedMode: 3 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 0.16666667 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 1 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 1 - inSlope: 0 - outSlope: 0 - tangentMode: 136 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - attribute: m_LocalPosition.y - path: - classID: 4 - script: {fileID: 0} - - curve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 136 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 1 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 136 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - attribute: m_LocalPosition.z - path: - classID: 4 - script: {fileID: 0} - m_EulerEditorCurves: [] - m_HasGenericRootTransform: 1 - m_HasMotionFloatCurves: 0 - m_Events: [] diff --git a/Assets/Scenes/Version2.unity b/Assets/Scenes/Version2.unity index f393e21..ccf93da 100644 --- a/Assets/Scenes/Version2.unity +++ b/Assets/Scenes/Version2.unity @@ -13750,6 +13750,7 @@ GameObject: - component: {fileID: 2039749204} - component: {fileID: 2039749203} - component: {fileID: 2039749202} + - component: {fileID: 2039749206} m_Layer: 0 m_Name: box m_TagString: Untagged @@ -13833,6 +13834,72 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 6 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &2039749206 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2039749201} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f9ac8d30c6a0d9642a11e5be4c440740, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Root: {fileID: 0} + m_UpdateRate: 60 + m_UpdateMode: 3 + m_Damping: 0.1 + m_DampingDistrib: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_Elasticity: 0.1 + m_ElasticityDistrib: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_Stiffness: 0.1 + m_StiffnessDistrib: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_Inert: 0 + m_InertDistrib: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_Friction: 0 + m_FrictionDistrib: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_Radius: 0 + m_RadiusDistrib: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_EndLength: 0 + m_EndOffset: {x: 0, y: 0, z: 0} + m_Gravity: {x: 0, y: 0, z: 0} + m_Force: {x: 0, y: 0, z: 0} + m_Exclusions: [] + m_FreezeAxis: 0 + m_DistantDisable: 0 + m_ReferenceObject: {fileID: 0} + m_DistanceToObject: 20 --- !u!1 &2043122521 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Scripts/UI/UmaUIContainer.cs b/Assets/Scripts/UI/UmaUIContainer.cs index b9de7ae..734e50e 100644 --- a/Assets/Scripts/UI/UmaUIContainer.cs +++ b/Assets/Scripts/UI/UmaUIContainer.cs @@ -7,6 +7,6 @@ public class UmaUIContainer : MonoBehaviour { public TMPro.TextMeshProUGUI Name; public Button Button; - + public Slider Slider; } diff --git a/Assets/Scripts/UmaViewerBuilder.cs b/Assets/Scripts/UmaViewerBuilder.cs index 6f2281a..84aec78 100644 --- a/Assets/Scripts/UmaViewerBuilder.cs +++ b/Assets/Scripts/UmaViewerBuilder.cs @@ -226,6 +226,7 @@ public class UmaViewerBuilder : MonoBehaviour var firsehead = CurrentContainer.Heads[0]; var FaceDriven = firsehead.GetComponent()._assetTable.list.Find(a => { return a.Key == "facial_target"; }).Value as FaceDrivenKeyTarget; var newFaceDriven = firsehead.AddComponent(); + newFaceDriven.callBack = UmaViewerUI.Instance; newFaceDriven._eyebrowTarget = FaceDriven._eyebrowTarget; newFaceDriven._eyeTarget = FaceDriven._eyeTarget; newFaceDriven._mouthTarget = FaceDriven._mouthTarget; @@ -391,7 +392,7 @@ public class UmaViewerBuilder : MonoBehaviour object asset = bundle.LoadAsset(name); if (asset == null) { continue; } - Debug.Log("##"+bundle.name + "/" + name + $" ({asset.GetType()})"); + Debug.Log("Bundle:"+bundle.name + "/" + name + $" ({asset.GetType()})"); Type aType = asset.GetType(); if (aType == typeof(AnimationClip)) { diff --git a/Assets/Scripts/UmaViewerUI.cs b/Assets/Scripts/UmaViewerUI.cs index 14cf743..98f0926 100644 --- a/Assets/Scripts/UmaViewerUI.cs +++ b/Assets/Scripts/UmaViewerUI.cs @@ -1,3 +1,4 @@ +using Gallop; using System.Collections; using System.Collections.Generic; using System.IO; @@ -5,7 +6,7 @@ using System.Linq; using UnityEngine; using UnityEngine.UI; -public class UmaViewerUI : MonoBehaviour +public class UmaViewerUI : MonoBehaviour,FaceLoadCallBack { public static UmaViewerUI Instance; private UmaViewerMain Main => UmaViewerMain.Instance; @@ -25,13 +26,15 @@ public class UmaViewerUI : MonoBehaviour public ScrollRect PropList; public ScrollRect SceneList; + public ScrollRect FacialList; + //settings public TMPro.TMP_InputField SSWidth, SSHeight; public List TogglablePanels = new List(); public GameObject UmaContainerPrefab; - + public GameObject UmaContainerSliderPrefab; private int LoadedAssetCount = 0; [SerializeField] private RectTransform LoadedAssetsPanel; [SerializeField] private TMPro.TextMeshProUGUI LoadedAssetsText; @@ -100,6 +103,41 @@ public class UmaViewerUI : MonoBehaviour } } + public void LoadFacialPanels(FaceDrivenKeyTarget target) + { + foreach (UmaUIContainer ui in FacialList.content.GetComponentsInChildren()) + { + Destroy(ui.gameObject); + } + foreach (FacialMorph morph in target.EyeBrowMorphs) + { + var container = Instantiate(UmaContainerSliderPrefab, FacialList.content).GetComponent(); + container.Name.text = morph.name; + container.Slider.value = morph.Weight; + container.Slider.maxValue = 1; + container.Slider.minValue = 0; + container.Slider.onValueChanged.AddListener((a) => { morph.Weight = a;}); + } + foreach (FacialMorph morph in target.EyeMorphs) + { + var container = Instantiate(UmaContainerSliderPrefab, FacialList.content).GetComponent(); + container.Name.text = morph.name; + container.Slider.value = morph.Weight; + container.Slider.maxValue = 1; + container.Slider.minValue = 0; + container.Slider.onValueChanged.AddListener((a) => { morph.Weight = a; }); + } + foreach (FacialMorph morph in target.MouthMorphs) + { + var container = Instantiate(UmaContainerSliderPrefab, FacialList.content).GetComponent(); + container.Name.text = morph.name; + container.Slider.value = morph.Weight; + container.Slider.maxValue = 1; + container.Slider.minValue = 0; + container.Slider.onValueChanged.AddListener((a) => { morph.Weight = a; }); + } + } + public void LoadMiniModelPanels() { var container = Instantiate(UmaContainerPrefab, MiniAnimationSetList.content).GetComponent(); @@ -308,4 +346,9 @@ public class UmaViewerUI : MonoBehaviour { Camera.main.backgroundColor = color; } + + public void CallBack(FaceDrivenKeyTarget target) + { + LoadFacialPanels(target); + } } diff --git a/Assets/Scripts/umamusume/FaceDrivenKeyTarget.cs b/Assets/Scripts/umamusume/FaceDrivenKeyTarget.cs index d1284b6..545fc5b 100644 --- a/Assets/Scripts/umamusume/FaceDrivenKeyTarget.cs +++ b/Assets/Scripts/umamusume/FaceDrivenKeyTarget.cs @@ -5,7 +5,7 @@ using UnityEngine; namespace Gallop { - public class FaceDrivenKeyTarget : MonoBehaviour + public class FaceDrivenKeyTarget : MonoBehaviour { public List _eyeTarget; public List _eyebrowTarget; @@ -19,9 +19,11 @@ namespace Gallop public List EyeBrowMorphs = new List(); public List EyeMorphs = new List(); public List MouthMorphs = new List(); - + + public FaceLoadCallBack callBack; private void Start() { + Objs.AddRange(GetComponentsInChildren()); foreach (Transform g in Objs) { @@ -38,6 +40,10 @@ namespace Gallop morph.SetFace(this); morph.name = "EyeBrow_" + i + "_" + (j > 0 ? "R" : "L"); morph.trsArray = _eyebrowTarget[i]._faceGroupInfo[j]._trsArray; + foreach(TrsArray trs in morph.trsArray) + { + trs.transform = Objs.Find(ani => ani.name.Equals(trs._path)); + } EyeBrowMorphs.Add(morph); } } @@ -50,6 +56,10 @@ namespace Gallop morph.SetFace(this); morph.name = "Eye_" + i + "_" + (j > 0 ? "R" : "L"); morph.trsArray = _eyeTarget[i]._faceGroupInfo[j]._trsArray; + foreach (TrsArray trs in morph.trsArray) + { + trs.transform = Objs.Find(ani => ani.name.Equals(trs._path)); + } EyeMorphs.Add(morph); } } @@ -62,11 +72,16 @@ namespace Gallop morph.SetFace(this); morph.name = "Mouth_" + i + "_" + j; morph.trsArray = _mouthTarget[i]._faceGroupInfo[j]._trsArray; + foreach (TrsArray trs in morph.trsArray) + { + trs.transform = Objs.Find(ani => ani.name.Equals(trs._path)); + } MouthMorphs.Add(morph); } } MouthMorphs[4].Weight = 1; + if (callBack != null) { callBack.CallBack(this); } } @@ -78,7 +93,6 @@ namespace Gallop if(EyeBrowMorphs[i].LastWeight!= EyeBrowMorphs[i].Weight) { changed = true; - EyeBrowMorphs[i].LastWeight = EyeBrowMorphs[i].Weight; } } for (int i = 0; i < EyeMorphs.Count; i++) @@ -86,7 +100,6 @@ namespace Gallop if (EyeMorphs[i].LastWeight != EyeMorphs[i].Weight) { changed = true; - EyeMorphs[i].LastWeight = EyeMorphs[i].Weight; } } for (int i = 0; i < MouthMorphs.Count; i++) @@ -94,7 +107,6 @@ namespace Gallop if (MouthMorphs[i].LastWeight != MouthMorphs[i].Weight) { changed = true; - MouthMorphs[i].LastWeight = MouthMorphs[i].Weight; } } @@ -106,35 +118,37 @@ namespace Gallop FacialReset(); foreach (FacialMorph morph in EyeBrowMorphs) { + if(morph.LastWeight!=morph.Weight || morph.Weight > 0) foreach(TrsArray trs in morph.trsArray) { - var bone = Objs.Find(ani => ani.name.Equals(trs._path)); - if (bone) - { + if (trs.transform) + { if (!trs.IsOverrideTarget) { - var tmp = bone.localRotation.eulerAngles; + var tmp = trs.transform.localRotation.eulerAngles; tmp += (trs._rotation * morph.Weight); - bone.localRotation = Quaternion.Euler(bone.localRotation.eulerAngles + (trs._rotation * morph.Weight)); - bone.localPosition += trs._position * morph.Weight; - bone.localScale += trs._scale * morph.Weight; + trs.transform.localRotation = Quaternion.Euler(trs.transform.localRotation.eulerAngles + (trs._rotation * morph.Weight)); + trs.transform.localPosition += trs._position * morph.Weight; + trs.transform.localScale += trs._scale * morph.Weight; } - }; + }; } } foreach (FacialMorph morph in EyeMorphs) { + if(morph.LastWeight!=morph.Weight || morph.Weight > 0) foreach (TrsArray trs in morph.trsArray) { - var bone = Objs.Find(ani => ani.name.Equals(trs._path)); - if (bone) + if (trs.transform) { if (!trs.IsOverrideTarget) { - bone.localRotation = Quaternion.Euler(bone.localRotation.eulerAngles + (trs._rotation * morph.Weight)); - bone.localPosition += trs._position * morph.Weight; - bone.localScale += trs._scale * morph.Weight; + var tmp = trs.transform.localRotation.eulerAngles; + tmp += (trs._rotation * morph.Weight); + trs.transform.localRotation = Quaternion.Euler(trs.transform.localRotation.eulerAngles + (trs._rotation * morph.Weight)); + trs.transform.localPosition += trs._position * morph.Weight; + trs.transform.localScale += trs._scale * morph.Weight; } }; } @@ -142,16 +156,18 @@ namespace Gallop foreach (FacialMorph morph in MouthMorphs) { + if(morph.LastWeight!=morph.Weight || morph.Weight > 0) foreach (TrsArray trs in morph.trsArray) { - var bone = Objs.Find(ani => ani.name.Equals(trs._path)); - if (bone) + if (trs.transform) { if (!trs.IsOverrideTarget) { - bone.localRotation = Quaternion.Euler(bone.localRotation.eulerAngles + (trs._rotation * morph.Weight)); - bone.localPosition += trs._position * morph.Weight; - bone.localScale += trs._scale * morph.Weight; + var tmp = trs.transform.localRotation.eulerAngles; + tmp += (trs._rotation * morph.Weight); + trs.transform.localRotation = Quaternion.Euler(trs.transform.localRotation.eulerAngles + (trs._rotation * morph.Weight)); + trs.transform.localPosition += trs._position * morph.Weight; + trs.transform.localScale += trs._scale * morph.Weight; } }; } @@ -160,52 +176,61 @@ namespace Gallop foreach (FacialMorph morph in EyeBrowMorphs)//´¦Àí¸²¸Ç±íÇé { - foreach (TrsArray trs in morph.trsArray) + if (morph.LastWeight != morph.Weight || morph.Weight > 0) { - var bone = Objs.Find(ani => ani.name.Equals(trs._path)); - if (bone) + foreach (TrsArray trs in morph.trsArray) { - if (trs.IsOverrideTarget) + if (trs.transform) { - bone.localRotation = Quaternion.Euler(Vector3.Lerp(bone.localRotation.eulerAngles, trs._rotation, morph.Weight)); - bone.localPosition = Vector3.Lerp(bone.localPosition, trs._position, morph.Weight); - bone.localScale = Vector3.Lerp(bone.localScale, trs._scale, morph.Weight); - } - }; + if (trs.IsOverrideTarget) + { + trs.transform.localRotation = Quaternion.Euler(Vector3.Lerp(trs.transform.localRotation.eulerAngles, trs._rotation, morph.Weight)); + trs.transform.localPosition = Vector3.Lerp(trs.transform.localPosition, trs._position, morph.Weight); + trs.transform.localScale = Vector3.Lerp(trs.transform.localScale, trs._scale, morph.Weight); + } + }; + } + morph.LastWeight = morph.Weight; } } foreach (FacialMorph morph in EyeMorphs) { - foreach (TrsArray trs in morph.trsArray) + if (morph.LastWeight != morph.Weight || morph.Weight > 0) { - var bone = Objs.Find(ani => ani.name.Equals(trs._path)); - if (bone) + foreach (TrsArray trs in morph.trsArray) { - if (trs.IsOverrideTarget) + if (trs.transform) { - bone.localRotation = Quaternion.Euler(Vector3.Lerp(bone.localRotation.eulerAngles, trs._rotation, morph.Weight)); - bone.localPosition = Vector3.Lerp(bone.localPosition, trs._position, morph.Weight); - bone.localScale = Vector3.Lerp(bone.localScale, trs._scale, morph.Weight); - } - }; + if (trs.IsOverrideTarget) + { + trs.transform.localRotation = Quaternion.Euler(Vector3.Lerp(trs.transform.localRotation.eulerAngles, trs._rotation, morph.Weight)); + trs.transform.localPosition = Vector3.Lerp(trs.transform.localPosition, trs._position, morph.Weight); + trs.transform.localScale = Vector3.Lerp(trs.transform.localScale, trs._scale, morph.Weight); + } + }; + } + morph.LastWeight = morph.Weight; } } foreach (FacialMorph morph in MouthMorphs) { - foreach (TrsArray trs in morph.trsArray) + if (morph.LastWeight != morph.Weight || morph.Weight > 0) { - var bone = Objs.Find(ani => ani.name.Equals(trs._path)); - if (bone) + foreach (TrsArray trs in morph.trsArray) { - if (trs.IsOverrideTarget) + if (trs.transform) { - bone.localRotation = Quaternion.Euler(Vector3.Lerp(bone.localRotation.eulerAngles, trs._rotation, morph.Weight)); - bone.localPosition = Vector3.Lerp(bone.localPosition, trs._position, morph.Weight); - bone.localScale = Vector3.Lerp(bone.localScale, trs._scale, morph.Weight); - } - }; + if (trs.IsOverrideTarget) + { + trs.transform.localRotation = Quaternion.Euler(Vector3.Lerp(trs.transform.localRotation.eulerAngles, trs._rotation, morph.Weight)); + trs.transform.localPosition = Vector3.Lerp(trs.transform.localPosition, trs._position, morph.Weight); + trs.transform.localScale = Vector3.Lerp(trs.transform.localScale, trs._scale, morph.Weight); + } + }; + } + morph.LastWeight = morph.Weight; } } } @@ -219,6 +244,8 @@ namespace Gallop Objs[i].localScale = OriScal[i]; } } + + } diff --git a/Assets/Scripts/umamusume/FaceLoadCallBack.cs b/Assets/Scripts/umamusume/FaceLoadCallBack.cs new file mode 100644 index 0000000..c35eee6 --- /dev/null +++ b/Assets/Scripts/umamusume/FaceLoadCallBack.cs @@ -0,0 +1,13 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Gallop +{ + public interface FaceLoadCallBack + { + public abstract void CallBack(FaceDrivenKeyTarget target); + } +} diff --git a/Assets/Scripts/umamusume/FaceLoadCallBack.cs.meta b/Assets/Scripts/umamusume/FaceLoadCallBack.cs.meta new file mode 100644 index 0000000..090e20d --- /dev/null +++ b/Assets/Scripts/umamusume/FaceLoadCallBack.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d7b0dd94109f6b445bd06165e34aea69 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/umamusume/FacialMorph.cs b/Assets/Scripts/umamusume/FacialMorph.cs index aaa1c38..4fd3c8b 100644 --- a/Assets/Scripts/umamusume/FacialMorph.cs +++ b/Assets/Scripts/umamusume/FacialMorph.cs @@ -16,6 +16,7 @@ namespace Gallop public float Weight; [HideInInspector]public float LastWeight; [HideInInspector] public List trsArray; + public void SetFace(FaceDrivenKeyTarget faceTarget) { face = faceTarget; diff --git a/Assets/Scripts/umamusume/GallopExtras.cs b/Assets/Scripts/umamusume/GallopExtras.cs index fd522ef..10de8f0 100644 --- a/Assets/Scripts/umamusume/GallopExtras.cs +++ b/Assets/Scripts/umamusume/GallopExtras.cs @@ -34,6 +34,7 @@ public class StringValuePair public class TrsArray { public string _path; + public Transform transform; public bool _isValidScaleTransform; public Vector3 _position; public Vector3 _scale; diff --git a/ProjectSettings/ProjectSettings.asset b/ProjectSettings/ProjectSettings.asset index 0bd0239..4086f3f 100644 --- a/ProjectSettings/ProjectSettings.asset +++ b/ProjectSettings/ProjectSettings.asset @@ -48,7 +48,7 @@ PlayerSettings: m_SloganImage: {fileID: 0} m_SloganHeight: 150 m_HolographicTrackingLossScreen: {fileID: 0} - defaultScreenWidth: 720 + defaultScreenWidth: 1280 defaultScreenHeight: 720 defaultScreenWidthWeb: 960 defaultScreenHeightWeb: 600 diff --git a/ProjectSettings/UnityConnectSettings.asset b/ProjectSettings/UnityConnectSettings.asset index 6125b30..796c52e 100644 --- a/ProjectSettings/UnityConnectSettings.asset +++ b/ProjectSettings/UnityConnectSettings.asset @@ -10,6 +10,8 @@ UnityConnectSettings: m_EventUrl: https://cdp.cloud.unity3d.com/v1/events m_ConfigUrl: https://config.uca.cloud.unity3d.com m_DashboardUrl: https://dashboard.unity3d.com + m_CNEventUrl: https://cdp.cloud.unity.cn/v1/events + m_CNConfigUrl: https://cdp.cloud.unity.cn/config m_TestInitMode: 0 CrashReportingSettings: m_EventUrl: https://perf-events.cloud.unity3d.com