├── FaceSync.meta ├── FaceSync ├── Data.meta ├── Data │ ├── Settings.asset │ └── Settings.asset.meta ├── Demo.meta ├── Demo │ ├── Data.meta │ ├── Data │ │ ├── Audio.meta │ │ ├── Audio │ │ │ ├── 390745__d00121058__dia-001-connavar-1.wav │ │ │ ├── 390745__d00121058__dia-001-connavar-1.wav.meta │ │ │ ├── 440840__scicofilms-com__man-saying-you-are-hormonally-confused-voice-over-fun-humor-actor.mp3 │ │ │ ├── 440840__scicofilms-com__man-saying-you-are-hormonally-confused-voice-over-fun-humor-actor.mp3.meta │ │ │ ├── credits.txt │ │ │ └── credits.txt.meta │ │ ├── BlendSets.meta │ │ ├── BlendSets │ │ │ ├── BlendSet_Blink.asset │ │ │ ├── BlendSet_Blink.asset.meta │ │ │ ├── BlendSet_CreepySmile.asset │ │ │ ├── BlendSet_CreepySmile.asset.meta │ │ │ ├── BlendSet_LookDown.asset │ │ │ ├── BlendSet_LookDown.asset.meta │ │ │ ├── BlendSet_LookLeft.asset │ │ │ ├── BlendSet_LookLeft.asset.meta │ │ │ ├── BlendSet_LookRight.asset │ │ │ ├── BlendSet_LookRight.asset.meta │ │ │ ├── BlendSet_LookUp.asset │ │ │ ├── BlendSet_LookUp.asset.meta │ │ │ ├── BlendSet_PhonemeAI.asset │ │ │ ├── BlendSet_PhonemeAI.asset.meta │ │ │ ├── BlendSet_PhonemeE.asset │ │ │ ├── BlendSet_PhonemeE.asset.meta │ │ │ ├── BlendSet_PhonemeFV.asset │ │ │ ├── BlendSet_PhonemeFV.asset.meta │ │ │ ├── BlendSet_PhonemeL.asset │ │ │ ├── BlendSet_PhonemeL.asset.meta │ │ │ ├── BlendSet_PhonemeMBP.asset │ │ │ ├── BlendSet_PhonemeMBP.asset.meta │ │ │ ├── BlendSet_PhonemeO.asset │ │ │ ├── BlendSet_PhonemeO.asset.meta │ │ │ ├── BlendSet_PhonemeU.asset │ │ │ ├── BlendSet_PhonemeU.asset.meta │ │ │ ├── BlendSet_PhonemeW.asset │ │ │ └── BlendSet_PhonemeW.asset.meta │ │ ├── BlendShapeIDs.meta │ │ ├── BlendShapeIDs │ │ │ ├── BlendShape_EyeClosedL_Max.asset │ │ │ ├── BlendShape_EyeClosedL_Max.asset.meta │ │ │ ├── BlendShape_EyeClosedR_Max.asset │ │ │ ├── BlendShape_EyeClosedR_Max.asset.meta │ │ │ ├── BlendShape_EyesHoriz_Max.asset │ │ │ ├── BlendShape_EyesHoriz_Max.asset.meta │ │ │ ├── BlendShape_EyesHoriz_Min.asset │ │ │ ├── BlendShape_EyesHoriz_Min.asset.meta │ │ │ ├── BlendShape_EyesVert_Max.asset │ │ │ ├── BlendShape_EyesVert_Max.asset.meta │ │ │ ├── BlendShape_EyesVert_Min.asset │ │ │ ├── BlendShape_EyesVert_Min.asset.meta │ │ │ ├── BlendShape_JawOut_Min.asset │ │ │ ├── BlendShape_JawOut_Min.asset.meta │ │ │ ├── BlendShape_MouthClosed_Max.asset │ │ │ ├── BlendShape_MouthClosed_Max.asset.meta │ │ │ ├── BlendShape_MouthOpenLarge_Min.asset │ │ │ ├── BlendShape_MouthOpenLarge_Min.asset.meta │ │ │ ├── BlendShape_MouthOpenO_Max.asset │ │ │ ├── BlendShape_MouthOpenO_Max.asset.meta │ │ │ ├── BlendShape_MouthOpenO_Min.asset │ │ │ ├── BlendShape_MouthOpenO_Min.asset.meta │ │ │ ├── BlendShape_MouthOpen_Max.asset │ │ │ ├── BlendShape_MouthOpen_Max.asset.meta │ │ │ ├── BlendShape_MouthOpen_Min.asset │ │ │ ├── BlendShape_MouthOpen_Min.asset.meta │ │ │ ├── BlendShape_MouthSmile_Max.asset │ │ │ ├── BlendShape_MouthSmile_Max.asset.meta │ │ │ ├── BlendShape_TongueVert_Max.asset │ │ │ └── BlendShape_TongueVert_Max.asset.meta │ │ ├── FSD_ConversationTest.asset │ │ ├── FSD_ConversationTest.asset.meta │ │ ├── FSD_ConversationTest2.asset │ │ ├── FSD_ConversationTest2.asset.meta │ │ ├── FaceSyncData.asset │ │ ├── FaceSyncData.asset.meta │ │ ├── Rules.meta │ │ └── Rules │ │ │ ├── PhonemeRules.asset │ │ │ └── PhonemeRules.asset.meta │ ├── HumanController.controller │ ├── HumanController.controller.meta │ ├── Materials.meta │ ├── Materials │ │ ├── Eyes.mat │ │ └── Eyes.mat.meta │ ├── Scenes.meta │ ├── Scenes │ │ ├── FaceSync.unity │ │ └── FaceSync.unity.meta │ ├── example.png │ ├── example.png.meta │ ├── facesync.gif │ ├── facesync.gif.meta │ ├── human.fbx │ ├── human.fbx.meta │ ├── humanblender.blend │ └── humanblender.blend.meta ├── Editor.meta ├── Editor │ ├── FaceSyncDataEditor.cs │ ├── FaceSyncDataEditor.cs.meta │ ├── FaceSyncDataPreviewEditor.cs │ └── FaceSyncDataPreviewEditor.cs.meta ├── FaceSyncApplier.cs ├── FaceSyncApplier.cs.meta ├── FaceSyncBlendSet.cs ├── FaceSyncBlendSet.cs.meta ├── FaceSyncBlendSetPreview.cs ├── FaceSyncBlendSetPreview.cs.meta ├── FaceSyncBlendShapeID.cs ├── FaceSyncBlendShapeID.cs.meta ├── FaceSyncController.cs ├── FaceSyncController.cs.meta ├── FaceSyncData.cs ├── FaceSyncData.cs.meta ├── FaceSyncDataPreview.cs ├── FaceSyncDataPreview.cs.meta ├── FaceSyncDetectionRules.cs ├── FaceSyncDetectionRules.cs.meta ├── FaceSyncKeyframe.cs ├── FaceSyncKeyframe.cs.meta ├── FaceSyncRandomPlayer.cs ├── FaceSyncRandomPlayer.cs.meta ├── FaceSyncSettings.cs ├── FaceSyncSettings.cs.meta ├── FaceSyncUtils.cs └── FaceSyncUtils.cs.meta ├── LICENSE ├── README.md └── README.md.meta /FaceSync.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 28bde480704c61c42b96c9a4d0c5e7ee 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /FaceSync/Data.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7097e2eaf4abb5647bb85e6acbd6b111 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /FaceSync/Data/Settings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_PrefabParentObject: {fileID: 0} 7 | m_PrefabInternal: {fileID: 0} 8 | m_GameObject: {fileID: 0} 9 | m_Enabled: 1 10 | m_EditorHideFlags: 0 11 | m_Script: {fileID: 11500000, guid: ee43d98db3ff86e4e909ba45cce137da, type: 3} 12 | m_Name: Settings 13 | m_EditorClassIdentifier: 14 | DetectionRules: 15 | - {fileID: 11400000, guid: 530a42fc67babaa4b82b886e21c76466, type: 2} 16 | -------------------------------------------------------------------------------- /FaceSync/Data/Settings.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4f74dc3e1875c1a439812d1f337f2e8f 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /FaceSync/Demo.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: eb8057a14381b4b4581f619a5a271ef1 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /FaceSync/Demo/Data.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 83a652fd064c458419b814c5840b2952 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /FaceSync/Demo/Data/Audio.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bf5d0693ea6d73e4abbf3268391895c0 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /FaceSync/Demo/Data/Audio/390745__d00121058__dia-001-connavar-1.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joscanper/unity_facesync/ff49cf8527785394a523736f6212c2c706e5d7df/FaceSync/Demo/Data/Audio/390745__d00121058__dia-001-connavar-1.wav -------------------------------------------------------------------------------- /FaceSync/Demo/Data/Audio/390745__d00121058__dia-001-connavar-1.wav.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: eaa771635749ad8478fe4527cf275bed 3 | AudioImporter: 4 | externalObjects: {} 5 | serializedVersion: 6 6 | defaultSettings: 7 | loadType: 0 8 | sampleRateSetting: 0 9 | sampleRateOverride: 44100 10 | compressionFormat: 1 11 | quality: 1 12 | conversionMode: 0 13 | platformSettingOverrides: {} 14 | forceToMono: 0 15 | normalize: 1 16 | preloadAudioData: 1 17 | loadInBackground: 0 18 | ambisonic: 0 19 | 3D: 1 20 | userData: 21 | assetBundleName: 22 | assetBundleVariant: 23 | -------------------------------------------------------------------------------- /FaceSync/Demo/Data/Audio/440840__scicofilms-com__man-saying-you-are-hormonally-confused-voice-over-fun-humor-actor.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joscanper/unity_facesync/ff49cf8527785394a523736f6212c2c706e5d7df/FaceSync/Demo/Data/Audio/440840__scicofilms-com__man-saying-you-are-hormonally-confused-voice-over-fun-humor-actor.mp3 -------------------------------------------------------------------------------- /FaceSync/Demo/Data/Audio/440840__scicofilms-com__man-saying-you-are-hormonally-confused-voice-over-fun-humor-actor.mp3.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2354422d9ca1ef24783e06a101f02116 3 | AudioImporter: 4 | externalObjects: {} 5 | serializedVersion: 6 6 | defaultSettings: 7 | loadType: 0 8 | sampleRateSetting: 0 9 | sampleRateOverride: 44100 10 | compressionFormat: 1 11 | quality: 1 12 | conversionMode: 0 13 | platformSettingOverrides: {} 14 | forceToMono: 0 15 | normalize: 1 16 | preloadAudioData: 1 17 | loadInBackground: 0 18 | ambisonic: 0 19 | 3D: 1 20 | userData: 21 | assetBundleName: 22 | assetBundleVariant: 23 | -------------------------------------------------------------------------------- /FaceSync/Demo/Data/Audio/credits.txt: -------------------------------------------------------------------------------- 1 | Sounds downloaded from freesound.org 2 | 3 | 390745__d00121058__dia-001-connavar-1 4 | d00121058 5 | 6 | 440840__scicofilms-com__man-saying-you-are-hormonally-confused-voice-over-fun-humor-actor 7 | SCICOFILMS.com -------------------------------------------------------------------------------- /FaceSync/Demo/Data/Audio/credits.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0377b1f8af1e576458ff72b5c7c15c76 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /FaceSync/Demo/Data/BlendSets.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5c95ec9f322085243917437f04b1d5b2 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /FaceSync/Demo/Data/BlendSets/BlendSet_Blink.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_PrefabParentObject: {fileID: 0} 7 | m_PrefabInternal: {fileID: 0} 8 | m_GameObject: {fileID: 0} 9 | m_Enabled: 1 10 | m_EditorHideFlags: 0 11 | m_Script: {fileID: 11500000, guid: 0b5a97c85586d324e8aa80c29c84f101, type: 3} 12 | m_Name: BlendSet_Blink 13 | m_EditorClassIdentifier: 14 | Label: Creepy Smile 15 | Color: {r: 0.5882353, g: 0.5882353, b: 0.5882353, a: 1} 16 | BlendShapes: 17 | - BlendShape: {fileID: 11400000, guid: 45f2a997ea8d56049bfc335c435711c1, type: 2} 18 | Value: 100 19 | BlendStrength: 25 20 | - BlendShape: {fileID: 11400000, guid: 0a1aa2868345e0e4ab67e7b58121fff7, type: 2} 21 | Value: 100 22 | BlendStrength: 25 23 | Duration: 0.1 24 | -------------------------------------------------------------------------------- /FaceSync/Demo/Data/BlendSets/BlendSet_Blink.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fe254ed379e61164ca49c9e38fa6ba71 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /FaceSync/Demo/Data/BlendSets/BlendSet_CreepySmile.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_PrefabParentObject: {fileID: 0} 7 | m_PrefabInternal: {fileID: 0} 8 | m_GameObject: {fileID: 0} 9 | m_Enabled: 1 10 | m_EditorHideFlags: 0 11 | m_Script: {fileID: 11500000, guid: 0b5a97c85586d324e8aa80c29c84f101, type: 3} 12 | m_Name: BlendSet_CreepySmile 13 | m_EditorClassIdentifier: 14 | Label: ) 15 | Color: {r: 0.5882353, g: 0.5882353, b: 0.5882353, a: 1} 16 | BlendShapes: 17 | - BlendShape: {fileID: 11400000, guid: 93d4ce0e6dab1c0438c5a27fd8ace503, type: 2} 18 | Value: 125 19 | BlendStrength: 2.5 20 | Duration: 1.5 21 | -------------------------------------------------------------------------------- /FaceSync/Demo/Data/BlendSets/BlendSet_CreepySmile.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 700958266559828448ed980403cbdd3c 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /FaceSync/Demo/Data/BlendSets/BlendSet_LookDown.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_PrefabParentObject: {fileID: 0} 7 | m_PrefabInternal: {fileID: 0} 8 | m_GameObject: {fileID: 0} 9 | m_Enabled: 1 10 | m_EditorHideFlags: 0 11 | m_Script: {fileID: 11500000, guid: 0b5a97c85586d324e8aa80c29c84f101, type: 3} 12 | m_Name: BlendSet_LookDown 13 | m_EditorClassIdentifier: 14 | Label: Creepy Smile 15 | Color: {r: 0.5882353, g: 0.5882353, b: 0.5882353, a: 1} 16 | BlendShapes: 17 | - BlendShape: {fileID: 11400000, guid: d4d16d116870dbd46a1fc6bac273c058, type: 2} 18 | Value: 120 19 | BlendStrength: 5 20 | Duration: 1 21 | -------------------------------------------------------------------------------- /FaceSync/Demo/Data/BlendSets/BlendSet_LookDown.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9658fe4fb1620f04693a6fc785d862dd 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /FaceSync/Demo/Data/BlendSets/BlendSet_LookLeft.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_PrefabParentObject: {fileID: 0} 7 | m_PrefabInternal: {fileID: 0} 8 | m_GameObject: {fileID: 0} 9 | m_Enabled: 1 10 | m_EditorHideFlags: 0 11 | m_Script: {fileID: 11500000, guid: 0b5a97c85586d324e8aa80c29c84f101, type: 3} 12 | m_Name: BlendSet_LookLeft 13 | m_EditorClassIdentifier: 14 | Label: Creepy Smile 15 | Color: {r: 0.5882353, g: 0.5882353, b: 0.5882353, a: 1} 16 | BlendShapes: 17 | - BlendShape: {fileID: 11400000, guid: 695ee338ce1347d4d99f98a405815cad, type: 2} 18 | Value: 120 19 | BlendStrength: 5 20 | Duration: 1 21 | -------------------------------------------------------------------------------- /FaceSync/Demo/Data/BlendSets/BlendSet_LookLeft.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7206796f64cf7144d89c8c494cb034b4 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /FaceSync/Demo/Data/BlendSets/BlendSet_LookRight.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_PrefabParentObject: {fileID: 0} 7 | m_PrefabInternal: {fileID: 0} 8 | m_GameObject: {fileID: 0} 9 | m_Enabled: 1 10 | m_EditorHideFlags: 0 11 | m_Script: {fileID: 11500000, guid: 0b5a97c85586d324e8aa80c29c84f101, type: 3} 12 | m_Name: BlendSet_LookRight 13 | m_EditorClassIdentifier: 14 | Label: Creepy Smile 15 | Color: {r: 0.5882353, g: 0.5882353, b: 0.5882353, a: 1} 16 | BlendShapes: 17 | - BlendShape: {fileID: 11400000, guid: 2516896f2bc226b49884abd118cfd30c, type: 2} 18 | Value: 120 19 | BlendStrength: 5 20 | Duration: 1 21 | -------------------------------------------------------------------------------- /FaceSync/Demo/Data/BlendSets/BlendSet_LookRight.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a00e5453da8806748976796a4a89c712 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /FaceSync/Demo/Data/BlendSets/BlendSet_LookUp.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_PrefabParentObject: {fileID: 0} 7 | m_PrefabInternal: {fileID: 0} 8 | m_GameObject: {fileID: 0} 9 | m_Enabled: 1 10 | m_EditorHideFlags: 0 11 | m_Script: {fileID: 11500000, guid: 0b5a97c85586d324e8aa80c29c84f101, type: 3} 12 | m_Name: BlendSet_LookUp 13 | m_EditorClassIdentifier: 14 | Label: Creepy Smile 15 | Color: {r: 0.5882353, g: 0.5882353, b: 0.5882353, a: 1} 16 | BlendShapes: 17 | - BlendShape: {fileID: 11400000, guid: e30c19b3e10326a4b84c1c153b20c2bb, type: 2} 18 | Value: 120 19 | BlendStrength: 5 20 | Duration: 1 21 | -------------------------------------------------------------------------------- /FaceSync/Demo/Data/BlendSets/BlendSet_LookUp.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 697da96adce3f3e49a222ae1abe428df 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /FaceSync/Demo/Data/BlendSets/BlendSet_PhonemeAI.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_PrefabParentObject: {fileID: 0} 7 | m_PrefabInternal: {fileID: 0} 8 | m_GameObject: {fileID: 0} 9 | m_Enabled: 1 10 | m_EditorHideFlags: 0 11 | m_Script: {fileID: 11500000, guid: 0b5a97c85586d324e8aa80c29c84f101, type: 3} 12 | m_Name: BlendSet_PhonemeAI 13 | m_EditorClassIdentifier: 14 | Label: A 15 | Color: {r: 0.5882353, g: 0.5882353, b: 0.5882353, a: 1} 16 | BlendShapes: 17 | - BlendShape: {fileID: 11400000, guid: b0ffa2ddd19b9844db7de563c1279067, type: 2} 18 | Value: 30 19 | BlendStrength: 15 20 | Duration: 0.1 21 | -------------------------------------------------------------------------------- /FaceSync/Demo/Data/BlendSets/BlendSet_PhonemeAI.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2f335ae9fc7802d449fdf5aa042d4b13 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /FaceSync/Demo/Data/BlendSets/BlendSet_PhonemeE.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_PrefabParentObject: {fileID: 0} 7 | m_PrefabInternal: {fileID: 0} 8 | m_GameObject: {fileID: 0} 9 | m_Enabled: 1 10 | m_EditorHideFlags: 0 11 | m_Script: {fileID: 11500000, guid: 0b5a97c85586d324e8aa80c29c84f101, type: 3} 12 | m_Name: BlendSet_PhonemeE 13 | m_EditorClassIdentifier: 14 | Label: E 15 | Color: {r: 0.5882353, g: 0.5882353, b: 0.5882353, a: 1} 16 | BlendShapes: 17 | - BlendShape: {fileID: 11400000, guid: 99e61548f3ab8ce4b92a6ef5de40410a, type: 2} 18 | Value: 33 19 | BlendStrength: 15 20 | - BlendShape: {fileID: 11400000, guid: 24e3747dcfeb46d4c810ec293e8237ea, type: 2} 21 | Value: 80 22 | BlendStrength: 15 23 | - BlendShape: {fileID: 11400000, guid: f4d70c6528912a34abfa9ecf9dd20faf, type: 2} 24 | Value: 80 25 | BlendStrength: 15 26 | Duration: 0.1 27 | -------------------------------------------------------------------------------- /FaceSync/Demo/Data/BlendSets/BlendSet_PhonemeE.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e85b3099f5cae8e43becc0d3b63c8c25 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /FaceSync/Demo/Data/BlendSets/BlendSet_PhonemeFV.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_PrefabParentObject: {fileID: 0} 7 | m_PrefabInternal: {fileID: 0} 8 | m_GameObject: {fileID: 0} 9 | m_Enabled: 1 10 | m_EditorHideFlags: 0 11 | m_Script: {fileID: 11500000, guid: 0b5a97c85586d324e8aa80c29c84f101, type: 3} 12 | m_Name: BlendSet_PhonemeFV 13 | m_EditorClassIdentifier: 14 | Label: F 15 | Color: {r: 0.5882353, g: 0.5882353, b: 0.5882353, a: 1} 16 | BlendShapes: 17 | - BlendShape: {fileID: 11400000, guid: 6107cbca5b063414bb4559bcc54da93b, type: 2} 18 | Value: 50 19 | BlendStrength: 15 20 | - BlendShape: {fileID: 11400000, guid: f8c22a90fc01aa94987b8db054b34111, type: 2} 21 | Value: 60 22 | BlendStrength: 15 23 | Duration: 0.1 24 | -------------------------------------------------------------------------------- /FaceSync/Demo/Data/BlendSets/BlendSet_PhonemeFV.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6b454370ad0e084439b1fcdab6e18bc7 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /FaceSync/Demo/Data/BlendSets/BlendSet_PhonemeL.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_PrefabParentObject: {fileID: 0} 7 | m_PrefabInternal: {fileID: 0} 8 | m_GameObject: {fileID: 0} 9 | m_Enabled: 1 10 | m_EditorHideFlags: 0 11 | m_Script: {fileID: 11500000, guid: 0b5a97c85586d324e8aa80c29c84f101, type: 3} 12 | m_Name: BlendSet_PhonemeL 13 | m_EditorClassIdentifier: 14 | Label: L 15 | Color: {r: 0.5882353, g: 0.5882353, b: 0.5882353, a: 1} 16 | BlendShapes: 17 | - BlendShape: {fileID: 11400000, guid: f4d70c6528912a34abfa9ecf9dd20faf, type: 2} 18 | Value: 55 19 | BlendStrength: 15 20 | - BlendShape: {fileID: 11400000, guid: b0ffa2ddd19b9844db7de563c1279067, type: 2} 21 | Value: 30 22 | BlendStrength: 15 23 | Duration: 0.1 24 | -------------------------------------------------------------------------------- /FaceSync/Demo/Data/BlendSets/BlendSet_PhonemeL.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9bcd99053dd84924fbdc3fbc4c63bc44 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /FaceSync/Demo/Data/BlendSets/BlendSet_PhonemeMBP.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_PrefabParentObject: {fileID: 0} 7 | m_PrefabInternal: {fileID: 0} 8 | m_GameObject: {fileID: 0} 9 | m_Enabled: 1 10 | m_EditorHideFlags: 0 11 | m_Script: {fileID: 11500000, guid: 0b5a97c85586d324e8aa80c29c84f101, type: 3} 12 | m_Name: BlendSet_PhonemeMBP 13 | m_EditorClassIdentifier: 14 | Label: M 15 | Color: {r: 0.5882353, g: 0.5882353, b: 0.5882353, a: 1} 16 | BlendShapes: 17 | - BlendShape: {fileID: 11400000, guid: 6107cbca5b063414bb4559bcc54da93b, type: 2} 18 | Value: 100 19 | BlendStrength: 15 20 | Duration: 0.1 21 | -------------------------------------------------------------------------------- /FaceSync/Demo/Data/BlendSets/BlendSet_PhonemeMBP.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fa2b5684c6d25bf47bc5c88e0701c0a2 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /FaceSync/Demo/Data/BlendSets/BlendSet_PhonemeO.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_PrefabParentObject: {fileID: 0} 7 | m_PrefabInternal: {fileID: 0} 8 | m_GameObject: {fileID: 0} 9 | m_Enabled: 1 10 | m_EditorHideFlags: 0 11 | m_Script: {fileID: 11500000, guid: 0b5a97c85586d324e8aa80c29c84f101, type: 3} 12 | m_Name: BlendSet_PhonemeO 13 | m_EditorClassIdentifier: 14 | Label: O 15 | Color: {r: 0.5882353, g: 0.5882353, b: 0.5882353, a: 1} 16 | BlendShapes: 17 | - BlendShape: {fileID: 11400000, guid: 99e61548f3ab8ce4b92a6ef5de40410a, type: 2} 18 | Value: 37 19 | BlendStrength: 15 20 | - BlendShape: {fileID: 11400000, guid: f8c22a90fc01aa94987b8db054b34111, type: 2} 21 | Value: 60 22 | BlendStrength: 15 23 | Duration: 0.1 24 | -------------------------------------------------------------------------------- /FaceSync/Demo/Data/BlendSets/BlendSet_PhonemeO.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: df62c4e1db89d9b4690348aba5fa8c11 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /FaceSync/Demo/Data/BlendSets/BlendSet_PhonemeU.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_PrefabParentObject: {fileID: 0} 7 | m_PrefabInternal: {fileID: 0} 8 | m_GameObject: {fileID: 0} 9 | m_Enabled: 1 10 | m_EditorHideFlags: 0 11 | m_Script: {fileID: 11500000, guid: 0b5a97c85586d324e8aa80c29c84f101, type: 3} 12 | m_Name: BlendSet_PhonemeU 13 | m_EditorClassIdentifier: 14 | Label: U 15 | Color: {r: 0.5882353, g: 0.5882353, b: 0.5882353, a: 1} 16 | BlendShapes: 17 | - BlendShape: {fileID: 11400000, guid: f8c22a90fc01aa94987b8db054b34111, type: 2} 18 | Value: 100 19 | BlendStrength: 15 20 | Duration: 0.1 21 | -------------------------------------------------------------------------------- /FaceSync/Demo/Data/BlendSets/BlendSet_PhonemeU.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c053627c1d981a04197c5ce2c0821d23 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /FaceSync/Demo/Data/BlendSets/BlendSet_PhonemeW.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_PrefabParentObject: {fileID: 0} 7 | m_PrefabInternal: {fileID: 0} 8 | m_GameObject: {fileID: 0} 9 | m_Enabled: 1 10 | m_EditorHideFlags: 0 11 | m_Script: {fileID: 11500000, guid: 0b5a97c85586d324e8aa80c29c84f101, type: 3} 12 | m_Name: BlendSet_PhonemeW 13 | m_EditorClassIdentifier: 14 | Label: W 15 | Color: {r: 0.5882353, g: 0.5882353, b: 0.5882353, a: 1} 16 | BlendShapes: 17 | - BlendShape: {fileID: 11400000, guid: f8c22a90fc01aa94987b8db054b34111, type: 2} 18 | Value: 150 19 | BlendStrength: 15 20 | Duration: 0.1 21 | -------------------------------------------------------------------------------- /FaceSync/Demo/Data/BlendSets/BlendSet_PhonemeW.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c7a86650d38472447bb5b02d53b91bb3 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /FaceSync/Demo/Data/BlendShapeIDs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 08e642ef3326ce1499406d37d443eefd 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /FaceSync/Demo/Data/BlendShapeIDs/BlendShape_EyeClosedL_Max.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_PrefabParentObject: {fileID: 0} 7 | m_PrefabInternal: {fileID: 0} 8 | m_GameObject: {fileID: 0} 9 | m_Enabled: 1 10 | m_EditorHideFlags: 0 11 | m_Script: {fileID: 11500000, guid: f2c8e900072be4d41ba2f69681fc0fbf, type: 3} 12 | m_Name: BlendShape_EyeClosedL_Max 13 | m_EditorClassIdentifier: 14 | Label: 15 | Identifier: Expressions_eyeClosedL_max 16 | -------------------------------------------------------------------------------- /FaceSync/Demo/Data/BlendShapeIDs/BlendShape_EyeClosedL_Max.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 45f2a997ea8d56049bfc335c435711c1 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /FaceSync/Demo/Data/BlendShapeIDs/BlendShape_EyeClosedR_Max.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_PrefabParentObject: {fileID: 0} 7 | m_PrefabInternal: {fileID: 0} 8 | m_GameObject: {fileID: 0} 9 | m_Enabled: 1 10 | m_EditorHideFlags: 0 11 | m_Script: {fileID: 11500000, guid: f2c8e900072be4d41ba2f69681fc0fbf, type: 3} 12 | m_Name: BlendShape_EyeClosedR_Max 13 | m_EditorClassIdentifier: 14 | Label: 15 | Identifier: Expressions_eyeClosedR_max 16 | -------------------------------------------------------------------------------- /FaceSync/Demo/Data/BlendShapeIDs/BlendShape_EyeClosedR_Max.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0a1aa2868345e0e4ab67e7b58121fff7 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /FaceSync/Demo/Data/BlendShapeIDs/BlendShape_EyesHoriz_Max.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_PrefabParentObject: {fileID: 0} 7 | m_PrefabInternal: {fileID: 0} 8 | m_GameObject: {fileID: 0} 9 | m_Enabled: 1 10 | m_EditorHideFlags: 0 11 | m_Script: {fileID: 11500000, guid: f2c8e900072be4d41ba2f69681fc0fbf, type: 3} 12 | m_Name: BlendShape_EyesHoriz_Max 13 | m_EditorClassIdentifier: 14 | Label: Smile 15 | Identifier: Expressions_eyesHoriz_max 16 | -------------------------------------------------------------------------------- /FaceSync/Demo/Data/BlendShapeIDs/BlendShape_EyesHoriz_Max.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2516896f2bc226b49884abd118cfd30c 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /FaceSync/Demo/Data/BlendShapeIDs/BlendShape_EyesHoriz_Min.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_PrefabParentObject: {fileID: 0} 7 | m_PrefabInternal: {fileID: 0} 8 | m_GameObject: {fileID: 0} 9 | m_Enabled: 1 10 | m_EditorHideFlags: 0 11 | m_Script: {fileID: 11500000, guid: f2c8e900072be4d41ba2f69681fc0fbf, type: 3} 12 | m_Name: BlendShape_EyesHoriz_Min 13 | m_EditorClassIdentifier: 14 | Label: Smile 15 | Identifier: Expressions_eyesHoriz_min 16 | -------------------------------------------------------------------------------- /FaceSync/Demo/Data/BlendShapeIDs/BlendShape_EyesHoriz_Min.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 695ee338ce1347d4d99f98a405815cad 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /FaceSync/Demo/Data/BlendShapeIDs/BlendShape_EyesVert_Max.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_PrefabParentObject: {fileID: 0} 7 | m_PrefabInternal: {fileID: 0} 8 | m_GameObject: {fileID: 0} 9 | m_Enabled: 1 10 | m_EditorHideFlags: 0 11 | m_Script: {fileID: 11500000, guid: f2c8e900072be4d41ba2f69681fc0fbf, type: 3} 12 | m_Name: BlendShape_EyesVert_Max 13 | m_EditorClassIdentifier: 14 | Label: Smile 15 | Identifier: Expressions_eyesVert_max 16 | -------------------------------------------------------------------------------- /FaceSync/Demo/Data/BlendShapeIDs/BlendShape_EyesVert_Max.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e30c19b3e10326a4b84c1c153b20c2bb 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /FaceSync/Demo/Data/BlendShapeIDs/BlendShape_EyesVert_Min.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_PrefabParentObject: {fileID: 0} 7 | m_PrefabInternal: {fileID: 0} 8 | m_GameObject: {fileID: 0} 9 | m_Enabled: 1 10 | m_EditorHideFlags: 0 11 | m_Script: {fileID: 11500000, guid: f2c8e900072be4d41ba2f69681fc0fbf, type: 3} 12 | m_Name: BlendShape_EyesVert_Min 13 | m_EditorClassIdentifier: 14 | Label: Smile 15 | Identifier: Expressions_eyesVert_min 16 | -------------------------------------------------------------------------------- /FaceSync/Demo/Data/BlendShapeIDs/BlendShape_EyesVert_Min.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d4d16d116870dbd46a1fc6bac273c058 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /FaceSync/Demo/Data/BlendShapeIDs/BlendShape_JawOut_Min.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_PrefabParentObject: {fileID: 0} 7 | m_PrefabInternal: {fileID: 0} 8 | m_GameObject: {fileID: 0} 9 | m_Enabled: 1 10 | m_EditorHideFlags: 0 11 | m_Script: {fileID: 11500000, guid: f2c8e900072be4d41ba2f69681fc0fbf, type: 3} 12 | m_Name: BlendShape_JawOut_Min 13 | m_EditorClassIdentifier: 14 | Label: Smile 15 | Identifier: Expressions_jawOut_min 16 | -------------------------------------------------------------------------------- /FaceSync/Demo/Data/BlendShapeIDs/BlendShape_JawOut_Min.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 24e3747dcfeb46d4c810ec293e8237ea 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /FaceSync/Demo/Data/BlendShapeIDs/BlendShape_MouthClosed_Max.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_PrefabParentObject: {fileID: 0} 7 | m_PrefabInternal: {fileID: 0} 8 | m_GameObject: {fileID: 0} 9 | m_Enabled: 1 10 | m_EditorHideFlags: 0 11 | m_Script: {fileID: 11500000, guid: f2c8e900072be4d41ba2f69681fc0fbf, type: 3} 12 | m_Name: BlendShape_MouthClosed_Max 13 | m_EditorClassIdentifier: 14 | Label: Smile 15 | Identifier: Expressions_mouthClosed_max 16 | -------------------------------------------------------------------------------- /FaceSync/Demo/Data/BlendShapeIDs/BlendShape_MouthClosed_Max.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5c1675430f876424daa134cb82e1e3f1 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /FaceSync/Demo/Data/BlendShapeIDs/BlendShape_MouthOpenLarge_Min.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_PrefabParentObject: {fileID: 0} 7 | m_PrefabInternal: {fileID: 0} 8 | m_GameObject: {fileID: 0} 9 | m_Enabled: 1 10 | m_EditorHideFlags: 0 11 | m_Script: {fileID: 11500000, guid: f2c8e900072be4d41ba2f69681fc0fbf, type: 3} 12 | m_Name: BlendShape_MouthOpenLarge_Min 13 | m_EditorClassIdentifier: 14 | Label: Smile 15 | Identifier: Expressions_mouthOpenLarge_min 16 | -------------------------------------------------------------------------------- /FaceSync/Demo/Data/BlendShapeIDs/BlendShape_MouthOpenLarge_Min.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 89993572c3c38784c9414619b9bb13a3 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /FaceSync/Demo/Data/BlendShapeIDs/BlendShape_MouthOpenO_Max.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_PrefabParentObject: {fileID: 0} 7 | m_PrefabInternal: {fileID: 0} 8 | m_GameObject: {fileID: 0} 9 | m_Enabled: 1 10 | m_EditorHideFlags: 0 11 | m_Script: {fileID: 11500000, guid: f2c8e900072be4d41ba2f69681fc0fbf, type: 3} 12 | m_Name: BlendShape_MouthOpenO_Max 13 | m_EditorClassIdentifier: 14 | Label: Smile 15 | Identifier: Expressions_mouthOpenO_max 16 | -------------------------------------------------------------------------------- /FaceSync/Demo/Data/BlendShapeIDs/BlendShape_MouthOpenO_Max.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 99e61548f3ab8ce4b92a6ef5de40410a 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /FaceSync/Demo/Data/BlendShapeIDs/BlendShape_MouthOpenO_Min.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_PrefabParentObject: {fileID: 0} 7 | m_PrefabInternal: {fileID: 0} 8 | m_GameObject: {fileID: 0} 9 | m_Enabled: 1 10 | m_EditorHideFlags: 0 11 | m_Script: {fileID: 11500000, guid: f2c8e900072be4d41ba2f69681fc0fbf, type: 3} 12 | m_Name: BlendShape_MouthOpenO_Min 13 | m_EditorClassIdentifier: 14 | Label: Smile 15 | Identifier: Expressions_mouthOpenO_min 16 | -------------------------------------------------------------------------------- /FaceSync/Demo/Data/BlendShapeIDs/BlendShape_MouthOpenO_Min.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f8c22a90fc01aa94987b8db054b34111 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /FaceSync/Demo/Data/BlendShapeIDs/BlendShape_MouthOpen_Max.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_PrefabParentObject: {fileID: 0} 7 | m_PrefabInternal: {fileID: 0} 8 | m_GameObject: {fileID: 0} 9 | m_Enabled: 1 10 | m_EditorHideFlags: 0 11 | m_Script: {fileID: 11500000, guid: f2c8e900072be4d41ba2f69681fc0fbf, type: 3} 12 | m_Name: BlendShape_MouthOpen_Max 13 | m_EditorClassIdentifier: 14 | Label: Smile 15 | Identifier: Expressions_mouthOpen_max 16 | -------------------------------------------------------------------------------- /FaceSync/Demo/Data/BlendShapeIDs/BlendShape_MouthOpen_Max.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b0ffa2ddd19b9844db7de563c1279067 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /FaceSync/Demo/Data/BlendShapeIDs/BlendShape_MouthOpen_Min.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_PrefabParentObject: {fileID: 0} 7 | m_PrefabInternal: {fileID: 0} 8 | m_GameObject: {fileID: 0} 9 | m_Enabled: 1 10 | m_EditorHideFlags: 0 11 | m_Script: {fileID: 11500000, guid: f2c8e900072be4d41ba2f69681fc0fbf, type: 3} 12 | m_Name: BlendShape_MouthOpen_Min 13 | m_EditorClassIdentifier: 14 | Label: Smile 15 | Identifier: Expressions_mouthOpen_min 16 | -------------------------------------------------------------------------------- /FaceSync/Demo/Data/BlendShapeIDs/BlendShape_MouthOpen_Min.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6107cbca5b063414bb4559bcc54da93b 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /FaceSync/Demo/Data/BlendShapeIDs/BlendShape_MouthSmile_Max.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_PrefabParentObject: {fileID: 0} 7 | m_PrefabInternal: {fileID: 0} 8 | m_GameObject: {fileID: 0} 9 | m_Enabled: 1 10 | m_EditorHideFlags: 0 11 | m_Script: {fileID: 11500000, guid: f2c8e900072be4d41ba2f69681fc0fbf, type: 3} 12 | m_Name: BlendShape_MouthSmile_Max 13 | m_EditorClassIdentifier: 14 | Label: Smile 15 | Identifier: Expressions_mouthSmile_max 16 | -------------------------------------------------------------------------------- /FaceSync/Demo/Data/BlendShapeIDs/BlendShape_MouthSmile_Max.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 93d4ce0e6dab1c0438c5a27fd8ace503 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /FaceSync/Demo/Data/BlendShapeIDs/BlendShape_TongueVert_Max.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_PrefabParentObject: {fileID: 0} 7 | m_PrefabInternal: {fileID: 0} 8 | m_GameObject: {fileID: 0} 9 | m_Enabled: 1 10 | m_EditorHideFlags: 0 11 | m_Script: {fileID: 11500000, guid: f2c8e900072be4d41ba2f69681fc0fbf, type: 3} 12 | m_Name: BlendShape_TongueVert_Max 13 | m_EditorClassIdentifier: 14 | Label: Smile 15 | Identifier: Expressions_tongueVert_max 16 | -------------------------------------------------------------------------------- /FaceSync/Demo/Data/BlendShapeIDs/BlendShape_TongueVert_Max.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f4d70c6528912a34abfa9ecf9dd20faf 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /FaceSync/Demo/Data/FSD_ConversationTest.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_PrefabParentObject: {fileID: 0} 7 | m_PrefabInternal: {fileID: 0} 8 | m_GameObject: {fileID: 0} 9 | m_Enabled: 1 10 | m_EditorHideFlags: 0 11 | m_Script: {fileID: 11500000, guid: 64e7ce8275c83384ebcf7c8ca0077530, type: 3} 12 | m_Name: FSD_ConversationTest 13 | m_EditorClassIdentifier: 14 | Sound: {fileID: 8300000, guid: eaa771635749ad8478fe4527cf275bed, type: 3} 15 | ReferenceText: Master lang, if you know who I am then you know what I seek annd 16 | how important it is that I succeed, can you assist in my quest 17 | Keyframes: 18 | - Time: 0 19 | BlendSet: {fileID: 11400000, guid: fa2b5684c6d25bf47bc5c88e0701c0a2, type: 2} 20 | - Time: 0.068958655 21 | BlendSet: {fileID: 11400000, guid: 2f335ae9fc7802d449fdf5aa042d4b13, type: 2} 22 | - Time: 0.27583462 23 | BlendSet: {fileID: 11400000, guid: e85b3099f5cae8e43becc0d3b63c8c25, type: 2} 24 | - Time: 0.4827106 25 | BlendSet: {fileID: 11400000, guid: 9bcd99053dd84924fbdc3fbc4c63bc44, type: 2} 26 | - Time: 0.55166924 27 | BlendSet: {fileID: 11400000, guid: 2f335ae9fc7802d449fdf5aa042d4b13, type: 2} 28 | - Time: 0.89646256 29 | BlendSet: {fileID: 11400000, guid: 2f335ae9fc7802d449fdf5aa042d4b13, type: 2} 30 | - Time: 0.9654212 31 | BlendSet: {fileID: 11400000, guid: 6b454370ad0e084439b1fcdab6e18bc7, type: 2} 32 | - Time: 1.1722972 33 | BlendSet: {fileID: 11400000, guid: df62c4e1db89d9b4690348aba5fa8c11, type: 2} 34 | - Time: 1.2412559 35 | BlendSet: {fileID: 11400000, guid: c053627c1d981a04197c5ce2c0821d23, type: 2} 36 | - Time: 1.5170904 37 | BlendSet: {fileID: 11400000, guid: df62c4e1db89d9b4690348aba5fa8c11, type: 2} 38 | - Time: 1.5860491 39 | BlendSet: {fileID: 11400000, guid: c7a86650d38472447bb5b02d53b91bb3, type: 2} 40 | - Time: 1.7239665 41 | BlendSet: {fileID: 11400000, guid: c7a86650d38472447bb5b02d53b91bb3, type: 2} 42 | - Time: 1.8618838 43 | BlendSet: {fileID: 11400000, guid: df62c4e1db89d9b4690348aba5fa8c11, type: 2} 44 | - Time: 1.999801 45 | BlendSet: {fileID: 11400000, guid: 2f335ae9fc7802d449fdf5aa042d4b13, type: 2} 46 | - Time: 2.1377184 47 | BlendSet: {fileID: 11400000, guid: 2f335ae9fc7802d449fdf5aa042d4b13, type: 2} 48 | - Time: 2.206677 49 | BlendSet: {fileID: 11400000, guid: fa2b5684c6d25bf47bc5c88e0701c0a2, type: 2} 50 | - Time: 2.3445945 51 | BlendSet: {fileID: 11400000, guid: 9bcd99053dd84924fbdc3fbc4c63bc44, type: 2} 52 | - Time: 2.4825118 53 | BlendSet: {fileID: 11400000, guid: e85b3099f5cae8e43becc0d3b63c8c25, type: 2} 54 | - Time: 2.7583463 55 | BlendSet: {fileID: 11400000, guid: df62c4e1db89d9b4690348aba5fa8c11, type: 2} 56 | - Time: 2.827305 57 | BlendSet: {fileID: 11400000, guid: c053627c1d981a04197c5ce2c0821d23, type: 2} 58 | - Time: 3.1031396 59 | BlendSet: {fileID: 11400000, guid: df62c4e1db89d9b4690348aba5fa8c11, type: 2} 60 | - Time: 3.1720982 61 | BlendSet: {fileID: 11400000, guid: c7a86650d38472447bb5b02d53b91bb3, type: 2} 62 | - Time: 3.3100157 63 | BlendSet: {fileID: 11400000, guid: c7a86650d38472447bb5b02d53b91bb3, type: 2} 64 | - Time: 3.447933 65 | BlendSet: {fileID: 11400000, guid: 2f335ae9fc7802d449fdf5aa042d4b13, type: 2} 66 | - Time: 3.6548088 67 | BlendSet: {fileID: 11400000, guid: 2f335ae9fc7802d449fdf5aa042d4b13, type: 2} 68 | - Time: 3.8616848 69 | BlendSet: {fileID: 11400000, guid: e85b3099f5cae8e43becc0d3b63c8c25, type: 2} 70 | - Time: 3.9306436 71 | BlendSet: {fileID: 11400000, guid: e85b3099f5cae8e43becc0d3b63c8c25, type: 2} 72 | - Time: 4.1375194 73 | BlendSet: {fileID: 11400000, guid: 2f335ae9fc7802d449fdf5aa042d4b13, type: 2} 74 | - Time: 4.5512714 75 | BlendSet: {fileID: 11400000, guid: df62c4e1db89d9b4690348aba5fa8c11, type: 2} 76 | - Time: 4.62023 77 | BlendSet: {fileID: 11400000, guid: c7a86650d38472447bb5b02d53b91bb3, type: 2} 78 | - Time: 4.7581472 79 | BlendSet: {fileID: 11400000, guid: 2f335ae9fc7802d449fdf5aa042d4b13, type: 2} 80 | - Time: 4.827106 81 | BlendSet: {fileID: 11400000, guid: fa2b5684c6d25bf47bc5c88e0701c0a2, type: 2} 82 | - Time: 4.8960648 83 | BlendSet: {fileID: 11400000, guid: fa2b5684c6d25bf47bc5c88e0701c0a2, type: 2} 84 | - Time: 4.9650235 85 | BlendSet: {fileID: 11400000, guid: df62c4e1db89d9b4690348aba5fa8c11, type: 2} 86 | - Time: 5.1718993 87 | BlendSet: {fileID: 11400000, guid: 2f335ae9fc7802d449fdf5aa042d4b13, type: 2} 88 | - Time: 5.447734 89 | BlendSet: {fileID: 11400000, guid: 2f335ae9fc7802d449fdf5aa042d4b13, type: 2} 90 | - Time: 5.65461 91 | BlendSet: {fileID: 11400000, guid: 2f335ae9fc7802d449fdf5aa042d4b13, type: 2} 92 | - Time: 5.861486 93 | BlendSet: {fileID: 11400000, guid: 9bcd99053dd84924fbdc3fbc4c63bc44, type: 2} 94 | - Time: 5.9994035 95 | BlendSet: {fileID: 11400000, guid: 2f335ae9fc7802d449fdf5aa042d4b13, type: 2} 96 | - Time: 6.2062793 97 | BlendSet: {fileID: 11400000, guid: 2f335ae9fc7802d449fdf5aa042d4b13, type: 2} 98 | - Time: 6.413155 99 | BlendSet: {fileID: 11400000, guid: c053627c1d981a04197c5ce2c0821d23, type: 2} 100 | - Time: 6.6200314 101 | BlendSet: {fileID: 11400000, guid: e85b3099f5cae8e43becc0d3b63c8c25, type: 2} 102 | - Time: 6.6889896 103 | BlendSet: {fileID: 11400000, guid: e85b3099f5cae8e43becc0d3b63c8c25, type: 2} 104 | - Time: 7.033783 105 | BlendSet: {fileID: 11400000, guid: 2f335ae9fc7802d449fdf5aa042d4b13, type: 2} 106 | - Time: 7.3096175 107 | BlendSet: {fileID: 11400000, guid: df62c4e1db89d9b4690348aba5fa8c11, type: 2} 108 | - Time: 7.3785763 109 | BlendSet: {fileID: 11400000, guid: c053627c1d981a04197c5ce2c0821d23, type: 2} 110 | - Time: 7.516494 111 | BlendSet: {fileID: 11400000, guid: 2f335ae9fc7802d449fdf5aa042d4b13, type: 2} 112 | - Time: 7.7233696 113 | BlendSet: {fileID: 11400000, guid: 2f335ae9fc7802d449fdf5aa042d4b13, type: 2} 114 | - Time: 7.999204 115 | BlendSet: {fileID: 11400000, guid: 2f335ae9fc7802d449fdf5aa042d4b13, type: 2} 116 | - Time: 8.20608 117 | BlendSet: {fileID: 11400000, guid: fa2b5684c6d25bf47bc5c88e0701c0a2, type: 2} 118 | - Time: 8.4819145 119 | BlendSet: {fileID: 11400000, guid: c053627c1d981a04197c5ce2c0821d23, type: 2} 120 | - Time: 8.550874 121 | BlendSet: {fileID: 11400000, guid: e85b3099f5cae8e43becc0d3b63c8c25, type: 2} 122 | -------------------------------------------------------------------------------- /FaceSync/Demo/Data/FSD_ConversationTest.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 049e4b2e4d380884a9b1869a7058eddb 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /FaceSync/Demo/Data/FSD_ConversationTest2.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_PrefabParentObject: {fileID: 0} 7 | m_PrefabInternal: {fileID: 0} 8 | m_GameObject: {fileID: 0} 9 | m_Enabled: 1 10 | m_EditorHideFlags: 0 11 | m_Script: {fileID: 11500000, guid: 64e7ce8275c83384ebcf7c8ca0077530, type: 3} 12 | m_Name: FSD_ConversationTest2 13 | m_EditorClassIdentifier: 14 | Sound: {fileID: 8300000, guid: 2354422d9ca1ef24783e06a101f02116, type: 3} 15 | ReferenceText: You are hormonaly confused 16 | Keyframes: 17 | - Time: 0.09846154 18 | BlendSet: {fileID: 11400000, guid: df62c4e1db89d9b4690348aba5fa8c11, type: 2} 19 | - Time: 0.19692308 20 | BlendSet: {fileID: 11400000, guid: c053627c1d981a04197c5ce2c0821d23, type: 2} 21 | - Time: 0.39384615 22 | BlendSet: {fileID: 11400000, guid: 2f335ae9fc7802d449fdf5aa042d4b13, type: 2} 23 | - Time: 0.569 24 | BlendSet: {fileID: 11400000, guid: e85b3099f5cae8e43becc0d3b63c8c25, type: 2} 25 | - Time: 0.671 26 | BlendSet: {fileID: 11400000, guid: df62c4e1db89d9b4690348aba5fa8c11, type: 2} 27 | - Time: 0.888 28 | BlendSet: {fileID: 11400000, guid: fa2b5684c6d25bf47bc5c88e0701c0a2, type: 2} 29 | - Time: 1.021 30 | BlendSet: {fileID: 11400000, guid: df62c4e1db89d9b4690348aba5fa8c11, type: 2} 31 | - Time: 1.179 32 | BlendSet: {fileID: 11400000, guid: 2f335ae9fc7802d449fdf5aa042d4b13, type: 2} 33 | - Time: 1.268 34 | BlendSet: {fileID: 11400000, guid: 9bcd99053dd84924fbdc3fbc4c63bc44, type: 2} 35 | - Time: 1.56 36 | BlendSet: {fileID: 11400000, guid: df62c4e1db89d9b4690348aba5fa8c11, type: 2} 37 | - Time: 1.643 38 | BlendSet: {fileID: 11400000, guid: 6b454370ad0e084439b1fcdab6e18bc7, type: 2} 39 | - Time: 1.749 40 | BlendSet: {fileID: 11400000, guid: c053627c1d981a04197c5ce2c0821d23, type: 2} 41 | - Time: 2.14 42 | BlendSet: {fileID: 11400000, guid: e85b3099f5cae8e43becc0d3b63c8c25, type: 2} 43 | - Time: 2.299 44 | BlendSet: {fileID: 11400000, guid: 700958266559828448ed980403cbdd3c, type: 2} 45 | -------------------------------------------------------------------------------- /FaceSync/Demo/Data/FSD_ConversationTest2.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: eefa0e33ed96d964594007854699f83f 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /FaceSync/Demo/Data/FaceSyncData.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_PrefabParentObject: {fileID: 0} 7 | m_PrefabInternal: {fileID: 0} 8 | m_GameObject: {fileID: 0} 9 | m_Enabled: 1 10 | m_EditorHideFlags: 0 11 | m_Script: {fileID: 11500000, guid: 64e7ce8275c83384ebcf7c8ca0077530, type: 3} 12 | m_Name: FaceSyncData 13 | m_EditorClassIdentifier: 14 | Sound: {fileID: 8300000, guid: eaa771635749ad8478fe4527cf275bed, type: 3} 15 | ReferenceText: This is an example 16 | Keyframes: 17 | - Time: 0 18 | BlendSet: {fileID: 11400000, guid: 9bcd99053dd84924fbdc3fbc4c63bc44, type: 2} 19 | - Time: 0.97308326 20 | BlendSet: {fileID: 11400000, guid: 2f335ae9fc7802d449fdf5aa042d4b13, type: 2} 21 | - Time: 2.55 22 | BlendSet: {fileID: 11400000, guid: 2f335ae9fc7802d449fdf5aa042d4b13, type: 2} 23 | - Time: 3.892333 24 | BlendSet: {fileID: 11400000, guid: 2f335ae9fc7802d449fdf5aa042d4b13, type: 2} 25 | - Time: 5.3519583 26 | BlendSet: {fileID: 11400000, guid: e85b3099f5cae8e43becc0d3b63c8c25, type: 2} 27 | - Time: 6.3250413 28 | BlendSet: {fileID: 11400000, guid: 2f335ae9fc7802d449fdf5aa042d4b13, type: 2} 29 | - Time: 6.811583 30 | BlendSet: {fileID: 11400000, guid: fa2b5684c6d25bf47bc5c88e0701c0a2, type: 2} 31 | - Time: 7.298125 32 | BlendSet: {fileID: 11400000, guid: fa2b5684c6d25bf47bc5c88e0701c0a2, type: 2} 33 | - Time: 7.784666 34 | BlendSet: {fileID: 11400000, guid: 9bcd99053dd84924fbdc3fbc4c63bc44, type: 2} 35 | - Time: 8.271208 36 | BlendSet: {fileID: 11400000, guid: e85b3099f5cae8e43becc0d3b63c8c25, type: 2} 37 | -------------------------------------------------------------------------------- /FaceSync/Demo/Data/FaceSyncData.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 802081cefdb8b974883c2771aadcc2d0 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /FaceSync/Demo/Data/Rules.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0e9863733a7d28144b82ba47faa5ade2 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /FaceSync/Demo/Data/Rules/PhonemeRules.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_PrefabParentObject: {fileID: 0} 7 | m_PrefabInternal: {fileID: 0} 8 | m_GameObject: {fileID: 0} 9 | m_Enabled: 1 10 | m_EditorHideFlags: 0 11 | m_Script: {fileID: 11500000, guid: fa52b983a850da44f829a424fe21924e, type: 3} 12 | m_Name: PhonemeRules 13 | m_EditorClassIdentifier: 14 | Rules: 15 | - Identifier: a 16 | Set: {fileID: 11400000, guid: 2f335ae9fc7802d449fdf5aa042d4b13, type: 2} 17 | - Identifier: e 18 | Set: {fileID: 11400000, guid: e85b3099f5cae8e43becc0d3b63c8c25, type: 2} 19 | - Identifier: m 20 | Set: {fileID: 11400000, guid: fa2b5684c6d25bf47bc5c88e0701c0a2, type: 2} 21 | - Identifier: f 22 | Set: {fileID: 11400000, guid: 6b454370ad0e084439b1fcdab6e18bc7, type: 2} 23 | - Identifier: l 24 | Set: {fileID: 11400000, guid: 9bcd99053dd84924fbdc3fbc4c63bc44, type: 2} 25 | - Identifier: o 26 | Set: {fileID: 11400000, guid: df62c4e1db89d9b4690348aba5fa8c11, type: 2} 27 | - Identifier: u 28 | Set: {fileID: 11400000, guid: c053627c1d981a04197c5ce2c0821d23, type: 2} 29 | - Identifier: i 30 | Set: {fileID: 11400000, guid: 2f335ae9fc7802d449fdf5aa042d4b13, type: 2} 31 | - Identifier: b 32 | Set: {fileID: 11400000, guid: fa2b5684c6d25bf47bc5c88e0701c0a2, type: 2} 33 | - Identifier: p 34 | Set: {fileID: 11400000, guid: fa2b5684c6d25bf47bc5c88e0701c0a2, type: 2} 35 | - Identifier: v 36 | Set: {fileID: 11400000, guid: 6b454370ad0e084439b1fcdab6e18bc7, type: 2} 37 | - Identifier: w 38 | Set: {fileID: 11400000, guid: c7a86650d38472447bb5b02d53b91bb3, type: 2} 39 | - Identifier: th 40 | Set: {fileID: 11400000, guid: 9bcd99053dd84924fbdc3fbc4c63bc44, type: 2} 41 | -------------------------------------------------------------------------------- /FaceSync/Demo/Data/Rules/PhonemeRules.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 530a42fc67babaa4b82b886e21c76466 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /FaceSync/Demo/HumanController.controller: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!91 &9100000 4 | AnimatorController: 5 | m_ObjectHideFlags: 0 6 | m_PrefabParentObject: {fileID: 0} 7 | m_PrefabInternal: {fileID: 0} 8 | m_Name: HumanController 9 | serializedVersion: 5 10 | m_AnimatorParameters: [] 11 | m_AnimatorLayers: 12 | - serializedVersion: 5 13 | m_Name: Base Layer 14 | m_StateMachine: {fileID: 1107704771295125080} 15 | m_Mask: {fileID: 0} 16 | m_Motions: [] 17 | m_Behaviours: [] 18 | m_BlendingMode: 0 19 | m_SyncedLayerIndex: -1 20 | m_DefaultWeight: 0 21 | m_IKPass: 0 22 | m_SyncedLayerAffectsTiming: 0 23 | m_Controller: {fileID: 9100000} 24 | --- !u!1102 &1102655992720719042 25 | AnimatorState: 26 | serializedVersion: 5 27 | m_ObjectHideFlags: 1 28 | m_PrefabParentObject: {fileID: 0} 29 | m_PrefabInternal: {fileID: 0} 30 | m_Name: New State 31 | m_Speed: 1 32 | m_CycleOffset: 0 33 | m_Transitions: [] 34 | m_StateMachineBehaviours: [] 35 | m_Position: {x: 50, y: 50, z: 0} 36 | m_IKOnFeet: 0 37 | m_WriteDefaultValues: 0 38 | m_Mirror: 0 39 | m_SpeedParameterActive: 0 40 | m_MirrorParameterActive: 0 41 | m_CycleOffsetParameterActive: 0 42 | m_TimeParameterActive: 0 43 | m_Motion: {fileID: 7400000, guid: ff977d686a18cab4eb92a531d05c9a71, type: 3} 44 | m_Tag: 45 | m_SpeedParameter: 46 | m_MirrorParameter: 47 | m_CycleOffsetParameter: 48 | m_TimeParameter: 49 | --- !u!1107 &1107704771295125080 50 | AnimatorStateMachine: 51 | serializedVersion: 5 52 | m_ObjectHideFlags: 1 53 | m_PrefabParentObject: {fileID: 0} 54 | m_PrefabInternal: {fileID: 0} 55 | m_Name: Base Layer 56 | m_ChildStates: 57 | - serializedVersion: 1 58 | m_State: {fileID: 1102655992720719042} 59 | m_Position: {x: 468, y: 60, z: 0} 60 | m_ChildStateMachines: [] 61 | m_AnyStateTransitions: [] 62 | m_EntryTransitions: [] 63 | m_StateMachineTransitions: {} 64 | m_StateMachineBehaviours: [] 65 | m_AnyStatePosition: {x: 50, y: 20, z: 0} 66 | m_EntryPosition: {x: 50, y: 120, z: 0} 67 | m_ExitPosition: {x: 800, y: 120, z: 0} 68 | m_ParentStateMachinePosition: {x: 800, y: 20, z: 0} 69 | m_DefaultState: {fileID: 1102655992720719042} 70 | -------------------------------------------------------------------------------- /FaceSync/Demo/HumanController.controller.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 44034ffd66f5ef94c8f6e7ee41f8526b 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 9100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /FaceSync/Demo/Materials.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 075649d5e56a49e4a92c9a8bb22728ad 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /FaceSync/Demo/Materials/Eyes.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!21 &2100000 4 | Material: 5 | serializedVersion: 6 6 | m_ObjectHideFlags: 0 7 | m_PrefabParentObject: {fileID: 0} 8 | m_PrefabInternal: {fileID: 0} 9 | m_Name: Eyes 10 | m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} 11 | m_ShaderKeywords: 12 | m_LightmapFlags: 4 13 | m_EnableInstancingVariants: 0 14 | m_DoubleSidedGI: 0 15 | m_CustomRenderQueue: -1 16 | stringTagMap: {} 17 | disabledShaderPasses: [] 18 | m_SavedProperties: 19 | serializedVersion: 3 20 | m_TexEnvs: 21 | - _BumpMap: 22 | m_Texture: {fileID: 0} 23 | m_Scale: {x: 1, y: 1} 24 | m_Offset: {x: 0, y: 0} 25 | - _DetailAlbedoMap: 26 | m_Texture: {fileID: 0} 27 | m_Scale: {x: 1, y: 1} 28 | m_Offset: {x: 0, y: 0} 29 | - _DetailMask: 30 | m_Texture: {fileID: 0} 31 | m_Scale: {x: 1, y: 1} 32 | m_Offset: {x: 0, y: 0} 33 | - _DetailNormalMap: 34 | m_Texture: {fileID: 0} 35 | m_Scale: {x: 1, y: 1} 36 | m_Offset: {x: 0, y: 0} 37 | - _EmissionMap: 38 | m_Texture: {fileID: 0} 39 | m_Scale: {x: 1, y: 1} 40 | m_Offset: {x: 0, y: 0} 41 | - _MainTex: 42 | m_Texture: {fileID: 2800000, guid: cf3592812463f3b4fbc5ce9e0b646863, type: 3} 43 | m_Scale: {x: 1, y: 1} 44 | m_Offset: {x: 0, y: 0} 45 | - _MetallicGlossMap: 46 | m_Texture: {fileID: 0} 47 | m_Scale: {x: 1, y: 1} 48 | m_Offset: {x: 0, y: 0} 49 | - _OcclusionMap: 50 | m_Texture: {fileID: 0} 51 | m_Scale: {x: 1, y: 1} 52 | m_Offset: {x: 0, y: 0} 53 | - _ParallaxMap: 54 | m_Texture: {fileID: 0} 55 | m_Scale: {x: 1, y: 1} 56 | m_Offset: {x: 0, y: 0} 57 | m_Floats: 58 | - _BumpScale: 1 59 | - _Cutoff: 0.5 60 | - _DetailNormalMapScale: 1 61 | - _DstBlend: 0 62 | - _GlossMapScale: 1 63 | - _Glossiness: 0.5 64 | - _GlossyReflections: 1 65 | - _Metallic: 0 66 | - _Mode: 0 67 | - _OcclusionStrength: 1 68 | - _Parallax: 0.02 69 | - _SmoothnessTextureChannel: 0 70 | - _SpecularHighlights: 1 71 | - _SrcBlend: 1 72 | - _UVSec: 0 73 | - _ZWrite: 1 74 | m_Colors: 75 | - _Color: {r: 0, g: 0, b: 0, a: 1} 76 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} 77 | -------------------------------------------------------------------------------- /FaceSync/Demo/Materials/Eyes.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e41d2f613d3dba94a9afec040994b8f9 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /FaceSync/Demo/Scenes.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a4b20b43db9c09541a6eec631cf17ee2 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /FaceSync/Demo/Scenes/FaceSync.unity: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!29 &1 4 | OcclusionCullingSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_OcclusionBakeSettings: 8 | smallestOccluder: 5 9 | smallestHole: 0.25 10 | backfaceThreshold: 100 11 | m_SceneGUID: 00000000000000000000000000000000 12 | m_OcclusionCullingData: {fileID: 0} 13 | --- !u!104 &2 14 | RenderSettings: 15 | m_ObjectHideFlags: 0 16 | serializedVersion: 8 17 | m_Fog: 0 18 | m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} 19 | m_FogMode: 3 20 | m_FogDensity: 0.01 21 | m_LinearFogStart: 0 22 | m_LinearFogEnd: 300 23 | m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} 24 | m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} 25 | m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} 26 | m_AmbientIntensity: 1 27 | m_AmbientMode: 0 28 | m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} 29 | m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} 30 | m_HaloStrength: 0.5 31 | m_FlareStrength: 1 32 | m_FlareFadeSpeed: 3 33 | m_HaloTexture: {fileID: 0} 34 | m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} 35 | m_DefaultReflectionMode: 0 36 | m_DefaultReflectionResolution: 128 37 | m_ReflectionBounces: 1 38 | m_ReflectionIntensity: 1 39 | m_CustomReflection: {fileID: 0} 40 | m_Sun: {fileID: 0} 41 | m_IndirectSpecularColor: {r: 0.44904995, g: 0.49569225, b: 0.55728626, a: 1} 42 | --- !u!157 &3 43 | LightmapSettings: 44 | m_ObjectHideFlags: 0 45 | serializedVersion: 11 46 | m_GIWorkflowMode: 0 47 | m_GISettings: 48 | serializedVersion: 2 49 | m_BounceScale: 1 50 | m_IndirectOutputScale: 1 51 | m_AlbedoBoost: 1 52 | m_TemporalCoherenceThreshold: 1 53 | m_EnvironmentLightingMode: 0 54 | m_EnableBakedLightmaps: 1 55 | m_EnableRealtimeLightmaps: 1 56 | m_LightmapEditorSettings: 57 | serializedVersion: 9 58 | m_Resolution: 2 59 | m_BakeResolution: 40 60 | m_TextureWidth: 1024 61 | m_TextureHeight: 1024 62 | m_AO: 0 63 | m_AOMaxDistance: 1 64 | m_CompAOExponent: 1 65 | m_CompAOExponentDirect: 0 66 | m_Padding: 2 67 | m_LightmapParameters: {fileID: 0} 68 | m_LightmapsBakeMode: 1 69 | m_TextureCompression: 1 70 | m_FinalGather: 0 71 | m_FinalGatherFiltering: 1 72 | m_FinalGatherRayCount: 256 73 | m_ReflectionCompression: 2 74 | m_MixedBakeMode: 2 75 | m_BakeBackend: 0 76 | m_PVRSampling: 1 77 | m_PVRDirectSampleCount: 32 78 | m_PVRSampleCount: 500 79 | m_PVRBounces: 2 80 | m_PVRFilterTypeDirect: 0 81 | m_PVRFilterTypeIndirect: 0 82 | m_PVRFilterTypeAO: 0 83 | m_PVRFilteringMode: 1 84 | m_PVRCulling: 1 85 | m_PVRFilteringGaussRadiusDirect: 1 86 | m_PVRFilteringGaussRadiusIndirect: 5 87 | m_PVRFilteringGaussRadiusAO: 2 88 | m_PVRFilteringAtrousPositionSigmaDirect: 0.5 89 | m_PVRFilteringAtrousPositionSigmaIndirect: 2 90 | m_PVRFilteringAtrousPositionSigmaAO: 1 91 | m_ShowResolutionOverlay: 1 92 | m_LightingDataAsset: {fileID: 0} 93 | m_UseShadowmask: 1 94 | --- !u!196 &4 95 | NavMeshSettings: 96 | serializedVersion: 2 97 | m_ObjectHideFlags: 0 98 | m_BuildSettings: 99 | serializedVersion: 2 100 | agentTypeID: 0 101 | agentRadius: 0.5 102 | agentHeight: 2 103 | agentSlope: 45 104 | agentClimb: 0.4 105 | ledgeDropHeight: 0 106 | maxJumpAcrossDistance: 0 107 | minRegionArea: 2 108 | manualCellSize: 0 109 | cellSize: 0.16666667 110 | manualTileSize: 0 111 | tileSize: 256 112 | accuratePlacement: 0 113 | debug: 114 | m_Flags: 0 115 | m_NavMeshData: {fileID: 0} 116 | --- !u!1001 &651540430 117 | Prefab: 118 | m_ObjectHideFlags: 0 119 | serializedVersion: 2 120 | m_Modification: 121 | m_TransformParent: {fileID: 0} 122 | m_Modifications: 123 | - target: {fileID: 13700000, guid: ff977d686a18cab4eb92a531d05c9a71, type: 3} 124 | propertyPath: m_BlendShapeWeights.Array.size 125 | value: 78 126 | objectReference: {fileID: 0} 127 | - target: {fileID: 400036, guid: ff977d686a18cab4eb92a531d05c9a71, type: 3} 128 | propertyPath: m_LocalPosition.x 129 | value: 0 130 | objectReference: {fileID: 0} 131 | - target: {fileID: 400036, guid: ff977d686a18cab4eb92a531d05c9a71, type: 3} 132 | propertyPath: m_LocalPosition.y 133 | value: 0 134 | objectReference: {fileID: 0} 135 | - target: {fileID: 400036, guid: ff977d686a18cab4eb92a531d05c9a71, type: 3} 136 | propertyPath: m_LocalPosition.z 137 | value: 0 138 | objectReference: {fileID: 0} 139 | - target: {fileID: 400036, guid: ff977d686a18cab4eb92a531d05c9a71, type: 3} 140 | propertyPath: m_LocalRotation.x 141 | value: 0 142 | objectReference: {fileID: 0} 143 | - target: {fileID: 400036, guid: ff977d686a18cab4eb92a531d05c9a71, type: 3} 144 | propertyPath: m_LocalRotation.y 145 | value: 0 146 | objectReference: {fileID: 0} 147 | - target: {fileID: 400036, guid: ff977d686a18cab4eb92a531d05c9a71, type: 3} 148 | propertyPath: m_LocalRotation.z 149 | value: 0 150 | objectReference: {fileID: 0} 151 | - target: {fileID: 400036, guid: ff977d686a18cab4eb92a531d05c9a71, type: 3} 152 | propertyPath: m_LocalRotation.w 153 | value: 1 154 | objectReference: {fileID: 0} 155 | - target: {fileID: 400036, guid: ff977d686a18cab4eb92a531d05c9a71, type: 3} 156 | propertyPath: m_RootOrder 157 | value: 1 158 | objectReference: {fileID: 0} 159 | - target: {fileID: 100036, guid: ff977d686a18cab4eb92a531d05c9a71, type: 3} 160 | propertyPath: m_Name 161 | value: human (1) 162 | objectReference: {fileID: 0} 163 | - target: {fileID: 9500000, guid: ff977d686a18cab4eb92a531d05c9a71, type: 3} 164 | propertyPath: m_Controller 165 | value: 166 | objectReference: {fileID: 9100000, guid: 44034ffd66f5ef94c8f6e7ee41f8526b, type: 2} 167 | - target: {fileID: 9500000, guid: ff977d686a18cab4eb92a531d05c9a71, type: 3} 168 | propertyPath: m_ApplyRootMotion 169 | value: 0 170 | objectReference: {fileID: 0} 171 | - target: {fileID: 13700000, guid: ff977d686a18cab4eb92a531d05c9a71, type: 3} 172 | propertyPath: m_BlendShapeWeights.Array.data[26] 173 | value: 0 174 | objectReference: {fileID: 0} 175 | - target: {fileID: 13700000, guid: ff977d686a18cab4eb92a531d05c9a71, type: 3} 176 | propertyPath: m_BlendShapeWeights.Array.data[25] 177 | value: 0 178 | objectReference: {fileID: 0} 179 | - target: {fileID: 13700000, guid: ff977d686a18cab4eb92a531d05c9a71, type: 3} 180 | propertyPath: m_BlendShapeWeights.Array.data[23] 181 | value: 0 182 | objectReference: {fileID: 0} 183 | - target: {fileID: 13700000, guid: ff977d686a18cab4eb92a531d05c9a71, type: 3} 184 | propertyPath: m_BlendShapeWeights.Array.data[56] 185 | value: 0 186 | objectReference: {fileID: 0} 187 | - target: {fileID: 13700000, guid: ff977d686a18cab4eb92a531d05c9a71, type: 3} 188 | propertyPath: m_BlendShapeWeights.Array.data[57] 189 | value: 0 190 | objectReference: {fileID: 0} 191 | - target: {fileID: 13700000, guid: ff977d686a18cab4eb92a531d05c9a71, type: 3} 192 | propertyPath: m_BlendShapeWeights.Array.data[21] 193 | value: 0 194 | objectReference: {fileID: 0} 195 | - target: {fileID: 13700000, guid: ff977d686a18cab4eb92a531d05c9a71, type: 3} 196 | propertyPath: m_BlendShapeWeights.Array.data[22] 197 | value: 0 198 | objectReference: {fileID: 0} 199 | - target: {fileID: 13700000, guid: ff977d686a18cab4eb92a531d05c9a71, type: 3} 200 | propertyPath: m_BlendShapeWeights.Array.data[15] 201 | value: 0 202 | objectReference: {fileID: 0} 203 | - target: {fileID: 13700000, guid: ff977d686a18cab4eb92a531d05c9a71, type: 3} 204 | propertyPath: m_Materials.Array.data[2] 205 | value: 206 | objectReference: {fileID: 2100000, guid: e41d2f613d3dba94a9afec040994b8f9, type: 2} 207 | - target: {fileID: 13700000, guid: ff977d686a18cab4eb92a531d05c9a71, type: 3} 208 | propertyPath: m_Materials.Array.data[3] 209 | value: 210 | objectReference: {fileID: 2100002, guid: ff977d686a18cab4eb92a531d05c9a71, type: 3} 211 | m_RemovedComponents: [] 212 | m_ParentPrefab: {fileID: 100100000, guid: ff977d686a18cab4eb92a531d05c9a71, type: 3} 213 | m_IsPrefabParent: 0 214 | --- !u!1 &1028455741 215 | GameObject: 216 | m_ObjectHideFlags: 0 217 | m_PrefabParentObject: {fileID: 0} 218 | m_PrefabInternal: {fileID: 0} 219 | serializedVersion: 5 220 | m_Component: 221 | - component: {fileID: 1028455743} 222 | - component: {fileID: 1028455742} 223 | m_Layer: 0 224 | m_Name: Directional Light 225 | m_TagString: Untagged 226 | m_Icon: {fileID: 0} 227 | m_NavMeshLayer: 0 228 | m_StaticEditorFlags: 0 229 | m_IsActive: 1 230 | --- !u!108 &1028455742 231 | Light: 232 | m_ObjectHideFlags: 0 233 | m_PrefabParentObject: {fileID: 0} 234 | m_PrefabInternal: {fileID: 0} 235 | m_GameObject: {fileID: 1028455741} 236 | m_Enabled: 1 237 | serializedVersion: 8 238 | m_Type: 1 239 | m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} 240 | m_Intensity: 0.5 241 | m_Range: 10 242 | m_SpotAngle: 30 243 | m_CookieSize: 10 244 | m_Shadows: 245 | m_Type: 2 246 | m_Resolution: -1 247 | m_CustomResolution: -1 248 | m_Strength: 1 249 | m_Bias: 0.05 250 | m_NormalBias: 0.4 251 | m_NearPlane: 0.2 252 | m_Cookie: {fileID: 0} 253 | m_DrawHalo: 0 254 | m_Flare: {fileID: 0} 255 | m_RenderMode: 0 256 | m_CullingMask: 257 | serializedVersion: 2 258 | m_Bits: 4294967295 259 | m_Lightmapping: 4 260 | m_AreaSize: {x: 1, y: 1} 261 | m_BounceIntensity: 1 262 | m_ColorTemperature: 6570 263 | m_UseColorTemperature: 0 264 | m_ShadowRadius: 0 265 | m_ShadowAngle: 0 266 | --- !u!4 &1028455743 267 | Transform: 268 | m_ObjectHideFlags: 0 269 | m_PrefabParentObject: {fileID: 0} 270 | m_PrefabInternal: {fileID: 0} 271 | m_GameObject: {fileID: 1028455741} 272 | m_LocalRotation: {x: 0.22228324, y: -0.9605015, z: 0.16551806, w: 0.025116932} 273 | m_LocalPosition: {x: 0, y: 3, z: 0} 274 | m_LocalScale: {x: 1, y: 1, z: 1} 275 | m_Children: [] 276 | m_Father: {fileID: 0} 277 | m_RootOrder: 2 278 | m_LocalEulerAnglesHint: {x: 19.216002, y: -181.53699, z: -26.321001} 279 | --- !u!1 &1292631479 280 | GameObject: 281 | m_ObjectHideFlags: 0 282 | m_PrefabParentObject: {fileID: 0} 283 | m_PrefabInternal: {fileID: 0} 284 | serializedVersion: 5 285 | m_Component: 286 | - component: {fileID: 1292631483} 287 | - component: {fileID: 1292631482} 288 | - component: {fileID: 1292631481} 289 | - component: {fileID: 1292631480} 290 | m_Layer: 0 291 | m_Name: Main Camera 292 | m_TagString: MainCamera 293 | m_Icon: {fileID: 0} 294 | m_NavMeshLayer: 0 295 | m_StaticEditorFlags: 0 296 | m_IsActive: 1 297 | --- !u!81 &1292631480 298 | AudioListener: 299 | m_ObjectHideFlags: 0 300 | m_PrefabParentObject: {fileID: 0} 301 | m_PrefabInternal: {fileID: 0} 302 | m_GameObject: {fileID: 1292631479} 303 | m_Enabled: 1 304 | --- !u!124 &1292631481 305 | Behaviour: 306 | m_ObjectHideFlags: 0 307 | m_PrefabParentObject: {fileID: 0} 308 | m_PrefabInternal: {fileID: 0} 309 | m_GameObject: {fileID: 1292631479} 310 | m_Enabled: 1 311 | --- !u!20 &1292631482 312 | Camera: 313 | m_ObjectHideFlags: 0 314 | m_PrefabParentObject: {fileID: 0} 315 | m_PrefabInternal: {fileID: 0} 316 | m_GameObject: {fileID: 1292631479} 317 | m_Enabled: 1 318 | serializedVersion: 2 319 | m_ClearFlags: 1 320 | m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} 321 | m_NormalizedViewPortRect: 322 | serializedVersion: 2 323 | x: 0 324 | y: 0 325 | width: 1 326 | height: 1 327 | near clip plane: 0.3 328 | far clip plane: 1000 329 | field of view: 60 330 | orthographic: 0 331 | orthographic size: 5 332 | m_Depth: -1 333 | m_CullingMask: 334 | serializedVersion: 2 335 | m_Bits: 4294967295 336 | m_RenderingPath: -1 337 | m_TargetTexture: {fileID: 0} 338 | m_TargetDisplay: 0 339 | m_TargetEye: 3 340 | m_HDR: 1 341 | m_AllowMSAA: 1 342 | m_AllowDynamicResolution: 0 343 | m_ForceIntoRT: 0 344 | m_OcclusionCulling: 1 345 | m_StereoConvergence: 10 346 | m_StereoSeparation: 0.022 347 | --- !u!4 &1292631483 348 | Transform: 349 | m_ObjectHideFlags: 0 350 | m_PrefabParentObject: {fileID: 0} 351 | m_PrefabInternal: {fileID: 0} 352 | m_GameObject: {fileID: 1292631479} 353 | m_LocalRotation: {x: 0.00000014911181, y: -0.99788666, z: 0.064978726, w: 0.0000022899292} 354 | m_LocalPosition: {x: -0, y: 1.723, z: 0.475} 355 | m_LocalScale: {x: 1, y: 1, z: 1} 356 | m_Children: [] 357 | m_Father: {fileID: 0} 358 | m_RootOrder: 0 359 | m_LocalEulerAnglesHint: {x: 7.451, y: -180.00002, z: 0} 360 | --- !u!1 &1951534793 stripped 361 | GameObject: 362 | m_PrefabParentObject: {fileID: 100070, guid: ff977d686a18cab4eb92a531d05c9a71, type: 3} 363 | m_PrefabInternal: {fileID: 651540430} 364 | --- !u!114 &1951534795 365 | MonoBehaviour: 366 | m_ObjectHideFlags: 0 367 | m_PrefabParentObject: {fileID: 0} 368 | m_PrefabInternal: {fileID: 0} 369 | m_GameObject: {fileID: 1951534793} 370 | m_Enabled: 1 371 | m_EditorHideFlags: 0 372 | m_Script: {fileID: 11500000, guid: 4d9e100dc63ae4847b052eba0d222d1c, type: 3} 373 | m_Name: 374 | m_EditorClassIdentifier: 375 | Entries: 376 | - BlendSet: {fileID: 11400000, guid: fe254ed379e61164ca49c9e38fa6ba71, type: 2} 377 | MinTime: 0.5 378 | MaxTime: 3 379 | - BlendSet: {fileID: 11400000, guid: 9658fe4fb1620f04693a6fc785d862dd, type: 2} 380 | MinTime: 1 381 | MaxTime: 3 382 | - BlendSet: {fileID: 11400000, guid: 7206796f64cf7144d89c8c494cb034b4, type: 2} 383 | MinTime: 1 384 | MaxTime: 3 385 | - BlendSet: {fileID: 11400000, guid: a00e5453da8806748976796a4a89c712, type: 2} 386 | MinTime: 1 387 | MaxTime: 3 388 | --- !u!114 &1951534796 389 | MonoBehaviour: 390 | m_ObjectHideFlags: 0 391 | m_PrefabParentObject: {fileID: 0} 392 | m_PrefabInternal: {fileID: 0} 393 | m_GameObject: {fileID: 1951534793} 394 | m_Enabled: 1 395 | m_EditorHideFlags: 0 396 | m_Script: {fileID: 11500000, guid: 6a2e39cc5a3fd6a469d10579738b7b94, type: 3} 397 | m_Name: 398 | m_EditorClassIdentifier: 399 | Data: {fileID: 11400000, guid: eefa0e33ed96d964594007854699f83f, type: 2} 400 | Progress: 0 401 | --- !u!114 &1951534797 402 | MonoBehaviour: 403 | m_ObjectHideFlags: 0 404 | m_PrefabParentObject: {fileID: 0} 405 | m_PrefabInternal: {fileID: 0} 406 | m_GameObject: {fileID: 1951534793} 407 | m_Enabled: 1 408 | m_EditorHideFlags: 0 409 | m_Script: {fileID: 11500000, guid: 14fbfae873ccf974b9dd1d256d11a305, type: 3} 410 | m_Name: 411 | m_EditorClassIdentifier: 412 | --- !u!114 &1951534798 413 | MonoBehaviour: 414 | m_ObjectHideFlags: 0 415 | m_PrefabParentObject: {fileID: 0} 416 | m_PrefabInternal: {fileID: 0} 417 | m_GameObject: {fileID: 1951534793} 418 | m_Enabled: 1 419 | m_EditorHideFlags: 0 420 | m_Script: {fileID: 11500000, guid: f8306341a22d6ea46b7edf1dc4a4141f, type: 3} 421 | m_Name: 422 | m_EditorClassIdentifier: 423 | RecoverSmoothness: 5 424 | Smoothness: 15 425 | --- !u!82 &1951534799 426 | AudioSource: 427 | m_ObjectHideFlags: 0 428 | m_PrefabParentObject: {fileID: 0} 429 | m_PrefabInternal: {fileID: 0} 430 | m_GameObject: {fileID: 1951534793} 431 | m_Enabled: 1 432 | serializedVersion: 4 433 | OutputAudioMixerGroup: {fileID: 0} 434 | m_audioClip: {fileID: 0} 435 | m_PlayOnAwake: 1 436 | m_Volume: 1 437 | m_Pitch: 1 438 | Loop: 0 439 | Mute: 0 440 | Spatialize: 0 441 | SpatializePostEffects: 0 442 | Priority: 128 443 | DopplerLevel: 1 444 | MinDistance: 1 445 | MaxDistance: 500 446 | Pan2D: 0 447 | rolloffMode: 0 448 | BypassEffects: 0 449 | BypassListenerEffects: 0 450 | BypassReverbZones: 0 451 | rolloffCustomCurve: 452 | serializedVersion: 2 453 | m_Curve: 454 | - serializedVersion: 2 455 | time: 0 456 | value: 1 457 | inSlope: 0 458 | outSlope: 0 459 | tangentMode: 0 460 | - serializedVersion: 2 461 | time: 1 462 | value: 0 463 | inSlope: 0 464 | outSlope: 0 465 | tangentMode: 0 466 | m_PreInfinity: 2 467 | m_PostInfinity: 2 468 | m_RotationOrder: 4 469 | panLevelCustomCurve: 470 | serializedVersion: 2 471 | m_Curve: 472 | - serializedVersion: 2 473 | time: 0 474 | value: 0 475 | inSlope: 0 476 | outSlope: 0 477 | tangentMode: 0 478 | m_PreInfinity: 2 479 | m_PostInfinity: 2 480 | m_RotationOrder: 4 481 | spreadCustomCurve: 482 | serializedVersion: 2 483 | m_Curve: 484 | - serializedVersion: 2 485 | time: 0 486 | value: 0 487 | inSlope: 0 488 | outSlope: 0 489 | tangentMode: 0 490 | m_PreInfinity: 2 491 | m_PostInfinity: 2 492 | m_RotationOrder: 4 493 | reverbZoneMixCustomCurve: 494 | serializedVersion: 2 495 | m_Curve: 496 | - serializedVersion: 2 497 | time: 0 498 | value: 1 499 | inSlope: 0 500 | outSlope: 0 501 | tangentMode: 0 502 | m_PreInfinity: 2 503 | m_PostInfinity: 2 504 | m_RotationOrder: 4 505 | -------------------------------------------------------------------------------- /FaceSync/Demo/Scenes/FaceSync.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bf55f1e2c60d2774db9efe57c16689e5 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /FaceSync/Demo/example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joscanper/unity_facesync/ff49cf8527785394a523736f6212c2c706e5d7df/FaceSync/Demo/example.png -------------------------------------------------------------------------------- /FaceSync/Demo/example.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7b5b444f38db29949a238b2fc7ae96a2 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | externalObjects: {} 6 | serializedVersion: 4 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 1 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | isReadable: 0 24 | grayScaleToAlpha: 0 25 | generateCubemap: 6 26 | cubemapConvolution: 0 27 | seamlessCubemap: 0 28 | textureFormat: 1 29 | maxTextureSize: 2048 30 | textureSettings: 31 | serializedVersion: 2 32 | filterMode: -1 33 | aniso: -1 34 | mipBias: -1 35 | wrapU: -1 36 | wrapV: -1 37 | wrapW: -1 38 | nPOTScale: 1 39 | lightmap: 0 40 | compressionQuality: 50 41 | spriteMode: 0 42 | spriteExtrude: 1 43 | spriteMeshType: 1 44 | alignment: 0 45 | spritePivot: {x: 0.5, y: 0.5} 46 | spritePixelsToUnits: 100 47 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 48 | spriteGenerateFallbackPhysicsShape: 1 49 | alphaUsage: 1 50 | alphaIsTransparency: 0 51 | spriteTessellationDetail: -1 52 | textureType: 0 53 | textureShape: 1 54 | maxTextureSizeSet: 0 55 | compressionQualitySet: 0 56 | textureFormatSet: 0 57 | platformSettings: 58 | - buildTarget: DefaultTexturePlatform 59 | maxTextureSize: 2048 60 | resizeAlgorithm: 0 61 | textureFormat: -1 62 | textureCompression: 1 63 | compressionQuality: 50 64 | crunchedCompression: 0 65 | allowsAlphaSplitting: 0 66 | overridden: 0 67 | androidETC2FallbackOverride: 0 68 | spriteSheet: 69 | serializedVersion: 2 70 | sprites: [] 71 | outline: [] 72 | physicsShape: [] 73 | spritePackingTag: 74 | userData: 75 | assetBundleName: 76 | assetBundleVariant: 77 | -------------------------------------------------------------------------------- /FaceSync/Demo/facesync.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joscanper/unity_facesync/ff49cf8527785394a523736f6212c2c706e5d7df/FaceSync/Demo/facesync.gif -------------------------------------------------------------------------------- /FaceSync/Demo/facesync.gif.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e99e358877425174a8b85fa10a565e24 3 | TextureImporter: 4 | fileIDToRecycleName: {} 5 | externalObjects: {} 6 | serializedVersion: 9 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 1 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | isReadable: 0 24 | streamingMipmaps: 0 25 | streamingMipmapsPriority: 0 26 | grayScaleToAlpha: 0 27 | generateCubemap: 6 28 | cubemapConvolution: 0 29 | seamlessCubemap: 0 30 | textureFormat: 1 31 | maxTextureSize: 2048 32 | textureSettings: 33 | serializedVersion: 2 34 | filterMode: -1 35 | aniso: -1 36 | mipBias: -100 37 | wrapU: -1 38 | wrapV: -1 39 | wrapW: -1 40 | nPOTScale: 1 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 0 44 | spriteExtrude: 1 45 | spriteMeshType: 1 46 | alignment: 0 47 | spritePivot: {x: 0.5, y: 0.5} 48 | spritePixelsToUnits: 100 49 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 50 | spriteGenerateFallbackPhysicsShape: 1 51 | alphaUsage: 1 52 | alphaIsTransparency: 0 53 | spriteTessellationDetail: -1 54 | textureType: 0 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | platformSettings: 61 | - serializedVersion: 2 62 | buildTarget: DefaultTexturePlatform 63 | maxTextureSize: 2048 64 | resizeAlgorithm: 0 65 | textureFormat: -1 66 | textureCompression: 1 67 | compressionQuality: 50 68 | crunchedCompression: 0 69 | allowsAlphaSplitting: 0 70 | overridden: 0 71 | androidETC2FallbackOverride: 0 72 | spriteSheet: 73 | serializedVersion: 2 74 | sprites: [] 75 | outline: [] 76 | physicsShape: [] 77 | bones: [] 78 | spriteID: 79 | vertices: [] 80 | indices: 81 | edges: [] 82 | weights: [] 83 | spritePackingTag: 84 | pSDRemoveMatte: 0 85 | pSDShowRemoveMatteOption: 0 86 | userData: 87 | assetBundleName: 88 | assetBundleVariant: 89 | -------------------------------------------------------------------------------- /FaceSync/Demo/human.fbx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joscanper/unity_facesync/ff49cf8527785394a523736f6212c2c706e5d7df/FaceSync/Demo/human.fbx -------------------------------------------------------------------------------- /FaceSync/Demo/human.fbx.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ff977d686a18cab4eb92a531d05c9a71 3 | ModelImporter: 4 | serializedVersion: 22 5 | fileIDToRecycleName: 6 | 100000: breast_L 7 | 100002: breast_L_end 8 | 100004: breast_R 9 | 100006: breast_R_end 10 | 100008: calf_L 11 | 100010: calf_R 12 | 100012: calf_twist_L 13 | 100014: calf_twist_L_end 14 | 100016: calf_twist_R 15 | 100018: calf_twist_R_end 16 | 100020: clavicle_L 17 | 100022: clavicle_R 18 | 100024: foot_L 19 | 100026: foot_R 20 | 100028: hand_L 21 | 100030: hand_R 22 | 100032: head 23 | 100034: head_end 24 | 100036: //RootNode 25 | 100038: index00_L 26 | 100040: index00_R 27 | 100042: index01_L 28 | 100044: index01_R 29 | 100046: index02_L 30 | 100048: index02_R 31 | 100050: index03_L 32 | 100052: index03_L_end 33 | 100054: index03_R 34 | 100056: index03_R_end 35 | 100058: lowerarm_L 36 | 100060: lowerarm_R 37 | 100062: lowerarm_twist_L 38 | 100064: lowerarm_twist_L_end 39 | 100066: lowerarm_twist_R 40 | 100068: lowerarm_twist_R_end 41 | 100070: MBlab_bd1551442129.065212 42 | 100072: MBlab_sk1551442129.065212 43 | 100074: middle00_L 44 | 100076: middle00_R 45 | 100078: middle01_L 46 | 100080: middle01_R 47 | 100082: middle02_L 48 | 100084: middle02_R 49 | 100086: middle03_L 50 | 100088: middle03_L_end 51 | 100090: middle03_R 52 | 100092: middle03_R_end 53 | 100094: neck 54 | 100096: pelvis 55 | 100098: pinky00_L 56 | 100100: pinky00_R 57 | 100102: pinky01_L 58 | 100104: pinky01_R 59 | 100106: pinky02_L 60 | 100108: pinky02_R 61 | 100110: pinky03_L 62 | 100112: pinky03_L_end 63 | 100114: pinky03_R 64 | 100116: pinky03_R_end 65 | 100118: ring00_L 66 | 100120: ring00_R 67 | 100122: ring01_L 68 | 100124: ring01_R 69 | 100126: ring02_L 70 | 100128: ring02_R 71 | 100130: ring03_L 72 | 100132: ring03_L_end 73 | 100134: ring03_R 74 | 100136: ring03_R_end 75 | 100138: root 76 | 100140: spine01 77 | 100142: spine02 78 | 100144: spine03 79 | 100146: thigh_L 80 | 100148: thigh_R 81 | 100150: thigh_twist_L 82 | 100152: thigh_twist_L_end 83 | 100154: thigh_twist_R 84 | 100156: thigh_twist_R_end 85 | 100158: thumb01_L 86 | 100160: thumb01_R 87 | 100162: thumb02_L 88 | 100164: thumb02_R 89 | 100166: thumb03_L 90 | 100168: thumb03_L_end 91 | 100170: thumb03_R 92 | 100172: thumb03_R_end 93 | 100174: toes_L 94 | 100176: toes_L_end 95 | 100178: toes_R 96 | 100180: toes_R_end 97 | 100182: upperarm_L 98 | 100184: upperarm_R 99 | 100186: upperarm_twist_L 100 | 100188: upperarm_twist_L_end 101 | 100190: upperarm_twist_R 102 | 100192: upperarm_twist_R_end 103 | 100194: Expressions_browOutVertL_max_min.L 104 | 100196: Expressions_browOutVertL_max_min.L_end 105 | 100198: Expressions_browOutVertL_max_min.R 106 | 100200: Expressions_browOutVertL_max_min.R_end 107 | 100202: Expressions_browsMidVert_max_min 108 | 100204: Expressions_browsMidVert_max_min_end 109 | 100206: Expressions_browSqueezeL_max_min.L 110 | 100208: Expressions_browSqueezeL_max_min.L_end 111 | 100210: Expressions_browSqueezeL_max_min.R 112 | 100212: Expressions_browSqueezeL_max_min.R_end 113 | 100214: Expressions_cheekSneerL_max.L 114 | 100216: Expressions_cheekSneerL_max.L_end 115 | 100218: Expressions_cheekSneerL_max.R 116 | 100220: Expressions_cheekSneerL_max.R_end 117 | 100222: Expressions_eyeClosedL_max.L 118 | 100224: Expressions_eyeClosedL_max.L_end 119 | 100226: Expressions_eyeClosedL_max.R 120 | 100228: Expressions_eyeClosedL_max.R_end 121 | 100230: Expressions_eyeClosedPressureL_max_min.L 122 | 100232: Expressions_eyeClosedPressureL_max_min.L_end 123 | 100234: Expressions_eyeClosedPressureL_max_min.R 124 | 100236: Expressions_eyeClosedPressureL_max_min.R_end 125 | 100238: Expressions_eyesLookAt 126 | 100240: Expressions_eyesLookAt_end 127 | 100242: Expressions_eyeSquintL_max_min.L 128 | 100244: Expressions_eyeSquintL_max_min.L_end 129 | 100246: Expressions_eyeSquintL_max_min.R 130 | 100248: Expressions_eyeSquintL_max_min.R_end 131 | 100250: Expressions_jawHoriz_max_min 132 | 100252: Expressions_jawHoriz_max_min_end 133 | 100254: Expressions_jawOut_max_min 134 | 100256: Expressions_jawOut_max_min_end 135 | 100258: Expressions_mouthBite_max 136 | 100260: Expressions_mouthBite_max_end 137 | 100262: Expressions_mouthBite_min 138 | 100264: Expressions_mouthBite_min_end 139 | 100266: Expressions_mouthChew_max_min 140 | 100268: Expressions_mouthChew_max_min_end 141 | 100270: Expressions_mouthClosed_max_min 142 | 100272: Expressions_mouthClosed_max_min_end 143 | 100274: Expressions_mouthHoriz_max_min 144 | 100276: Expressions_mouthHoriz_max_min_end 145 | 100278: Expressions_mouthInflated_max_min 146 | 100280: Expressions_mouthInflated_max_min_end 147 | 100282: Expressions_mouthLowerOut_max_min 148 | 100284: Expressions_mouthLowerOut_max_min_end 149 | 100286: Expressions_mouthOpen_max_min 150 | 100288: Expressions_mouthOpen_max_min_end 151 | 100290: Expressions_mouthOpenAggr_max_min 152 | 100292: Expressions_mouthOpenAggr_max_min_end 153 | 100294: Expressions_mouthOpenHalf_max 154 | 100296: Expressions_mouthOpenHalf_max_end 155 | 100298: Expressions_mouthOpenLarge_max_min 156 | 100300: Expressions_mouthOpenLarge_max_min_end 157 | 100302: Expressions_mouthOpenO_max_min 158 | 100304: Expressions_mouthOpenO_max_min_end 159 | 100306: Expressions_mouthOpenTeethClosed_max_min 160 | 100308: Expressions_mouthOpenTeethClosed_max_min_end 161 | 100310: Expressions_mouthSmile_max_min 162 | 100312: Expressions_mouthSmile_max_min_end 163 | 100314: Expressions_mouthSmileL_max.L 164 | 100316: Expressions_mouthSmileL_max.L_end 165 | 100318: Expressions_mouthSmileL_max.R 166 | 100320: Expressions_mouthSmileL_max.R_end 167 | 100322: Expressions_mouthSmileOpen2_max_min 168 | 100324: Expressions_mouthSmileOpen2_max_min_end 169 | 100326: Expressions_mouthSmileOpen_max_min 170 | 100328: Expressions_mouthSmileOpen_max_min_end 171 | 100330: Expressions_nostrilsExpansion_max_min 172 | 100332: Expressions_nostrilsExpansion_max_min_end 173 | 100334: Expressions_pupilsDilatation_max_min 174 | 100336: Expressions_pupilsDilatation_max_min_end 175 | 100338: Expressions_tongueHoriz_max_min 176 | 100340: Expressions_tongueHoriz_max_min_end 177 | 100342: Expressions_tongueOut_max_min 178 | 100344: Expressions_tongueOut_max_min_end 179 | 100346: Expressions_tongueOutPressure_max 180 | 100348: Expressions_tongueOutPressure_max_end 181 | 100350: Expressions_tongueTipUp_max 182 | 100352: Expressions_tongueTipUp_max_end 183 | 100354: Expressions_tongueVert_max_min 184 | 100356: Expressions_tongueVert_max_min_end 185 | 100358: face_rig_parent 186 | 100360: label_ph_AI 187 | 100362: label_ph_CDG 188 | 100364: label_ph_CH 189 | 100366: label_ph_E 190 | 100368: label_ph_FV 191 | 100370: label_ph_L 192 | 100372: label_ph_MBP 193 | 100374: label_ph_REST 194 | 100376: label_ph_TH 195 | 100378: label_ph_U 196 | 100380: label_ph_U.001 197 | 100382: label_ph_WQ 198 | 100384: MBLab_skeleton_face_rig 199 | 100386: MBLab_skeleton_phoneme_rig 200 | 100388: ph_AI 201 | 100390: ph_AI_end 202 | 100392: ph_CDGKNRSYZ 203 | 100394: ph_CDGKNRSYZ_end 204 | 100396: ph_CH 205 | 100398: ph_CH_end 206 | 100400: ph_E 207 | 100402: ph_E_end 208 | 100404: ph_FV 209 | 100406: ph_FV_end 210 | 100408: ph_L 211 | 100410: ph_L_end 212 | 100412: ph_MBP 213 | 100414: ph_MBP_end 214 | 100416: ph_O 215 | 100418: ph_O_end 216 | 100420: ph_REST 217 | 100422: ph_REST_end 218 | 100424: ph_root 219 | 100426: ph_TH 220 | 100428: ph_TH_end 221 | 100430: ph_U 222 | 100432: ph_U_end 223 | 100434: ph_WQ 224 | 100436: ph_WQ_end 225 | 100438: wgt_circle 226 | 100440: wgt_eye_brow 227 | 100442: wgt_eye_brow2 228 | 100444: wgt_eye_close_pressure 229 | 100446: wgt_eye_lid_down 230 | 100448: wgt_eye_lid_up 231 | 100450: wgt_eyes 232 | 100452: wgt_jaw 233 | 100454: wgt_jaw_out 234 | 100456: wgt_lips 235 | 100458: wgt_mouth_chew 236 | 100460: wgt_mouth_closed 237 | 100462: wgt_mouth_horizontal 238 | 100464: wgt_mouth_Inflated 239 | 100466: wgt_mouth_LowerOut 240 | 100468: wgt_mouth_open_aggr 241 | 100470: wgt_mouth_open_half 242 | 100472: wgt_mouth_open_O 243 | 100474: wgt_mouth_open_teeth_closed 244 | 100476: wgt_mouth_smile 245 | 100478: wgt_mouth_smile_open 246 | 100480: wgt_mouth_smile_open_2 247 | 100482: wgt_mouthOpenLarge 248 | 100484: wgt_notrile_expansion 249 | 100486: wgt_ph_dial 250 | 100488: wgt_pupil_dialation 251 | 100490: wgt_sneer 252 | 100492: wgt_tongue_horizontal 253 | 100494: wgt_tongue_out 254 | 100496: wgt_tongue_out_pressure 255 | 100498: wgt_tongue_tip_up 256 | 100500: wgt_tongue_vertical 257 | 400000: breast_L 258 | 400002: breast_L_end 259 | 400004: breast_R 260 | 400006: breast_R_end 261 | 400008: calf_L 262 | 400010: calf_R 263 | 400012: calf_twist_L 264 | 400014: calf_twist_L_end 265 | 400016: calf_twist_R 266 | 400018: calf_twist_R_end 267 | 400020: clavicle_L 268 | 400022: clavicle_R 269 | 400024: foot_L 270 | 400026: foot_R 271 | 400028: hand_L 272 | 400030: hand_R 273 | 400032: head 274 | 400034: head_end 275 | 400036: //RootNode 276 | 400038: index00_L 277 | 400040: index00_R 278 | 400042: index01_L 279 | 400044: index01_R 280 | 400046: index02_L 281 | 400048: index02_R 282 | 400050: index03_L 283 | 400052: index03_L_end 284 | 400054: index03_R 285 | 400056: index03_R_end 286 | 400058: lowerarm_L 287 | 400060: lowerarm_R 288 | 400062: lowerarm_twist_L 289 | 400064: lowerarm_twist_L_end 290 | 400066: lowerarm_twist_R 291 | 400068: lowerarm_twist_R_end 292 | 400070: MBlab_bd1551442129.065212 293 | 400072: MBlab_sk1551442129.065212 294 | 400074: middle00_L 295 | 400076: middle00_R 296 | 400078: middle01_L 297 | 400080: middle01_R 298 | 400082: middle02_L 299 | 400084: middle02_R 300 | 400086: middle03_L 301 | 400088: middle03_L_end 302 | 400090: middle03_R 303 | 400092: middle03_R_end 304 | 400094: neck 305 | 400096: pelvis 306 | 400098: pinky00_L 307 | 400100: pinky00_R 308 | 400102: pinky01_L 309 | 400104: pinky01_R 310 | 400106: pinky02_L 311 | 400108: pinky02_R 312 | 400110: pinky03_L 313 | 400112: pinky03_L_end 314 | 400114: pinky03_R 315 | 400116: pinky03_R_end 316 | 400118: ring00_L 317 | 400120: ring00_R 318 | 400122: ring01_L 319 | 400124: ring01_R 320 | 400126: ring02_L 321 | 400128: ring02_R 322 | 400130: ring03_L 323 | 400132: ring03_L_end 324 | 400134: ring03_R 325 | 400136: ring03_R_end 326 | 400138: root 327 | 400140: spine01 328 | 400142: spine02 329 | 400144: spine03 330 | 400146: thigh_L 331 | 400148: thigh_R 332 | 400150: thigh_twist_L 333 | 400152: thigh_twist_L_end 334 | 400154: thigh_twist_R 335 | 400156: thigh_twist_R_end 336 | 400158: thumb01_L 337 | 400160: thumb01_R 338 | 400162: thumb02_L 339 | 400164: thumb02_R 340 | 400166: thumb03_L 341 | 400168: thumb03_L_end 342 | 400170: thumb03_R 343 | 400172: thumb03_R_end 344 | 400174: toes_L 345 | 400176: toes_L_end 346 | 400178: toes_R 347 | 400180: toes_R_end 348 | 400182: upperarm_L 349 | 400184: upperarm_R 350 | 400186: upperarm_twist_L 351 | 400188: upperarm_twist_L_end 352 | 400190: upperarm_twist_R 353 | 400192: upperarm_twist_R_end 354 | 400194: Expressions_browOutVertL_max_min.L 355 | 400196: Expressions_browOutVertL_max_min.L_end 356 | 400198: Expressions_browOutVertL_max_min.R 357 | 400200: Expressions_browOutVertL_max_min.R_end 358 | 400202: Expressions_browsMidVert_max_min 359 | 400204: Expressions_browsMidVert_max_min_end 360 | 400206: Expressions_browSqueezeL_max_min.L 361 | 400208: Expressions_browSqueezeL_max_min.L_end 362 | 400210: Expressions_browSqueezeL_max_min.R 363 | 400212: Expressions_browSqueezeL_max_min.R_end 364 | 400214: Expressions_cheekSneerL_max.L 365 | 400216: Expressions_cheekSneerL_max.L_end 366 | 400218: Expressions_cheekSneerL_max.R 367 | 400220: Expressions_cheekSneerL_max.R_end 368 | 400222: Expressions_eyeClosedL_max.L 369 | 400224: Expressions_eyeClosedL_max.L_end 370 | 400226: Expressions_eyeClosedL_max.R 371 | 400228: Expressions_eyeClosedL_max.R_end 372 | 400230: Expressions_eyeClosedPressureL_max_min.L 373 | 400232: Expressions_eyeClosedPressureL_max_min.L_end 374 | 400234: Expressions_eyeClosedPressureL_max_min.R 375 | 400236: Expressions_eyeClosedPressureL_max_min.R_end 376 | 400238: Expressions_eyesLookAt 377 | 400240: Expressions_eyesLookAt_end 378 | 400242: Expressions_eyeSquintL_max_min.L 379 | 400244: Expressions_eyeSquintL_max_min.L_end 380 | 400246: Expressions_eyeSquintL_max_min.R 381 | 400248: Expressions_eyeSquintL_max_min.R_end 382 | 400250: Expressions_jawHoriz_max_min 383 | 400252: Expressions_jawHoriz_max_min_end 384 | 400254: Expressions_jawOut_max_min 385 | 400256: Expressions_jawOut_max_min_end 386 | 400258: Expressions_mouthBite_max 387 | 400260: Expressions_mouthBite_max_end 388 | 400262: Expressions_mouthBite_min 389 | 400264: Expressions_mouthBite_min_end 390 | 400266: Expressions_mouthChew_max_min 391 | 400268: Expressions_mouthChew_max_min_end 392 | 400270: Expressions_mouthClosed_max_min 393 | 400272: Expressions_mouthClosed_max_min_end 394 | 400274: Expressions_mouthHoriz_max_min 395 | 400276: Expressions_mouthHoriz_max_min_end 396 | 400278: Expressions_mouthInflated_max_min 397 | 400280: Expressions_mouthInflated_max_min_end 398 | 400282: Expressions_mouthLowerOut_max_min 399 | 400284: Expressions_mouthLowerOut_max_min_end 400 | 400286: Expressions_mouthOpen_max_min 401 | 400288: Expressions_mouthOpen_max_min_end 402 | 400290: Expressions_mouthOpenAggr_max_min 403 | 400292: Expressions_mouthOpenAggr_max_min_end 404 | 400294: Expressions_mouthOpenHalf_max 405 | 400296: Expressions_mouthOpenHalf_max_end 406 | 400298: Expressions_mouthOpenLarge_max_min 407 | 400300: Expressions_mouthOpenLarge_max_min_end 408 | 400302: Expressions_mouthOpenO_max_min 409 | 400304: Expressions_mouthOpenO_max_min_end 410 | 400306: Expressions_mouthOpenTeethClosed_max_min 411 | 400308: Expressions_mouthOpenTeethClosed_max_min_end 412 | 400310: Expressions_mouthSmile_max_min 413 | 400312: Expressions_mouthSmile_max_min_end 414 | 400314: Expressions_mouthSmileL_max.L 415 | 400316: Expressions_mouthSmileL_max.L_end 416 | 400318: Expressions_mouthSmileL_max.R 417 | 400320: Expressions_mouthSmileL_max.R_end 418 | 400322: Expressions_mouthSmileOpen2_max_min 419 | 400324: Expressions_mouthSmileOpen2_max_min_end 420 | 400326: Expressions_mouthSmileOpen_max_min 421 | 400328: Expressions_mouthSmileOpen_max_min_end 422 | 400330: Expressions_nostrilsExpansion_max_min 423 | 400332: Expressions_nostrilsExpansion_max_min_end 424 | 400334: Expressions_pupilsDilatation_max_min 425 | 400336: Expressions_pupilsDilatation_max_min_end 426 | 400338: Expressions_tongueHoriz_max_min 427 | 400340: Expressions_tongueHoriz_max_min_end 428 | 400342: Expressions_tongueOut_max_min 429 | 400344: Expressions_tongueOut_max_min_end 430 | 400346: Expressions_tongueOutPressure_max 431 | 400348: Expressions_tongueOutPressure_max_end 432 | 400350: Expressions_tongueTipUp_max 433 | 400352: Expressions_tongueTipUp_max_end 434 | 400354: Expressions_tongueVert_max_min 435 | 400356: Expressions_tongueVert_max_min_end 436 | 400358: face_rig_parent 437 | 400360: label_ph_AI 438 | 400362: label_ph_CDG 439 | 400364: label_ph_CH 440 | 400366: label_ph_E 441 | 400368: label_ph_FV 442 | 400370: label_ph_L 443 | 400372: label_ph_MBP 444 | 400374: label_ph_REST 445 | 400376: label_ph_TH 446 | 400378: label_ph_U 447 | 400380: label_ph_U.001 448 | 400382: label_ph_WQ 449 | 400384: MBLab_skeleton_face_rig 450 | 400386: MBLab_skeleton_phoneme_rig 451 | 400388: ph_AI 452 | 400390: ph_AI_end 453 | 400392: ph_CDGKNRSYZ 454 | 400394: ph_CDGKNRSYZ_end 455 | 400396: ph_CH 456 | 400398: ph_CH_end 457 | 400400: ph_E 458 | 400402: ph_E_end 459 | 400404: ph_FV 460 | 400406: ph_FV_end 461 | 400408: ph_L 462 | 400410: ph_L_end 463 | 400412: ph_MBP 464 | 400414: ph_MBP_end 465 | 400416: ph_O 466 | 400418: ph_O_end 467 | 400420: ph_REST 468 | 400422: ph_REST_end 469 | 400424: ph_root 470 | 400426: ph_TH 471 | 400428: ph_TH_end 472 | 400430: ph_U 473 | 400432: ph_U_end 474 | 400434: ph_WQ 475 | 400436: ph_WQ_end 476 | 400438: wgt_circle 477 | 400440: wgt_eye_brow 478 | 400442: wgt_eye_brow2 479 | 400444: wgt_eye_close_pressure 480 | 400446: wgt_eye_lid_down 481 | 400448: wgt_eye_lid_up 482 | 400450: wgt_eyes 483 | 400452: wgt_jaw 484 | 400454: wgt_jaw_out 485 | 400456: wgt_lips 486 | 400458: wgt_mouth_chew 487 | 400460: wgt_mouth_closed 488 | 400462: wgt_mouth_horizontal 489 | 400464: wgt_mouth_Inflated 490 | 400466: wgt_mouth_LowerOut 491 | 400468: wgt_mouth_open_aggr 492 | 400470: wgt_mouth_open_half 493 | 400472: wgt_mouth_open_O 494 | 400474: wgt_mouth_open_teeth_closed 495 | 400476: wgt_mouth_smile 496 | 400478: wgt_mouth_smile_open 497 | 400480: wgt_mouth_smile_open_2 498 | 400482: wgt_mouthOpenLarge 499 | 400484: wgt_notrile_expansion 500 | 400486: wgt_ph_dial 501 | 400488: wgt_pupil_dialation 502 | 400490: wgt_sneer 503 | 400492: wgt_tongue_horizontal 504 | 400494: wgt_tongue_out 505 | 400496: wgt_tongue_out_pressure 506 | 400498: wgt_tongue_tip_up 507 | 400500: wgt_tongue_vertical 508 | 2100000: MBlab_human_skin.0011551442127.3662477 509 | 2100002: MBlab_human_eyes.0011551442127.3662477 510 | 2100004: MBlab_pupil.0011551442127.3662477 511 | 2100006: MBlab_cornea.0011551442127.3662477 512 | 2100008: MBlab_generic.0011551442127.3662477 513 | 2100010: MBlab_fur.0011551442127.3662477 514 | 2100012: MBlab_human_teeth.0011551442127.3662477 515 | 2100014: No Name 516 | 2100016: MBLab_skeleton_phoneme_rig_material 517 | 2300000: label_ph_AI 518 | 2300002: label_ph_CDG 519 | 2300004: label_ph_CH 520 | 2300006: label_ph_E 521 | 2300008: label_ph_FV 522 | 2300010: label_ph_L 523 | 2300012: label_ph_MBP 524 | 2300014: label_ph_REST 525 | 2300016: label_ph_TH 526 | 2300018: label_ph_U 527 | 2300020: label_ph_U.001 528 | 2300022: label_ph_WQ 529 | 2300024: wgt_circle 530 | 2300026: wgt_eye_brow 531 | 2300028: wgt_eye_brow2 532 | 2300030: wgt_eye_close_pressure 533 | 2300032: wgt_eye_lid_down 534 | 2300034: wgt_eye_lid_up 535 | 2300036: wgt_eyes 536 | 2300038: wgt_jaw 537 | 2300040: wgt_jaw_out 538 | 2300042: wgt_lips 539 | 2300044: wgt_mouth_chew 540 | 2300046: wgt_mouth_closed 541 | 2300048: wgt_mouth_horizontal 542 | 2300050: wgt_mouth_Inflated 543 | 2300052: wgt_mouth_LowerOut 544 | 2300054: wgt_mouth_open_aggr 545 | 2300056: wgt_mouth_open_half 546 | 2300058: wgt_mouth_open_O 547 | 2300060: wgt_mouth_open_teeth_closed 548 | 2300062: wgt_mouth_smile 549 | 2300064: wgt_mouth_smile_open 550 | 2300066: wgt_mouth_smile_open_2 551 | 2300068: wgt_mouthOpenLarge 552 | 2300070: wgt_notrile_expansion 553 | 2300072: wgt_ph_dial 554 | 2300074: wgt_pupil_dialation 555 | 2300076: wgt_sneer 556 | 2300078: wgt_tongue_horizontal 557 | 2300080: wgt_tongue_out 558 | 2300082: wgt_tongue_out_pressure 559 | 2300084: wgt_tongue_tip_up 560 | 2300086: wgt_tongue_vertical 561 | 3300000: label_ph_AI 562 | 3300002: label_ph_CDG 563 | 3300004: label_ph_CH 564 | 3300006: label_ph_E 565 | 3300008: label_ph_FV 566 | 3300010: label_ph_L 567 | 3300012: label_ph_MBP 568 | 3300014: label_ph_REST 569 | 3300016: label_ph_TH 570 | 3300018: label_ph_U 571 | 3300020: label_ph_U.001 572 | 3300022: label_ph_WQ 573 | 3300024: wgt_circle 574 | 3300026: wgt_eye_brow 575 | 3300028: wgt_eye_brow2 576 | 3300030: wgt_eye_close_pressure 577 | 3300032: wgt_eye_lid_down 578 | 3300034: wgt_eye_lid_up 579 | 3300036: wgt_eyes 580 | 3300038: wgt_jaw 581 | 3300040: wgt_jaw_out 582 | 3300042: wgt_lips 583 | 3300044: wgt_mouth_chew 584 | 3300046: wgt_mouth_closed 585 | 3300048: wgt_mouth_horizontal 586 | 3300050: wgt_mouth_Inflated 587 | 3300052: wgt_mouth_LowerOut 588 | 3300054: wgt_mouth_open_aggr 589 | 3300056: wgt_mouth_open_half 590 | 3300058: wgt_mouth_open_O 591 | 3300060: wgt_mouth_open_teeth_closed 592 | 3300062: wgt_mouth_smile 593 | 3300064: wgt_mouth_smile_open 594 | 3300066: wgt_mouth_smile_open_2 595 | 3300068: wgt_mouthOpenLarge 596 | 3300070: wgt_notrile_expansion 597 | 3300072: wgt_ph_dial 598 | 3300074: wgt_pupil_dialation 599 | 3300076: wgt_sneer 600 | 3300078: wgt_tongue_horizontal 601 | 3300080: wgt_tongue_out 602 | 3300082: wgt_tongue_out_pressure 603 | 3300084: wgt_tongue_tip_up 604 | 3300086: wgt_tongue_vertical 605 | 4300000: MBlab_bd1551442129.065212 606 | 4300002: wgt_lips 607 | 4300004: wgt_circle 608 | 4300006: wgt_eyes 609 | 4300008: wgt_eye_close_pressure 610 | 4300010: wgt_eye_lid_up 611 | 4300012: wgt_eye_lid_down 612 | 4300014: wgt_sneer 613 | 4300016: wgt_eye_brow 614 | 4300018: wgt_eye_brow2 615 | 4300020: wgt_jaw_out 616 | 4300022: wgt_mouth_chew 617 | 4300024: wgt_mouth_closed 618 | 4300026: wgt_mouth_horizontal 619 | 4300028: wgt_mouth_Inflated 620 | 4300030: wgt_mouth_LowerOut 621 | 4300032: wgt_mouth_open_aggr 622 | 4300034: wgt_mouth_open_half 623 | 4300036: wgt_mouth_open_O 624 | 4300038: wgt_mouth_open_teeth_closed 625 | 4300040: wgt_mouth_smile_open_2 626 | 4300042: wgt_mouth_smile_open 627 | 4300044: wgt_mouth_smile 628 | 4300046: wgt_notrile_expansion 629 | 4300048: wgt_tongue_horizontal 630 | 4300050: wgt_tongue_out_pressure 631 | 4300052: wgt_tongue_tip_up 632 | 4300054: wgt_tongue_out 633 | 4300056: wgt_tongue_vertical 634 | 4300058: wgt_pupil_dialation 635 | 4300060: wgt_jaw 636 | 4300062: wgt_mouthOpenLarge 637 | 4300064: wgt_ph_dial 638 | 4300066: label_ph_AI 639 | 4300068: label_ph_CDG 640 | 4300070: label_ph_CH 641 | 4300072: label_ph_E 642 | 4300074: label_ph_FV 643 | 4300076: label_ph_L 644 | 4300078: label_ph_MBP 645 | 4300080: label_ph_REST 646 | 4300082: label_ph_TH 647 | 4300084: label_ph_U 648 | 4300086: label_ph_U.001 649 | 4300088: label_ph_WQ 650 | 7400000: idle 651 | 9500000: //RootNode 652 | 13700000: MBlab_bd1551442129.065212 653 | externalObjects: {} 654 | materials: 655 | importMaterials: 1 656 | materialName: 0 657 | materialSearch: 1 658 | materialLocation: 1 659 | animations: 660 | legacyGenerateAnimations: 4 661 | bakeSimulation: 0 662 | resampleCurves: 1 663 | optimizeGameObjects: 0 664 | motionNodeName: 665 | rigImportErrors: 666 | rigImportWarnings: 667 | animationImportErrors: 668 | animationImportWarnings: 669 | animationRetargetingWarnings: 670 | animationDoRetargetingWarnings: 0 671 | importAnimatedCustomProperties: 0 672 | animationCompression: 0 673 | animationRotationError: 0.5 674 | animationPositionError: 0.5 675 | animationScaleError: 0.5 676 | animationWrapMode: 0 677 | extraExposedTransformPaths: [] 678 | extraUserProperties: [] 679 | clipAnimations: 680 | - serializedVersion: 16 681 | name: idle 682 | takeName: MBlab_sk1551442129.065212|MBlab_sk1551442129.065212Action 683 | firstFrame: 0 684 | lastFrame: 158 685 | wrapMode: 0 686 | orientationOffsetY: 0 687 | level: 0 688 | cycleOffset: 0 689 | loop: 0 690 | hasAdditiveReferencePose: 0 691 | loopTime: 1 692 | loopBlend: 0 693 | loopBlendOrientation: 1 694 | loopBlendPositionY: 1 695 | loopBlendPositionXZ: 1 696 | keepOriginalOrientation: 0 697 | keepOriginalPositionY: 1 698 | keepOriginalPositionXZ: 0 699 | heightFromFeet: 0 700 | mirror: 0 701 | bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000 702 | curves: [] 703 | events: [] 704 | transformMask: [] 705 | maskType: 3 706 | maskSource: {instanceID: 0} 707 | additiveReferencePoseFrame: 0 708 | isReadable: 1 709 | meshes: 710 | lODScreenPercentages: [] 711 | globalScale: 1 712 | meshCompression: 0 713 | addColliders: 0 714 | importVisibility: 1 715 | importBlendShapes: 1 716 | importCameras: 0 717 | importLights: 0 718 | swapUVChannels: 0 719 | generateSecondaryUV: 0 720 | useFileUnits: 1 721 | optimizeMeshForGPU: 1 722 | keepQuads: 0 723 | weldVertices: 1 724 | preserveHierarchy: 0 725 | indexFormat: 0 726 | secondaryUVAngleDistortion: 8 727 | secondaryUVAreaDistortion: 15.000001 728 | secondaryUVHardAngle: 88 729 | secondaryUVPackMargin: 4 730 | useFileScale: 1 731 | tangentSpace: 732 | normalSmoothAngle: 60 733 | normalImportMode: 0 734 | tangentImportMode: 3 735 | normalCalculationMode: 4 736 | importAnimation: 1 737 | copyAvatar: 0 738 | humanDescription: 739 | serializedVersion: 2 740 | human: 741 | - boneName: pelvis 742 | humanName: Hips 743 | limit: 744 | min: {x: 0, y: 0, z: 0} 745 | max: {x: 0, y: 0, z: 0} 746 | value: {x: 0, y: 0, z: 0} 747 | length: 0 748 | modified: 0 749 | - boneName: thigh_L 750 | humanName: LeftUpperLeg 751 | limit: 752 | min: {x: -60, y: -60, z: -90} 753 | max: {x: 60, y: 60, z: 50} 754 | value: {x: 0, y: 0, z: 0} 755 | length: 0 756 | modified: 0 757 | - boneName: thigh_R 758 | humanName: RightUpperLeg 759 | limit: 760 | min: {x: -60, y: -60, z: -90} 761 | max: {x: 60, y: 60, z: 50} 762 | value: {x: 0, y: 0, z: 0} 763 | length: 0 764 | modified: 0 765 | - boneName: calf_L 766 | humanName: LeftLowerLeg 767 | limit: 768 | min: {x: -90, y: 0, z: -80} 769 | max: {x: 90, y: 0, z: 80} 770 | value: {x: 0, y: 0, z: 0} 771 | length: 0 772 | modified: 0 773 | - boneName: calf_R 774 | humanName: RightLowerLeg 775 | limit: 776 | min: {x: -90, y: 0, z: -80} 777 | max: {x: 90, y: 0, z: 80} 778 | value: {x: 0, y: 0, z: 0} 779 | length: 0 780 | modified: 0 781 | - boneName: foot_L 782 | humanName: LeftFoot 783 | limit: 784 | min: {x: 0, y: -30, z: -50} 785 | max: {x: 0, y: 30, z: 50} 786 | value: {x: 0, y: 0, z: 0} 787 | length: 0 788 | modified: 0 789 | - boneName: foot_R 790 | humanName: RightFoot 791 | limit: 792 | min: {x: 0, y: -30, z: -50} 793 | max: {x: 0, y: 30, z: 50} 794 | value: {x: 0, y: 0, z: 0} 795 | length: 0 796 | modified: 0 797 | - boneName: spine01 798 | humanName: Spine 799 | limit: 800 | min: {x: -40, y: -40, z: -40} 801 | max: {x: 40, y: 40, z: 40} 802 | value: {x: 0, y: 0, z: 0} 803 | length: 0 804 | modified: 0 805 | - boneName: spine02 806 | humanName: Chest 807 | limit: 808 | min: {x: -40, y: -40, z: -40} 809 | max: {x: 40, y: 40, z: 40} 810 | value: {x: 0, y: 0, z: 0} 811 | length: 0 812 | modified: 0 813 | - boneName: neck 814 | humanName: Neck 815 | limit: 816 | min: {x: -40, y: -40, z: -40} 817 | max: {x: 40, y: 40, z: 40} 818 | value: {x: 0, y: 0, z: 0} 819 | length: 0 820 | modified: 0 821 | - boneName: head 822 | humanName: Head 823 | limit: 824 | min: {x: -40, y: -40, z: -40} 825 | max: {x: 40, y: 40, z: 40} 826 | value: {x: 0, y: 0, z: 0} 827 | length: 0 828 | modified: 0 829 | - boneName: clavicle_L 830 | humanName: LeftShoulder 831 | limit: 832 | min: {x: 0, y: -15, z: -15} 833 | max: {x: 0, y: 15, z: 30} 834 | value: {x: 0, y: 0, z: 0} 835 | length: 0 836 | modified: 0 837 | - boneName: clavicle_R 838 | humanName: RightShoulder 839 | limit: 840 | min: {x: 0, y: -15, z: -15} 841 | max: {x: 0, y: 15, z: 30} 842 | value: {x: 0, y: 0, z: 0} 843 | length: 0 844 | modified: 0 845 | - boneName: upperarm_L 846 | humanName: LeftUpperArm 847 | limit: 848 | min: {x: -90, y: -100, z: -60} 849 | max: {x: 90, y: 100, z: 100} 850 | value: {x: 0, y: 0, z: 0} 851 | length: 0 852 | modified: 0 853 | - boneName: upperarm_R 854 | humanName: RightUpperArm 855 | limit: 856 | min: {x: -90, y: -100, z: -60} 857 | max: {x: 90, y: 100, z: 100} 858 | value: {x: 0, y: 0, z: 0} 859 | length: 0 860 | modified: 0 861 | - boneName: lowerarm_L 862 | humanName: LeftLowerArm 863 | limit: 864 | min: {x: -90, y: 0, z: -80} 865 | max: {x: 90, y: 0, z: 80} 866 | value: {x: 0, y: 0, z: 0} 867 | length: 0 868 | modified: 0 869 | - boneName: lowerarm_R 870 | humanName: RightLowerArm 871 | limit: 872 | min: {x: -90, y: 0, z: -80} 873 | max: {x: 90, y: 0, z: 80} 874 | value: {x: 0, y: 0, z: 0} 875 | length: 0 876 | modified: 0 877 | - boneName: hand_L 878 | humanName: LeftHand 879 | limit: 880 | min: {x: 0, y: -40, z: -80} 881 | max: {x: 0, y: 40, z: 80} 882 | value: {x: 0, y: 0, z: 0} 883 | length: 0 884 | modified: 0 885 | - boneName: hand_R 886 | humanName: RightHand 887 | limit: 888 | min: {x: 0, y: -40, z: -80} 889 | max: {x: 0, y: 40, z: 80} 890 | value: {x: 0, y: 0, z: 0} 891 | length: 0 892 | modified: 0 893 | - boneName: toes_L 894 | humanName: LeftToes 895 | limit: 896 | min: {x: 0, y: 0, z: -50} 897 | max: {x: 0, y: 0, z: 50} 898 | value: {x: 0, y: 0, z: 0} 899 | length: 0 900 | modified: 0 901 | - boneName: toes_R 902 | humanName: RightToes 903 | limit: 904 | min: {x: 0, y: 0, z: -50} 905 | max: {x: 0, y: 0, z: 50} 906 | value: {x: 0, y: 0, z: 0} 907 | length: 0 908 | modified: 0 909 | - boneName: thumb01_L 910 | humanName: Left Thumb Proximal 911 | limit: 912 | min: {x: 0, y: -25, z: -20} 913 | max: {x: 0, y: 25, z: 20} 914 | value: {x: 0, y: 0, z: 0} 915 | length: 0 916 | modified: 0 917 | - boneName: thumb02_L 918 | humanName: Left Thumb Intermediate 919 | limit: 920 | min: {x: 0, y: 0, z: -40} 921 | max: {x: 0, y: 0, z: 35} 922 | value: {x: 0, y: 0, z: 0} 923 | length: 0 924 | modified: 0 925 | - boneName: thumb03_L 926 | humanName: Left Thumb Distal 927 | limit: 928 | min: {x: 0, y: 0, z: -40} 929 | max: {x: 0, y: 0, z: 35} 930 | value: {x: 0, y: 0, z: 0} 931 | length: 0 932 | modified: 0 933 | - boneName: index00_L 934 | humanName: Left Index Proximal 935 | limit: 936 | min: {x: 0, y: -20, z: -50} 937 | max: {x: 0, y: 20, z: 50} 938 | value: {x: 0, y: 0, z: 0} 939 | length: 0 940 | modified: 0 941 | - boneName: index01_L 942 | humanName: Left Index Intermediate 943 | limit: 944 | min: {x: 0, y: 0, z: -45} 945 | max: {x: 0, y: 0, z: 45} 946 | value: {x: 0, y: 0, z: 0} 947 | length: 0 948 | modified: 0 949 | - boneName: index02_L 950 | humanName: Left Index Distal 951 | limit: 952 | min: {x: 0, y: 0, z: -45} 953 | max: {x: 0, y: 0, z: 45} 954 | value: {x: 0, y: 0, z: 0} 955 | length: 0 956 | modified: 0 957 | - boneName: middle00_L 958 | humanName: Left Middle Proximal 959 | limit: 960 | min: {x: 0, y: -7.5, z: -50} 961 | max: {x: 0, y: 7.5, z: 50} 962 | value: {x: 0, y: 0, z: 0} 963 | length: 0 964 | modified: 0 965 | - boneName: middle01_L 966 | humanName: Left Middle Intermediate 967 | limit: 968 | min: {x: 0, y: 0, z: -45} 969 | max: {x: 0, y: 0, z: 45} 970 | value: {x: 0, y: 0, z: 0} 971 | length: 0 972 | modified: 0 973 | - boneName: middle02_L 974 | humanName: Left Middle Distal 975 | limit: 976 | min: {x: 0, y: 0, z: -45} 977 | max: {x: 0, y: 0, z: 45} 978 | value: {x: 0, y: 0, z: 0} 979 | length: 0 980 | modified: 0 981 | - boneName: ring00_L 982 | humanName: Left Ring Proximal 983 | limit: 984 | min: {x: 0, y: -7.5, z: -50} 985 | max: {x: 0, y: 7.5, z: 50} 986 | value: {x: 0, y: 0, z: 0} 987 | length: 0 988 | modified: 0 989 | - boneName: ring01_L 990 | humanName: Left Ring Intermediate 991 | limit: 992 | min: {x: 0, y: 0, z: -45} 993 | max: {x: 0, y: 0, z: 45} 994 | value: {x: 0, y: 0, z: 0} 995 | length: 0 996 | modified: 0 997 | - boneName: ring02_L 998 | humanName: Left Ring Distal 999 | limit: 1000 | min: {x: 0, y: 0, z: -45} 1001 | max: {x: 0, y: 0, z: 45} 1002 | value: {x: 0, y: 0, z: 0} 1003 | length: 0 1004 | modified: 0 1005 | - boneName: pinky00_L 1006 | humanName: Left Little Proximal 1007 | limit: 1008 | min: {x: 0, y: -20, z: -50} 1009 | max: {x: 0, y: 20, z: 50} 1010 | value: {x: 0, y: 0, z: 0} 1011 | length: 0 1012 | modified: 0 1013 | - boneName: pinky01_L 1014 | humanName: Left Little Intermediate 1015 | limit: 1016 | min: {x: 0, y: 0, z: -45} 1017 | max: {x: 0, y: 0, z: 45} 1018 | value: {x: 0, y: 0, z: 0} 1019 | length: 0 1020 | modified: 0 1021 | - boneName: pinky02_L 1022 | humanName: Left Little Distal 1023 | limit: 1024 | min: {x: 0, y: 0, z: -45} 1025 | max: {x: 0, y: 0, z: 45} 1026 | value: {x: 0, y: 0, z: 0} 1027 | length: 0 1028 | modified: 0 1029 | - boneName: thumb01_R 1030 | humanName: Right Thumb Proximal 1031 | limit: 1032 | min: {x: 0, y: -25, z: -20} 1033 | max: {x: 0, y: 25, z: 20} 1034 | value: {x: 0, y: 0, z: 0} 1035 | length: 0 1036 | modified: 0 1037 | - boneName: thumb02_R 1038 | humanName: Right Thumb Intermediate 1039 | limit: 1040 | min: {x: 0, y: 0, z: -40} 1041 | max: {x: 0, y: 0, z: 35} 1042 | value: {x: 0, y: 0, z: 0} 1043 | length: 0 1044 | modified: 0 1045 | - boneName: thumb03_R 1046 | humanName: Right Thumb Distal 1047 | limit: 1048 | min: {x: 0, y: 0, z: -40} 1049 | max: {x: 0, y: 0, z: 35} 1050 | value: {x: 0, y: 0, z: 0} 1051 | length: 0 1052 | modified: 0 1053 | - boneName: index00_R 1054 | humanName: Right Index Proximal 1055 | limit: 1056 | min: {x: 0, y: -20, z: -50} 1057 | max: {x: 0, y: 20, z: 50} 1058 | value: {x: 0, y: 0, z: 0} 1059 | length: 0 1060 | modified: 0 1061 | - boneName: index01_R 1062 | humanName: Right Index Intermediate 1063 | limit: 1064 | min: {x: 0, y: 0, z: -45} 1065 | max: {x: 0, y: 0, z: 45} 1066 | value: {x: 0, y: 0, z: 0} 1067 | length: 0 1068 | modified: 0 1069 | - boneName: index02_R 1070 | humanName: Right Index Distal 1071 | limit: 1072 | min: {x: 0, y: 0, z: -45} 1073 | max: {x: 0, y: 0, z: 45} 1074 | value: {x: 0, y: 0, z: 0} 1075 | length: 0 1076 | modified: 0 1077 | - boneName: middle00_R 1078 | humanName: Right Middle Proximal 1079 | limit: 1080 | min: {x: 0, y: -7.5, z: -50} 1081 | max: {x: 0, y: 7.5, z: 50} 1082 | value: {x: 0, y: 0, z: 0} 1083 | length: 0 1084 | modified: 0 1085 | - boneName: middle01_R 1086 | humanName: Right Middle Intermediate 1087 | limit: 1088 | min: {x: 0, y: 0, z: -45} 1089 | max: {x: 0, y: 0, z: 45} 1090 | value: {x: 0, y: 0, z: 0} 1091 | length: 0 1092 | modified: 0 1093 | - boneName: middle02_R 1094 | humanName: Right Middle Distal 1095 | limit: 1096 | min: {x: 0, y: 0, z: -45} 1097 | max: {x: 0, y: 0, z: 45} 1098 | value: {x: 0, y: 0, z: 0} 1099 | length: 0 1100 | modified: 0 1101 | - boneName: ring00_R 1102 | humanName: Right Ring Proximal 1103 | limit: 1104 | min: {x: 0, y: -7.5, z: -50} 1105 | max: {x: 0, y: 7.5, z: 50} 1106 | value: {x: 0, y: 0, z: 0} 1107 | length: 0 1108 | modified: 0 1109 | - boneName: ring01_R 1110 | humanName: Right Ring Intermediate 1111 | limit: 1112 | min: {x: 0, y: 0, z: -45} 1113 | max: {x: 0, y: 0, z: 45} 1114 | value: {x: 0, y: 0, z: 0} 1115 | length: 0 1116 | modified: 0 1117 | - boneName: ring02_R 1118 | humanName: Right Ring Distal 1119 | limit: 1120 | min: {x: 0, y: 0, z: -45} 1121 | max: {x: 0, y: 0, z: 45} 1122 | value: {x: 0, y: 0, z: 0} 1123 | length: 0 1124 | modified: 0 1125 | - boneName: pinky00_R 1126 | humanName: Right Little Proximal 1127 | limit: 1128 | min: {x: 0, y: -20, z: -50} 1129 | max: {x: 0, y: 20, z: 50} 1130 | value: {x: 0, y: 0, z: 0} 1131 | length: 0 1132 | modified: 0 1133 | - boneName: pinky01_R 1134 | humanName: Right Little Intermediate 1135 | limit: 1136 | min: {x: 0, y: 0, z: -45} 1137 | max: {x: 0, y: 0, z: 45} 1138 | value: {x: 0, y: 0, z: 0} 1139 | length: 0 1140 | modified: 0 1141 | - boneName: pinky02_R 1142 | humanName: Right Little Distal 1143 | limit: 1144 | min: {x: 0, y: 0, z: -45} 1145 | max: {x: 0, y: 0, z: 45} 1146 | value: {x: 0, y: 0, z: 0} 1147 | length: 0 1148 | modified: 0 1149 | - boneName: spine03 1150 | humanName: UpperChest 1151 | limit: 1152 | min: {x: -20, y: -20, z: -20} 1153 | max: {x: 20, y: 20, z: 20} 1154 | value: {x: 0, y: 0, z: 0} 1155 | length: 0 1156 | modified: 0 1157 | skeleton: 1158 | - name: human(Clone) 1159 | parentName: 1160 | position: {x: 0, y: 0, z: 0} 1161 | rotation: {x: 0, y: 0, z: 0, w: 1} 1162 | scale: {x: 1, y: 1, z: 1} 1163 | - name: MBlab_bd1551442129.065212 1164 | parentName: human(Clone) 1165 | position: {x: -0, y: 0, z: 0} 1166 | rotation: {x: 0, y: -0, z: -0, w: 1} 1167 | scale: {x: 1, y: 1, z: 1} 1168 | - name: MBlab_sk1551442129.065212 1169 | parentName: human(Clone) 1170 | position: {x: -0, y: 0, z: 0} 1171 | rotation: {x: -0.7071068, y: 0, z: -0, w: 0.7071067} 1172 | scale: {x: 100, y: 100, z: 100} 1173 | - name: root 1174 | parentName: MBlab_sk1551442129.065212 1175 | position: {x: -1.4901162e-11, y: 0.0005284, z: 0.000561625} 1176 | rotation: {x: 0.99605936, y: 0.00000008950519, z: -0.00000077156494, w: -0.08868936} 1177 | scale: {x: 1, y: 1.0000008, z: 0.99999756} 1178 | - name: pelvis 1179 | parentName: root 1180 | position: {x: -0.000000012877195, y: -0.00074539974, z: -0.008321246} 1181 | rotation: {x: -0.8209494, y: -0.00017673905, z: 0.00025535835, w: 0.5710009} 1182 | scale: {x: 1.0000005, y: 0.99999976, z: 0.9999993} 1183 | - name: spine01 1184 | parentName: pelvis 1185 | position: {x: -8.577583e-14, y: 0.0020666418, z: -2.7949924e-11} 1186 | rotation: {x: 0.1055328, y: -0.00027425736, z: -0.00009459536, w: 0.9944158} 1187 | scale: {x: 1.0000001, y: 1.0000007, z: 0.9999985} 1188 | - name: spine02 1189 | parentName: spine01 1190 | position: {x: -7.8570485e-14, y: 0.00079650554, z: -2.7973528e-11} 1191 | rotation: {x: -0.16447665, y: 0.00057820056, z: 0.0000963696, w: 0.9863809} 1192 | scale: {x: 0.9999997, y: 0.99999905, z: 1.0000011} 1193 | - name: spine03 1194 | parentName: spine02 1195 | position: {x: 1.0658141e-16, y: 0.0014506748, z: -3.725289e-11} 1196 | rotation: {x: 0.14757635, y: -0.000000042142343, z: 0.000000081767205, w: 0.98905075} 1197 | scale: {x: 0.99999994, y: 1.0000014, z: 0.99999833} 1198 | - name: breast_L 1199 | parentName: spine03 1200 | position: {x: -0.0009018735, y: 0.00049052865, z: 0.00017892984} 1201 | rotation: {x: 0.0013144986, y: 0.6860316, z: 0.72506326, w: -0.060351066} 1202 | scale: {x: 1.000005, y: 1.0000026, z: 1.0000024} 1203 | - name: breast_L_end 1204 | parentName: breast_L 1205 | position: {x: -0, y: 0.0018716147, z: 0} 1206 | rotation: {x: 0, y: -0, z: -0, w: 1} 1207 | scale: {x: 1, y: 1, z: 1} 1208 | - name: breast_R 1209 | parentName: spine03 1210 | position: {x: 0.0009018734, y: 0.00049052853, z: 0.00017893016} 1211 | rotation: {x: -0.001314598, y: 0.6860315, z: 0.7250633, w: 0.06035129} 1212 | scale: {x: 1.0000048, y: 1.0000031, z: 1.000002} 1213 | - name: breast_R_end 1214 | parentName: breast_R 1215 | position: {x: -0, y: 0.0018716151, z: 0} 1216 | rotation: {x: 0, y: -0, z: -0, w: 1} 1217 | scale: {x: 1, y: 1, z: 1} 1218 | - name: clavicle_L 1219 | parentName: spine03 1220 | position: {x: -0.00037840637, y: 0.002005843, z: 0.0003847986} 1221 | rotation: {x: -0.040920332, y: 0.06258793, z: 0.7801276, w: 0.6211355} 1222 | scale: {x: 1.0000027, y: 1.0000025, z: 1.0000001} 1223 | - name: upperarm_L 1224 | parentName: clavicle_L 1225 | position: {x: 0.0000026989624, y: 0.0014709219, z: 0.000000364657} 1226 | rotation: {x: -0.017983131, y: -0.062602594, z: -0.083735354, w: 0.99435705} 1227 | scale: {x: 0.9999991, y: 1.0000014, z: 1.0000008} 1228 | - name: lowerarm_L 1229 | parentName: upperarm_L 1230 | position: {x: 4.10364e-10, y: 0.002650244, z: 3.7252902e-11} 1231 | rotation: {x: 0.039296918, y: -0.027546907, z: -0.035981428, w: 0.9981995} 1232 | scale: {x: 1.0000017, y: 1.0000017, z: 0.9999999} 1233 | - name: hand_L 1234 | parentName: lowerarm_L 1235 | position: {x: 3.3644026e-10, y: 0.0027936827, z: -5.5879353e-11} 1236 | rotation: {x: 0.00051424064, y: -0.6888213, z: 0.01107969, w: 0.72484636} 1237 | scale: {x: 1.0000004, y: 1.0000019, z: 1.0000004} 1238 | - name: index00_L 1239 | parentName: hand_L 1240 | position: {x: 0.00029049994, y: 0.00033527118, z: 0.000107709166} 1241 | rotation: {x: 0.16698074, y: 0.98001707, z: 0.0004993243, w: 0.10809187} 1242 | scale: {x: 1.0000031, y: 0.99999756, z: 1.0000027} 1243 | - name: index01_L 1244 | parentName: index00_L 1245 | position: {x: -0, y: 0.000617726, z: 5.122274e-10} 1246 | rotation: {x: -0.028416077, y: 0.10890982, z: -0.0030933756, w: 0.9936406} 1247 | scale: {x: 1.000004, y: 1.0000046, z: 1.0000021} 1248 | - name: index02_L 1249 | parentName: index01_L 1250 | position: {x: 7.4505804e-11, y: 0.0003985447, z: 1.5017576e-10} 1251 | rotation: {x: 0.03693891, y: -0.007807183, z: -0.011916909, w: 0.99921596} 1252 | scale: {x: 1.0000005, y: 0.99999917, z: 0.99999946} 1253 | - name: index03_L 1254 | parentName: index02_L 1255 | position: {x: -9.3132255e-12, y: 0.00025196586, z: -3.390596e-10} 1256 | rotation: {x: 0.11851517, y: -0.01400191, z: 0.03231123, w: -0.9923277} 1257 | scale: {x: 1.0000024, y: 1.000003, z: 1.000002} 1258 | - name: index03_L_end 1259 | parentName: index03_L 1260 | position: {x: -0, y: 0.0002282562, z: 0} 1261 | rotation: {x: 0, y: -0, z: -0, w: 1} 1262 | scale: {x: 1, y: 1, z: 1} 1263 | - name: middle00_L 1264 | parentName: hand_L 1265 | position: {x: 0.00015428741, y: 0.00032952402, z: 0.000051053277} 1266 | rotation: {x: 0.15888743, y: 0.98404145, z: 0.021005135, w: 0.077305876} 1267 | scale: {x: 1.0000027, y: 0.99999887, z: 1.0000023} 1268 | - name: middle01_L 1269 | parentName: middle00_L 1270 | position: {x: -1.11758706e-10, y: 0.0005933774, z: -5.587935e-10} 1271 | rotation: {x: 0.030041408, y: -0.08965666, z: -0.0032281554, w: -0.9955144} 1272 | scale: {x: 1.0000005, y: 1.0000013, z: 0.99999774} 1273 | - name: middle02_L 1274 | parentName: middle01_L 1275 | position: {x: -1.6763806e-10, y: 0.00043809525, z: -2.8172506e-10} 1276 | rotation: {x: -0.039241426, y: 0.02802186, z: 0.003213617, w: -0.9988316} 1277 | scale: {x: 1.0000007, y: 1.0000004, z: 1.0000015} 1278 | - name: middle03_L 1279 | parentName: middle02_L 1280 | position: {x: 3.7252902e-11, y: 0.00029683742, z: -0.0000000010854273} 1281 | rotation: {x: -0.08597279, y: 0.0036285745, z: -0.013245041, w: 0.9962029} 1282 | scale: {x: 1.0000033, y: 1.0000048, z: 1.0000029} 1283 | - name: middle03_L_end 1284 | parentName: middle03_L 1285 | position: {x: -0, y: 0.00025958387, z: 0} 1286 | rotation: {x: 0, y: -0, z: -0, w: 1} 1287 | scale: {x: 1, y: 1, z: 1} 1288 | - name: pinky00_L 1289 | parentName: hand_L 1290 | position: {x: -0.000244548, y: 0.0002999893, z: 0.000033144865} 1291 | rotation: {x: 0.14844541, y: 0.9874573, z: 0.048917983, w: 0.022343926} 1292 | scale: {x: 1.0000031, y: 1.0000002, z: 1.0000024} 1293 | - name: pinky01_L 1294 | parentName: pinky00_L 1295 | position: {x: -0, y: 0.00047948124, z: 3.2654496e-10} 1296 | rotation: {x: -0.03694612, y: 0.022092825, z: 0.0027431087, w: 0.9990692} 1297 | scale: {x: 1.0000037, y: 1.0000044, z: 0.9999998} 1298 | - name: pinky02_L 1299 | parentName: pinky01_L 1300 | position: {x: -0, y: 0.00035149176, z: -0.0000000017267302} 1301 | rotation: {x: 0.038809955, y: -0.0007274259, z: 0.011656581, w: 0.99917835} 1302 | scale: {x: 1.0000008, y: 1.0000008, z: 1.0000025} 1303 | - name: pinky03_L 1304 | parentName: pinky02_L 1305 | position: {x: -6.519258e-11, y: 0.00020028885, z: -0.0000000012790042} 1306 | rotation: {x: -0.12658629, y: 0.009625293, z: 0.017219398, w: 0.9917594} 1307 | scale: {x: 1.0000002, y: 1.0000012, z: 0.99999815} 1308 | - name: pinky03_L_end 1309 | parentName: pinky03_L 1310 | position: {x: -0, y: 0.00016823722, z: 0} 1311 | rotation: {x: 0, y: -0, z: -0, w: 1} 1312 | scale: {x: 1, y: 1, z: 1} 1313 | - name: ring00_L 1314 | parentName: hand_L 1315 | position: {x: -0.000041014217, y: 0.00032636392, z: 0.000021796406} 1316 | rotation: {x: 0.15357454, y: 0.9867624, z: 0.035826303, w: 0.037834205} 1317 | scale: {x: 1.0000033, y: 0.999999, z: 1.0000038} 1318 | - name: ring01_L 1319 | parentName: ring00_L 1320 | position: {x: 5.5879353e-11, y: 0.00052962644, z: -0.0000000017916317} 1321 | rotation: {x: -0.033643864, y: 0.026500324, z: 0.002892716, w: 0.99907833} 1322 | scale: {x: 1.0000024, y: 1.0000021, z: 0.99999934} 1323 | - name: ring02_L 1324 | parentName: ring01_L 1325 | position: {x: 3.7252902e-11, y: 0.00042879995, z: -3.9988662e-10} 1326 | rotation: {x: 0.03831277, y: 0.0066383174, z: 0.012282914, w: 0.9991683} 1327 | scale: {x: 1.0000015, y: 1.000003, z: 1.0000017} 1328 | - name: ring03_L 1329 | parentName: ring02_L 1330 | position: {x: 3.7252902e-11, y: 0.0002826631, z: 5.9080774e-10} 1331 | rotation: {x: -0.09743694, y: 0.010379161, z: -0.0017151489, w: 0.99518615} 1332 | scale: {x: 1.0000021, y: 1.0000007, z: 1.0000008} 1333 | - name: ring03_L_end 1334 | parentName: ring03_L 1335 | position: {x: -0, y: 0.00023784304, z: 0} 1336 | rotation: {x: 0, y: -0, z: -0, w: 1} 1337 | scale: {x: 1, y: 1, z: 1} 1338 | - name: thumb01_L 1339 | parentName: hand_L 1340 | position: {x: 0.0002504531, y: 0.0002748176, z: 0.000055141772} 1341 | rotation: {x: 0.543909, y: 0.6919304, z: -0.17541723, w: 0.44116238} 1342 | scale: {x: 1.0000005, y: 1.0000021, z: 1.0000049} 1343 | - name: thumb02_L 1344 | parentName: thumb01_L 1345 | position: {x: 3.352761e-10, y: 0.00035329285, z: 4.842877e-10} 1346 | rotation: {x: 0.0008877805, y: -0.013160068, z: -0.03499883, w: 0.9993003} 1347 | scale: {x: 1.0000017, y: 0.99999994, z: 1.0000011} 1348 | - name: thumb03_L 1349 | parentName: thumb02_L 1350 | position: {x: 7.0780515e-10, y: 0.0003841518, z: 0.0000000014528632} 1351 | rotation: {x: -0.03140458, y: -0.015676644, z: 0.0014115116, w: 0.9993828} 1352 | scale: {x: 1.0000031, y: 0.999996, z: 1.0000067} 1353 | - name: thumb03_L_end 1354 | parentName: thumb03_L 1355 | position: {x: -0, y: 0.00033429964, z: 0} 1356 | rotation: {x: 0, y: -0, z: -0, w: 1} 1357 | scale: {x: 1, y: 1, z: 1} 1358 | - name: lowerarm_twist_L 1359 | parentName: lowerarm_L 1360 | position: {x: 7.3836415e-10, y: 3.236346e-10, z: -1.11758706e-10} 1361 | rotation: {x: 0.07569269, y: -0.0032333087, z: -0.004732014, w: 0.9971148} 1362 | scale: {x: 1.0000026, y: 1.0000025, z: 0.999999} 1363 | - name: lowerarm_twist_L_end 1364 | parentName: lowerarm_twist_L 1365 | position: {x: -0, y: 0.0014050769, z: 0} 1366 | rotation: {x: 0, y: -0, z: -0, w: 1} 1367 | scale: {x: 1, y: 1, z: 1} 1368 | - name: upperarm_twist_L 1369 | parentName: upperarm_L 1370 | position: {x: 0.000000001094304, y: 1.0040821e-10, z: 4.6566126e-11} 1371 | rotation: {x: 0.060726076, y: -0.008596214, z: -0.021348475, w: 0.99788916} 1372 | scale: {x: 1.0000005, y: 0.9999998, z: 0.9999993} 1373 | - name: upperarm_twist_L_end 1374 | parentName: upperarm_twist_L 1375 | position: {x: -0, y: 0.0012856318, z: 0} 1376 | rotation: {x: 0, y: -0, z: -0, w: 1} 1377 | scale: {x: 1, y: 1, z: 1} 1378 | - name: clavicle_R 1379 | parentName: spine03 1380 | position: {x: 0.0003784063, y: 0.002005843, z: 0.00038479883} 1381 | rotation: {x: -0.04091649, y: -0.062585115, z: -0.7801279, w: 0.6211357} 1382 | scale: {x: 1.0000043, y: 1.0000048, z: 0.99999976} 1383 | - name: upperarm_R 1384 | parentName: clavicle_R 1385 | position: {x: -0.00000270013, y: 0.0014709219, z: 0.0000003644824} 1386 | rotation: {x: 0.018374193, y: -0.06724003, z: -0.083650656, w: -0.99405426} 1387 | scale: {x: 1.0000011, y: 1.0000027, z: 0.9999996} 1388 | - name: lowerarm_R 1389 | parentName: upperarm_R 1390 | position: {x: -4.3684847e-10, y: 0.0026502432, z: -2.3283063e-11} 1391 | rotation: {x: -0.03902297, y: -0.025793135, z: -0.03627873, w: -0.9982464} 1392 | scale: {x: 1.0000027, y: 1.000002, z: 1.0000007} 1393 | - name: hand_R 1394 | parentName: lowerarm_R 1395 | position: {x: -4.8894433e-10, y: 0.0027936827, z: 1.4901161e-10} 1396 | rotation: {x: 0.0005497593, y: 0.68670726, z: -0.011081808, w: 0.7268494} 1397 | scale: {x: 1.0000013, y: 1.0000012, z: 0.9999994} 1398 | - name: index00_R 1399 | parentName: hand_R 1400 | position: {x: -0.00029049985, y: 0.0003352704, z: 0.0001077092} 1401 | rotation: {x: -0.16698155, y: 0.9800169, z: 0.00049746933, w: -0.10809179} 1402 | scale: {x: 1.0000058, y: 1.0000008, z: 1.0000046} 1403 | - name: index01_R 1404 | parentName: index00_R 1405 | position: {x: -0, y: 0.0006177262, z: -6.3329936e-10} 1406 | rotation: {x: -0.028424276, y: -0.1080104, z: 0.0030668508, w: 0.9937386} 1407 | scale: {x: 1.000002, y: 1.0000014, z: 0.9999982} 1408 | - name: index02_R 1409 | parentName: index01_R 1410 | position: {x: 1.11758706e-10, y: 0.0003985446, z: 9.767245e-10} 1411 | rotation: {x: 0.0364, y: 0.04770825, z: 0.013447642, w: 0.9981073} 1412 | scale: {x: 1.0000029, y: 1.0000014, z: 1.0000025} 1413 | - name: index03_R 1414 | parentName: index02_R 1415 | position: {x: -3.7252902e-11, y: 0.00025196673, z: -5.3085386e-10} 1416 | rotation: {x: -0.11972605, y: -0.0545207, z: 0.027444417, w: 0.9909289} 1417 | scale: {x: 1.0000012, y: 1.0000029, z: 1.0000004} 1418 | - name: index03_R_end 1419 | parentName: index03_R 1420 | position: {x: -0, y: 0.0002282562, z: 0} 1421 | rotation: {x: 0, y: -0, z: -0, w: 1} 1422 | scale: {x: 1, y: 1, z: 1} 1423 | - name: middle00_R 1424 | parentName: hand_R 1425 | position: {x: -0.00015428732, y: 0.00032952326, z: 0.000051052713} 1426 | rotation: {x: -0.15888914, y: 0.98404104, z: 0.02100609, w: -0.0773067} 1427 | scale: {x: 1.000006, y: 1.0000002, z: 1.0000046} 1428 | - name: middle01_R 1429 | parentName: middle00_R 1430 | position: {x: -0, y: 0.00059337704, z: 9.080395e-10} 1431 | rotation: {x: -0.030034052, y: -0.08965624, z: -0.0032279473, w: 0.99551463} 1432 | scale: {x: 1.0000033, y: 1.0000036, z: 0.9999996} 1433 | - name: middle02_R 1434 | parentName: middle01_R 1435 | position: {x: 1.5832484e-10, y: 0.00043809434, z: -2.3748725e-10} 1436 | rotation: {x: 0.039356906, y: -0.033173256, z: 0.00080458116, w: 0.99867415} 1437 | scale: {x: 1.0000014, y: 1.0000013, z: 1.0000015} 1438 | - name: middle03_R 1439 | parentName: middle02_R 1440 | position: {x: -7.4505804e-11, y: 0.00029683742, z: 0.0000000017043202} 1441 | rotation: {x: -0.08530419, y: 0.07471633, z: 0.01699519, w: 0.9934042} 1442 | scale: {x: 1.0000006, y: 0.99999976, z: 1.0000004} 1443 | - name: middle03_R_end 1444 | parentName: middle03_R 1445 | position: {x: -0, y: 0.00025958387, z: 0} 1446 | rotation: {x: 0, y: -0, z: -0, w: 1} 1447 | scale: {x: 1, y: 1, z: 1} 1448 | - name: pinky00_R 1449 | parentName: hand_R 1450 | position: {x: 0.00024454793, y: 0.00029998858, z: 0.000033144574} 1451 | rotation: {x: -0.14844725, y: 0.9874569, z: 0.048918765, w: -0.022345169} 1452 | scale: {x: 1.0000043, y: 1.000001, z: 1.0000031} 1453 | - name: pinky01_R 1454 | parentName: pinky00_R 1455 | position: {x: 9.3132255e-12, y: 0.0004794819, z: 5.5297277e-11} 1456 | rotation: {x: -0.03703214, y: -0.066282526, z: -0.0011048607, w: 0.9971129} 1457 | scale: {x: 1.0000015, y: 1.0000032, z: 0.99999815} 1458 | - name: pinky02_R 1459 | parentName: pinky01_R 1460 | position: {x: 9.3132255e-12, y: 0.00035149176, z: -6.0535965e-11} 1461 | rotation: {x: 0.03803942, y: 0.029214548, z: -0.013961135, w: 0.9987516} 1462 | scale: {x: 1.0000021, y: 1.0000017, z: 1.0000027} 1463 | - name: pinky03_R 1464 | parentName: pinky02_R 1465 | position: {x: 2.7939677e-11, y: 0.00020028991, z: -5.5879353e-11} 1466 | rotation: {x: -0.1273481, y: -0.033398613, z: -0.010173539, w: 0.9912434} 1467 | scale: {x: 1, y: 1.0000006, z: 0.9999973} 1468 | - name: pinky03_R_end 1469 | parentName: pinky03_R 1470 | position: {x: -0, y: 0.00016823722, z: 0} 1471 | rotation: {x: 0, y: -0, z: -0, w: 1} 1472 | scale: {x: 1, y: 1, z: 1} 1473 | - name: ring00_R 1474 | parentName: hand_R 1475 | position: {x: 0.00004101429, y: 0.00032636317, z: 0.000021796723} 1476 | rotation: {x: -0.15357524, y: 0.98676217, z: 0.035826784, w: -0.03783503} 1477 | scale: {x: 1.000005, y: 1.0000011, z: 1.0000044} 1478 | - name: ring01_R 1479 | parentName: ring00_R 1480 | position: {x: 3.7252902e-11, y: 0.00052962545, z: -6.1234456e-10} 1481 | rotation: {x: -0.033718444, y: -0.05551744, z: -0.001916646, w: 0.99788636} 1482 | scale: {x: 1.0000012, y: 1.0000019, z: 0.99999744} 1483 | - name: ring02_R 1484 | parentName: ring01_R 1485 | position: {x: -6.519258e-11, y: 0.00042879995, z: 0.0000000010174699} 1486 | rotation: {x: 0.037784804, y: 0.010185521, z: -0.013852027, w: 0.999138} 1487 | scale: {x: 1.0000007, y: 1.0000005, z: 1.0000023} 1488 | - name: ring03_R 1489 | parentName: ring02_R 1490 | position: {x: -1.8626451e-11, y: 0.00028266385, z: -8.7893565e-10} 1491 | rotation: {x: -0.09738217, y: -0.0061598225, z: 0.003683657, w: 0.9952212} 1492 | scale: {x: 1.0000012, y: 1.000002, z: 1} 1493 | - name: ring03_R_end 1494 | parentName: ring03_R 1495 | position: {x: -0, y: 0.00023784304, z: 0} 1496 | rotation: {x: 0, y: -0, z: -0, w: 1} 1497 | scale: {x: 1, y: 1, z: 1} 1498 | - name: thumb01_R 1499 | parentName: hand_R 1500 | position: {x: -0.000250453, y: 0.00027481685, z: 0.000055141812} 1501 | rotation: {x: -0.54390633, y: 0.69193345, z: -0.17542359, w: -0.44115815} 1502 | scale: {x: 0.99999946, y: 1.0000005, z: 1.0000055} 1503 | - name: thumb02_R 1504 | parentName: thumb01_R 1505 | position: {x: 4.842877e-10, y: 0.00035329352, z: 3.7252902e-11} 1506 | rotation: {x: 0.0008920278, y: 0.0131589705, z: 0.03499852, w: 0.99930036} 1507 | scale: {x: 1.0000015, y: 1.0000027, z: 1.0000001} 1508 | - name: thumb03_R 1509 | parentName: thumb02_R 1510 | position: {x: -2.9802322e-10, y: 0.0003841517, z: 9.685754e-10} 1511 | rotation: {x: -0.031407017, y: 0.015676707, z: -0.0014147203, w: 0.9993828} 1512 | scale: {x: 1.0000035, y: 0.99999374, z: 1.0000091} 1513 | - name: thumb03_R_end 1514 | parentName: thumb03_R 1515 | position: {x: -0, y: 0.00033429964, z: 0} 1516 | rotation: {x: 0, y: -0, z: -0, w: 1} 1517 | scale: {x: 1, y: 1, z: 1} 1518 | - name: lowerarm_twist_R 1519 | parentName: lowerarm_R 1520 | position: {x: -5.0640664e-10, y: 6.216578e-10, z: 1.3038516e-10} 1521 | rotation: {x: 0.07567849, y: 0.0003294329, z: 0.004952424, w: 0.99711996} 1522 | scale: {x: 1.0000023, y: 1.0000027, z: 0.9999986} 1523 | - name: lowerarm_twist_R_end 1524 | parentName: lowerarm_twist_R 1525 | position: {x: -0, y: 0.001405077, z: 0} 1526 | rotation: {x: 0, y: -0, z: -0, w: 1} 1527 | scale: {x: 1, y: 1, z: 1} 1528 | - name: upperarm_twist_R 1529 | parentName: upperarm_R 1530 | position: {x: -0.0000000010350777, y: -3.457535e-10, z: 1.6298145e-11} 1531 | rotation: {x: -0.06062565, y: -0.0039368668, z: -0.021631751, w: -0.99791837} 1532 | scale: {x: 1.0000024, y: 1.0000015, z: 1.000001} 1533 | - name: upperarm_twist_R_end 1534 | parentName: upperarm_twist_R 1535 | position: {x: -0, y: 0.0012856313, z: 0} 1536 | rotation: {x: 0, y: -0, z: -0, w: 1} 1537 | scale: {x: 1, y: 1, z: 1} 1538 | - name: neck 1539 | parentName: spine03 1540 | position: {x: 5.7420013e-11, y: 0.002478848, z: 0.00048023078} 1541 | rotation: {x: 0.24537611, y: -0.00000018466498, z: -0.00000004060892, w: 0.96942794} 1542 | scale: {x: 1.0000001, y: 1.0000015, z: 0.9999999} 1543 | - name: head 1544 | parentName: neck 1545 | position: {x: -6.883383e-17, y: 0.0011220244, z: 1.11758706e-10} 1546 | rotation: {x: -0.26231676, y: 0.000000152813, z: 0.000000010243879, w: 0.9649819} 1547 | scale: {x: 0.99999994, y: 1.0000005, z: 1.0000004} 1548 | - name: head_end 1549 | parentName: head 1550 | position: {x: -0, y: 0.0017669043, z: 0} 1551 | rotation: {x: 0, y: -0, z: -0, w: 1} 1552 | scale: {x: 1, y: 1, z: 1} 1553 | - name: thigh_L 1554 | parentName: pelvis 1555 | position: {x: -0.0011646717, y: 0.0010268124, z: 0.000046096673} 1556 | rotation: {x: 0.0022647602, y: -0.09689614, z: 0.99448174, w: 0.040150855} 1557 | scale: {x: 1.0000032, y: 1.0000046, z: 1.0000014} 1558 | - name: calf_L 1559 | parentName: thigh_L 1560 | position: {x: -2.953129e-11, y: 0.0045935726, z: 1.8626451e-11} 1561 | rotation: {x: -0.023272062, y: -0.0000726236, z: -0.0039382908, w: 0.99972147} 1562 | scale: {x: 0.99999976, y: 1.000001, z: 1} 1563 | - name: calf_twist_L 1564 | parentName: calf_L 1565 | position: {x: 2.6598172e-11, y: 8.3466145e-10, z: 7.2759576e-11} 1566 | rotation: {x: -0.020245684, y: 0.0021557787, z: -0.025100717, w: 0.99947757} 1567 | scale: {x: 1.0000055, y: 1.0000043, z: 0.9999988} 1568 | - name: calf_twist_L_end 1569 | parentName: calf_twist_L 1570 | position: {x: -0, y: 0.0014300274, z: 0} 1571 | rotation: {x: 0, y: -0, z: -0, w: 1} 1572 | scale: {x: 1, y: 1, z: 1} 1573 | - name: foot_L 1574 | parentName: calf_L 1575 | position: {x: 4.583853e-11, y: 0.004309672, z: 4.6566126e-11} 1576 | rotation: {x: 0.5309607, y: 0.05184536, z: 0.023272293, w: 0.8454888} 1577 | scale: {x: 1.000003, y: 0.9999999, z: 1.000003} 1578 | - name: toes_L 1579 | parentName: foot_L 1580 | position: {x: 8.949428e-11, y: 0.0016740813, z: -6.0535965e-11} 1581 | rotation: {x: 0.2022039, y: -0.04323727, z: -0.04546149, w: 0.9773318} 1582 | scale: {x: 1.000002, y: 1.0000017, z: 1.0000019} 1583 | - name: toes_L_end 1584 | parentName: toes_L 1585 | position: {x: -0, y: 0.00053637737, z: 0} 1586 | rotation: {x: 0, y: -0, z: -0, w: 1} 1587 | scale: {x: 1, y: 1, z: 1} 1588 | - name: thigh_twist_L 1589 | parentName: thigh_L 1590 | position: {x: -1.8371792e-11, y: 1.9703293e-10, z: -1.01863405e-11} 1591 | rotation: {x: 0.071260065, y: 0.0018258725, z: -0.00813633, w: 0.99742293} 1592 | scale: {x: 0.99999845, y: 0.9999973, z: 0.9999999} 1593 | - name: thigh_twist_L_end 1594 | parentName: thigh_twist_L 1595 | position: {x: -0, y: 0.001752545, z: 0} 1596 | rotation: {x: 0, y: -0, z: -0, w: 1} 1597 | scale: {x: 1, y: 1, z: 1} 1598 | - name: thigh_R 1599 | parentName: pelvis 1600 | position: {x: 0.0011647281, y: 0.0010268135, z: 0.00004465138} 1601 | rotation: {x: -0.0016475916, y: -0.09692095, z: 0.994483, w: -0.04009077} 1602 | scale: {x: 1.0000007, y: 1.0000025, z: 1.0000011} 1603 | - name: calf_R 1604 | parentName: thigh_R 1605 | position: {x: -8.1199686e-11, y: 0.0045935726, z: 8.1490726e-12} 1606 | rotation: {x: -0.023272114, y: 0.00007253839, z: 0.003938296, w: 0.99972147} 1607 | scale: {x: 1.0000021, y: 1.0000029, z: 0.9999999} 1608 | - name: calf_twist_R 1609 | parentName: calf_R 1610 | position: {x: -6.366008e-11, y: 0.0000000014891702, z: 1.0710209e-10} 1611 | rotation: {x: -0.020245755, y: -0.0021557377, z: 0.025100747, w: 0.9994776} 1612 | scale: {x: 1.0000072, y: 1.0000056, z: 0.9999995} 1613 | - name: calf_twist_R_end 1614 | parentName: calf_twist_R 1615 | position: {x: -0, y: 0.0014300268, z: 0} 1616 | rotation: {x: 0, y: -0, z: -0, w: 1} 1617 | scale: {x: 1, y: 1, z: 1} 1618 | - name: foot_R 1619 | parentName: calf_R 1620 | position: {x: -3.718014e-11, y: 0.0043096724, z: 2.910383e-11} 1621 | rotation: {x: 0.5309608, y: -0.051845368, z: -0.023272304, w: 0.8454887} 1622 | scale: {x: 1.0000048, y: 1.0000012, z: 1.0000024} 1623 | - name: toes_R 1624 | parentName: foot_R 1625 | position: {x: -6.781192e-11, y: 0.0016740819, z: 5.5879353e-11} 1626 | rotation: {x: 0.20379803, y: 0.0057385415, z: 0.03767637, w: 0.9782709} 1627 | scale: {x: 1.0000006, y: 1.0000012, z: 1.0000018} 1628 | - name: toes_R_end 1629 | parentName: toes_R 1630 | position: {x: -0, y: 0.00053637737, z: 0} 1631 | rotation: {x: 0, y: -0, z: -0, w: 1} 1632 | scale: {x: 1, y: 1, z: 1} 1633 | - name: thigh_twist_R 1634 | parentName: thigh_R 1635 | position: {x: -6.717528e-11, y: 2.6157068e-10, z: 5.2095855e-11} 1636 | rotation: {x: 0.07125999, y: -0.0018259487, z: 0.008136324, w: 0.99742293} 1637 | scale: {x: 0.9999993, y: 0.9999986, z: 1} 1638 | - name: thigh_twist_R_end 1639 | parentName: thigh_twist_R 1640 | position: {x: -0, y: 0.001752545, z: 0} 1641 | rotation: {x: 0, y: -0, z: -0, w: 1} 1642 | scale: {x: 1, y: 1, z: 1} 1643 | armTwist: 0.62 1644 | foreArmTwist: 0.5 1645 | upperLegTwist: 0.5 1646 | legTwist: 0.5 1647 | armStretch: 0.05 1648 | legStretch: 0.05 1649 | feetSpacing: 0 1650 | rootMotionBoneName: 1651 | rootMotionBoneRotation: {x: 0, y: 0, z: 0, w: 1} 1652 | hasTranslationDoF: 0 1653 | hasExtraRoot: 1 1654 | skeletonHasParents: 1 1655 | lastHumanDescriptionAvatarSource: {instanceID: 0} 1656 | animationType: 3 1657 | humanoidOversampling: 1 1658 | additionalBone: 0 1659 | userData: 1660 | assetBundleName: 1661 | assetBundleVariant: 1662 | -------------------------------------------------------------------------------- /FaceSync/Demo/humanblender.blend: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/joscanper/unity_facesync/ff49cf8527785394a523736f6212c2c706e5d7df/FaceSync/Demo/humanblender.blend -------------------------------------------------------------------------------- /FaceSync/Demo/humanblender.blend.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7285c261526f14440bb2a8e4c848d7b0 3 | ModelImporter: 4 | serializedVersion: 22 5 | fileIDToRecycleName: 6 | 100000: //RootNode 7 | 400000: //RootNode 8 | externalObjects: {} 9 | materials: 10 | importMaterials: 1 11 | materialName: 0 12 | materialSearch: 1 13 | materialLocation: 1 14 | animations: 15 | legacyGenerateAnimations: 4 16 | bakeSimulation: 0 17 | resampleCurves: 1 18 | optimizeGameObjects: 0 19 | motionNodeName: 20 | rigImportErrors: 21 | rigImportWarnings: 22 | animationImportErrors: 23 | animationImportWarnings: 24 | animationRetargetingWarnings: 25 | animationDoRetargetingWarnings: 0 26 | importAnimatedCustomProperties: 0 27 | animationCompression: 1 28 | animationRotationError: 0.5 29 | animationPositionError: 0.5 30 | animationScaleError: 0.5 31 | animationWrapMode: 0 32 | extraExposedTransformPaths: [] 33 | extraUserProperties: [] 34 | clipAnimations: [] 35 | isReadable: 1 36 | meshes: 37 | lODScreenPercentages: [] 38 | globalScale: 1 39 | meshCompression: 0 40 | addColliders: 0 41 | importVisibility: 1 42 | importBlendShapes: 1 43 | importCameras: 1 44 | importLights: 1 45 | swapUVChannels: 0 46 | generateSecondaryUV: 0 47 | useFileUnits: 1 48 | optimizeMeshForGPU: 1 49 | keepQuads: 0 50 | weldVertices: 1 51 | preserveHierarchy: 0 52 | indexFormat: 0 53 | secondaryUVAngleDistortion: 8 54 | secondaryUVAreaDistortion: 15.000001 55 | secondaryUVHardAngle: 88 56 | secondaryUVPackMargin: 4 57 | useFileScale: 1 58 | tangentSpace: 59 | normalSmoothAngle: 60 60 | normalImportMode: 0 61 | tangentImportMode: 3 62 | normalCalculationMode: 4 63 | importAnimation: 1 64 | copyAvatar: 0 65 | humanDescription: 66 | serializedVersion: 2 67 | human: [] 68 | skeleton: [] 69 | armTwist: 0.5 70 | foreArmTwist: 0.5 71 | upperLegTwist: 0.5 72 | legTwist: 0.5 73 | armStretch: 0.05 74 | legStretch: 0.05 75 | feetSpacing: 0 76 | rootMotionBoneName: 77 | rootMotionBoneRotation: {x: 0, y: 0, z: 0, w: 1} 78 | hasTranslationDoF: 0 79 | hasExtraRoot: 0 80 | skeletonHasParents: 1 81 | lastHumanDescriptionAvatarSource: {instanceID: 0} 82 | animationType: 0 83 | humanoidOversampling: 1 84 | additionalBone: 0 85 | userData: 86 | assetBundleName: 87 | assetBundleVariant: 88 | -------------------------------------------------------------------------------- /FaceSync/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7a9b12c0387506e468a7b1bdab7df4b8 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /FaceSync/Editor/FaceSyncDataEditor.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Reflection; 4 | using UnityEditor; 5 | using UnityEngine; 6 | 7 | namespace FaceSync 8 | { 9 | [CustomEditor(typeof(FaceSyncData))] 10 | public class FaceSyncDataEditor : Editor 11 | { 12 | private readonly float sBorder = 20f; 13 | private readonly float sInitY = 160f; 14 | 15 | private int mSelectedKeyframe; 16 | private float mClipStartTime; 17 | private float mWidth; 18 | 19 | // -------------------------------------------------------------------- 20 | 21 | public FaceSyncDataEditor() 22 | { 23 | mSelectedKeyframe = -1; 24 | } 25 | 26 | // -------------------------------------------------------------------- 27 | 28 | public override void OnInspectorGUI() 29 | { 30 | serializedObject.Update(); 31 | 32 | FaceSyncData syncData = target as FaceSyncData; 33 | 34 | mWidth = EditorGUIUtility.currentViewWidth; 35 | Rect barRect = new Rect(sBorder, sInitY, mWidth - (sBorder * 2f), 5f); 36 | 37 | 38 | EditorGUILayout.Separator(); 39 | 40 | ShowSoundUI(barRect); 41 | 42 | if (syncData.Sound != null) 43 | { 44 | EditorGUILayout.Separator(); 45 | 46 | ShowKeyframesUI(); 47 | 48 | float clipDuration = syncData && syncData.Sound ? syncData.Sound.length : 1f; 49 | if (syncData.Sound != null) 50 | { 51 | if (GUI.Button(barRect, "")) 52 | { 53 | float t = ((Event.current.mousePosition.x - barRect.x) / barRect.width) * clipDuration; 54 | syncData.Keyframes.Add(new FaceSyncKeyframe(t)); 55 | mSelectedKeyframe = syncData.Keyframes.Count - 1; 56 | EditorUtility.SetDirty(target); 57 | } 58 | 59 | float totalDuration = syncData.GetDuration(); 60 | if (totalDuration > 0) 61 | { 62 | float audioPercentage = syncData.Sound.length / totalDuration; 63 | GUI.backgroundColor = Color.cyan; 64 | GUI.Box(new Rect(sBorder, sInitY, (mWidth - (sBorder * 2)) * audioPercentage, 5), ""); 65 | GUI.backgroundColor = Color.white; 66 | } 67 | } 68 | 69 | if (mSelectedKeyframe >= 0) 70 | { 71 | GUILayout.BeginArea(new Rect(sBorder, sInitY + 30, mWidth - (sBorder * 2), 200)); 72 | 73 | ShowKeyframeDataUI(syncData.Keyframes[mSelectedKeyframe], clipDuration); 74 | 75 | GUILayout.EndArea(); 76 | } 77 | else 78 | { 79 | GUILayout.BeginArea(new Rect(sBorder, sInitY + 30, mWidth - (sBorder * 2), 200)); 80 | 81 | GUILayout.Label("Select a keyframe or click on the timeline to create a new keyframe."); 82 | 83 | GUILayout.EndArea(); 84 | } 85 | } 86 | 87 | serializedObject.ApplyModifiedProperties(); 88 | } 89 | 90 | // -------------------------------------------------------------------- 91 | 92 | private void ShowKeyframesUI() 93 | { 94 | FaceSyncData syncData = target as FaceSyncData; 95 | 96 | EditorGUI.BeginChangeCheck(); 97 | 98 | syncData.ReferenceText = EditorGUILayout.TextArea(syncData.ReferenceText); 99 | 100 | if (EditorGUI.EndChangeCheck()) 101 | EditorUtility.SetDirty(target); 102 | 103 | EditorGUILayout.BeginHorizontal(); 104 | if (GUILayout.Button("Detect Keyframes")) 105 | AutodetectWithRules(); 106 | 107 | if (GUILayout.Button("Clear Keyframes")) 108 | { 109 | syncData.Keyframes.Clear(); 110 | mSelectedKeyframe = -1; 111 | } 112 | EditorGUILayout.EndHorizontal(); 113 | 114 | float totalDuration = syncData.GetDuration(); 115 | for (int i = 0; i < syncData.Keyframes.Count; ++i) 116 | { 117 | FaceSyncKeyframe keyframe = syncData.Keyframes[i]; 118 | float x = (mWidth - (sBorder * 2)) * (keyframe.Time / totalDuration); 119 | string label = keyframe.BlendSet ? keyframe.BlendSet.Label : "!"; 120 | GUI.contentColor = keyframe.BlendSet ? Color.white : Color.red; 121 | GUI.backgroundColor = i == mSelectedKeyframe ? Color.cyan : (keyframe.BlendSet ? keyframe.BlendSet.Color : Color.white); 122 | if (GUI.Button(new Rect(sBorder + x - 10, sInitY - 20, 20, 18), label)) 123 | { 124 | mSelectedKeyframe = i; 125 | } 126 | GUI.Box(new Rect(sBorder + x, sInitY, 1, 5), ""); 127 | } 128 | GUI.contentColor = Color.white; 129 | GUI.backgroundColor = Color.white; 130 | } 131 | 132 | // -------------------------------------------------------------------- 133 | 134 | private void ShowSoundUI(Rect barRect) 135 | { 136 | FaceSyncData syncData = target as FaceSyncData; 137 | 138 | EditorGUILayout.BeginHorizontal(); 139 | 140 | syncData.Sound = EditorGUILayout.ObjectField(syncData.Sound, typeof(AudioClip), false, null) as AudioClip; 141 | 142 | if (syncData.Sound != null) 143 | { 144 | float clipDuration = syncData.Sound.length; 145 | float clipPreviewT = Time.realtimeSinceStartup - mClipStartTime; 146 | 147 | if (clipPreviewT >= clipDuration) 148 | { 149 | if (GUILayout.Button("Play")) 150 | { 151 | PlayClip(syncData.Sound); 152 | mClipStartTime = Time.realtimeSinceStartup; 153 | } 154 | } 155 | else 156 | { 157 | GUILayout.Label(clipPreviewT + "s"); 158 | } 159 | 160 | EditorGUILayout.EndHorizontal(); 161 | 162 | if (clipPreviewT < clipDuration) 163 | { 164 | Rect clipT = new Rect(barRect); 165 | clipT.x = clipT.x + (clipPreviewT / clipDuration) * clipT.width; 166 | clipT.y -= 2f; 167 | clipT.width = 1f; 168 | clipT.height = 10f; 169 | GUI.Box(clipT, ""); 170 | EditorUtility.SetDirty(target); 171 | } 172 | } 173 | else 174 | { 175 | EditorGUILayout.EndHorizontal(); 176 | } 177 | } 178 | 179 | // -------------------------------------------------------------------- 180 | 181 | public void ShowKeyframeDataUI(FaceSyncKeyframe keyframe, float maxTime) 182 | { 183 | EditorGUI.BeginChangeCheck(); 184 | keyframe.BlendSet = EditorGUILayout.ObjectField(keyframe.BlendSet, typeof(FaceSyncBlendSet), false, null) as FaceSyncBlendSet; 185 | keyframe.Time = EditorGUILayout.Slider("Time", keyframe.Time, 0, maxTime); 186 | 187 | if (GUILayout.Button("Delete")) 188 | { 189 | (target as FaceSyncData).Keyframes.Remove(keyframe); 190 | mSelectedKeyframe = -1; 191 | } 192 | 193 | if (EditorGUI.EndChangeCheck()) 194 | EditorUtility.SetDirty(target); 195 | } 196 | 197 | // -------------------------------------------------------------------- 198 | 199 | private void AutodetectWithRules() // TODO - Move this to an autodetection thing 200 | { 201 | FaceSyncData syncData = target as FaceSyncData; 202 | 203 | if (syncData.ReferenceText == null || syncData.ReferenceText.Length == 0) 204 | return; 205 | 206 | Dictionary rules = FaceSyncSettings.GetSettings().GetHashedRules(); 207 | float totalDuration = syncData.GetDuration(); 208 | string lowerCaseText = syncData.ReferenceText.ToLower(); 209 | for (int i = 0; i < syncData.ReferenceText.Length; ++i) 210 | { 211 | foreach (var rule in rules) 212 | { 213 | if (lowerCaseText.Substring(i).StartsWith(rule.Key.ToLower())) 214 | { 215 | FaceSyncKeyframe kf = new FaceSyncKeyframe(((float)i / syncData.ReferenceText.Length) * totalDuration); 216 | kf.BlendSet = rule.Value; 217 | syncData.Keyframes.Add(kf); 218 | } 219 | } 220 | } 221 | } 222 | 223 | // -------------------------------------------------------------------- 224 | 225 | public static void PlayClip(AudioClip clip) // TODO - Move this to a utils class 226 | { 227 | Assembly unityEditorAssembly = typeof(AudioImporter).Assembly; 228 | Type audioUtilClass = unityEditorAssembly.GetType("UnityEditor.AudioUtil"); 229 | MethodInfo method = audioUtilClass.GetMethod( 230 | "PlayClip", 231 | BindingFlags.Static | BindingFlags.Public, 232 | null, 233 | new System.Type[] { 234 | typeof(AudioClip) 235 | }, 236 | null 237 | ); 238 | method.Invoke( 239 | null, 240 | new object[] { 241 | clip 242 | } 243 | ); 244 | } 245 | } 246 | } -------------------------------------------------------------------------------- /FaceSync/Editor/FaceSyncDataEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 02449bb7eac1d8240a6b11cd4f481b69 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /FaceSync/Editor/FaceSyncDataPreviewEditor.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Reflection; 3 | using UnityEditor; 4 | using UnityEngine; 5 | 6 | namespace FaceSync 7 | { 8 | [CustomEditor(typeof(FaceSyncDataPreview))] 9 | public class FaceSyncDataPreviewEditor : Editor 10 | { 11 | public override void OnInspectorGUI() 12 | { 13 | base.OnInspectorGUI(); 14 | 15 | serializedObject.Update(); 16 | 17 | FaceSyncDataPreview preview = target as FaceSyncDataPreview; 18 | if (GUILayout.Button("Play")) 19 | { 20 | preview.Play(); 21 | } 22 | 23 | serializedObject.ApplyModifiedProperties(); 24 | } 25 | } 26 | } -------------------------------------------------------------------------------- /FaceSync/Editor/FaceSyncDataPreviewEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e0dec2df898768640b24aa2a266384e0 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /FaceSync/FaceSyncApplier.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using UnityEngine; 3 | 4 | namespace FaceSync 5 | { 6 | public class FaceSyncApplier : MonoBehaviour 7 | { 8 | public float RecoverSmoothness; 9 | 10 | private SkinnedMeshRenderer mMesh; 11 | private Dictionary mApplyData = new Dictionary(); 12 | private HashSet mModifiedIds = new HashSet(); 13 | 14 | // -------------------------------------------------------------------- 15 | 16 | private void Update() 17 | { 18 | Apply(); 19 | } 20 | 21 | // -------------------------------------------------------------------- 22 | 23 | public void ApplyBlendData(FaceSyncData data, float time) 24 | { 25 | for (int i = 0; i < data.Keyframes.Count; ++i) 26 | { 27 | FaceSyncKeyframe keyframe = data.Keyframes[i]; 28 | float keyframeDuration = keyframe.BlendSet.Duration; 29 | if (time > keyframe.Time && time < (keyframe.Time + keyframeDuration)) 30 | { 31 | float keyframeProgress = (time - keyframe.Time) / keyframeDuration; 32 | ApplyBlendSet(keyframe.BlendSet, keyframeProgress); 33 | } 34 | } 35 | } 36 | 37 | // -------------------------------------------------------------------- 38 | 39 | private void Apply() 40 | { 41 | foreach (var data in mApplyData) 42 | { 43 | ApplyBlendShape(data.Key, data.Value); 44 | } 45 | 46 | ApplyBlendShapeDrag(); 47 | } 48 | 49 | // -------------------------------------------------------------------- 50 | 51 | private void ApplyBlendShapeDrag() 52 | { 53 | foreach (var id in mModifiedIds) 54 | { 55 | mApplyData[id] = Mathf.Lerp(mApplyData[id], 0, RecoverSmoothness * Time.deltaTime); 56 | } 57 | } 58 | 59 | // -------------------------------------------------------------------- 60 | 61 | public void ApplyBlendSet(FaceSyncBlendSet set, float t) 62 | { 63 | for (int i = 0; i < set.BlendShapes.Count; ++i) 64 | { 65 | if (!mApplyData.ContainsKey(set.BlendShapes[i].BlendShape)) 66 | mApplyData.Add(set.BlendShapes[i].BlendShape, 0f); 67 | 68 | mApplyData[set.BlendShapes[i].BlendShape] = Mathf.Lerp(mApplyData[set.BlendShapes[i].BlendShape], set.BlendShapes[i].Value, set.BlendShapes[i].BlendStrength * Time.deltaTime); 69 | } 70 | } 71 | 72 | // -------------------------------------------------------------------- 73 | 74 | public void ApplyBlendShape(FaceSyncBlendShapeID id, float value) 75 | { 76 | if (!mMesh) 77 | mMesh = GetComponent(); 78 | 79 | int index = mMesh.sharedMesh.GetBlendShapeIndex(id.Identifier); 80 | mMesh.SetBlendShapeWeight(index, value); 81 | 82 | mModifiedIds.Add(id); 83 | } 84 | } 85 | } -------------------------------------------------------------------------------- /FaceSync/FaceSyncApplier.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f8306341a22d6ea46b7edf1dc4a4141f 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /FaceSync/FaceSyncBlendSet.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | 5 | namespace FaceSync 6 | { 7 | [CreateAssetMenu(fileName = "BlendSet", menuName = "FaceSync/BlendSet")] 8 | public class FaceSyncBlendSet : ScriptableObject 9 | { 10 | [Serializable] 11 | public class BlendSetEntry 12 | { 13 | public FaceSyncBlendShapeID BlendShape; 14 | public float Value; 15 | public float BlendStrength = 10f; 16 | } 17 | 18 | public string Label; 19 | public Color Color = Color.grey; 20 | public List BlendShapes = new List(); 21 | public float Duration = 0.1f; 22 | } 23 | } -------------------------------------------------------------------------------- /FaceSync/FaceSyncBlendSet.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0b5a97c85586d324e8aa80c29c84f101 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /FaceSync/FaceSyncBlendSetPreview.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace FaceSync 4 | { 5 | [ExecuteInEditMode] 6 | [RequireComponent(typeof(FaceSyncApplier))] 7 | public class FaceSyncBlendSetPreview : MonoBehaviour 8 | { 9 | public FaceSyncBlendSet BlendSet; 10 | [Range(0f,1f)] 11 | public float Progress; 12 | 13 | private FaceSyncApplier mApplier; 14 | 15 | // -------------------------------------------------------------------- 16 | 17 | private void Update() 18 | { 19 | if (!mApplier) 20 | mApplier = GetComponent(); 21 | 22 | if (BlendSet) 23 | { 24 | for (int i = 0; i < BlendSet.BlendShapes.Count; ++i) 25 | { 26 | FaceSyncBlendSet.BlendSetEntry entry = BlendSet.BlendShapes[i]; 27 | if (entry != null) 28 | mApplier.ApplyBlendShape(entry.BlendShape, entry.Value); 29 | } 30 | } 31 | } 32 | 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /FaceSync/FaceSyncBlendSetPreview.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c4b1c6b38b79c944988cb11119648358 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /FaceSync/FaceSyncBlendShapeID.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using UnityEditor; 3 | 4 | namespace FaceSync 5 | { 6 | [CreateAssetMenu(fileName ="BlendShapeID", menuName = "FaceSync/BlendShape ID")] 7 | public class FaceSyncBlendShapeID : ScriptableObject 8 | { 9 | public string Label; 10 | public string Identifier; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /FaceSync/FaceSyncBlendShapeID.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f2c8e900072be4d41ba2f69681fc0fbf 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /FaceSync/FaceSyncController.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using System.Collections.Generic; 3 | 4 | namespace FaceSync 5 | { 6 | 7 | [ExecuteInEditMode] 8 | [RequireComponent(typeof(FaceSyncApplier))] 9 | [RequireComponent(typeof(AudioSource))] 10 | public class FaceSyncController : MonoBehaviour 11 | { 12 | private static readonly int sDefaultDataSize = 5; 13 | 14 | private struct DataEntry 15 | { 16 | public float Time; 17 | public FaceSyncData Data; 18 | public float Duration; 19 | 20 | public bool HasFinished { get { return Time > Duration; } } 21 | } 22 | 23 | private AudioSource mSource; 24 | private FaceSyncApplier mApplier; 25 | private List mDataToApply = new List(sDefaultDataSize); 26 | private Stack mDataPool = new Stack(sDefaultDataSize); 27 | 28 | // -------------------------------------------------------------------- 29 | 30 | private void Awake() 31 | { 32 | CacheComponents(); 33 | 34 | for (int i = 0; i < sDefaultDataSize; ++i) 35 | { 36 | mDataPool.Push(new DataEntry()); 37 | } 38 | } 39 | 40 | // -------------------------------------------------------------------- 41 | 42 | private void CacheComponents() 43 | { 44 | if (!mSource) mSource = GetComponent(); 45 | if (!mApplier) mApplier = GetComponent(); 46 | } 47 | 48 | // -------------------------------------------------------------------- 49 | 50 | public void PlayData(FaceSyncData data) 51 | { 52 | CacheComponents(); 53 | 54 | DataEntry entry = GetEntry(data); 55 | mDataToApply.Add(entry); 56 | 57 | if (data.Sound) 58 | mSource.PlayOneShot(data.Sound); 59 | } 60 | 61 | // -------------------------------------------------------------------- 62 | 63 | private void Update() 64 | { 65 | CacheComponents(); 66 | 67 | for (int i = 0; i < mDataToApply.Count; ++i) 68 | { 69 | DataEntry entry = mDataToApply[i]; 70 | entry.Time += Time.deltaTime; 71 | mApplier.ApplyBlendData(entry.Data, entry.Time); 72 | 73 | if (entry.HasFinished) 74 | { 75 | RemoveEntry(i); 76 | --i; 77 | } 78 | else 79 | { 80 | mDataToApply[i] = entry; 81 | } 82 | } 83 | 84 | } 85 | 86 | // -------------------------------------------------------------------- 87 | 88 | private DataEntry GetEntry(FaceSyncData data) 89 | { 90 | DataEntry entry = mDataPool.Count > 0 ? mDataPool.Pop() : new DataEntry(); 91 | entry.Time = 0f; 92 | entry.Data = data; 93 | entry.Duration = data.GetDuration(); 94 | return entry; 95 | } 96 | 97 | // -------------------------------------------------------------------- 98 | 99 | private void RemoveEntry(int index) 100 | { 101 | DataEntry entry = mDataToApply[index]; 102 | mDataPool.Push(entry); 103 | mDataToApply.RemoveAt(index); 104 | } 105 | } 106 | 107 | } -------------------------------------------------------------------------------- /FaceSync/FaceSyncController.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 14fbfae873ccf974b9dd1d256d11a305 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /FaceSync/FaceSyncData.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using UnityEngine; 3 | 4 | namespace FaceSync 5 | { 6 | [CreateAssetMenu(fileName = "FaceSyncData", menuName = "FaceSync/Sync Data")] 7 | public class FaceSyncData : ScriptableObject 8 | { 9 | public AudioClip Sound; 10 | public string ReferenceText; 11 | public List Keyframes = new List(); 12 | 13 | // -------------------------------------------------------------------- 14 | 15 | public float GetDuration() 16 | { 17 | float duration = Sound ? Sound.length : 0f; 18 | for (int i = 0; i < Keyframes.Count; ++i) 19 | { 20 | FaceSyncKeyframe keyframe = Keyframes[i]; 21 | if (keyframe.BlendSet) 22 | duration = Mathf.Max(keyframe.Time + keyframe.BlendSet.Duration, duration); 23 | } 24 | return duration; 25 | } 26 | } 27 | } -------------------------------------------------------------------------------- /FaceSync/FaceSyncData.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 64e7ce8275c83384ebcf7c8ca0077530 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /FaceSync/FaceSyncDataPreview.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace FaceSync 4 | { 5 | [ExecuteInEditMode] 6 | [RequireComponent(typeof(FaceSyncApplier))] 7 | public class FaceSyncDataPreview : MonoBehaviour 8 | { 9 | public FaceSyncData Data; 10 | 11 | [Range(0f, 1f)] 12 | public float Progress; 13 | 14 | private FaceSyncController mController; 15 | 16 | // -------------------------------------------------------------------- 17 | 18 | public void Play() 19 | { 20 | if (!mController) 21 | mController = GetComponent(); 22 | 23 | mController.PlayData(Data); 24 | } 25 | } 26 | } -------------------------------------------------------------------------------- /FaceSync/FaceSyncDataPreview.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6a2e39cc5a3fd6a469d10579738b7b94 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /FaceSync/FaceSyncDetectionRules.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | 5 | namespace FaceSync 6 | { 7 | [CreateAssetMenu(fileName = "Settings", menuName = "FaceSync/Detection Rules")] 8 | public class FaceSyncDetectionRules : ScriptableObject 9 | { 10 | [Serializable] 11 | public class RuleEntry 12 | { 13 | public string Identifier; 14 | public FaceSyncBlendSet Set; 15 | } 16 | 17 | public List Rules; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /FaceSync/FaceSyncDetectionRules.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fa52b983a850da44f829a424fe21924e 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /FaceSync/FaceSyncKeyframe.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace FaceSync 4 | { 5 | [Serializable] 6 | public class FaceSyncKeyframe 7 | { 8 | public float Time; 9 | public FaceSyncBlendSet BlendSet; 10 | 11 | // -------------------------------------------------------------------- 12 | 13 | public FaceSyncKeyframe(float time) 14 | { 15 | Time = time; 16 | } 17 | 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /FaceSync/FaceSyncKeyframe.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d8fb597375988f64fa441ad2e8e92e94 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /FaceSync/FaceSyncRandomPlayer.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using UnityEngine; 3 | 4 | namespace FaceSync 5 | { 6 | 7 | [RequireComponent(typeof(FaceSyncApplier))] 8 | public class FaceSyncRandomPlayer : MonoBehaviour 9 | { 10 | [System.Serializable] 11 | public class RandomPlayerEntry 12 | { 13 | public FaceSyncBlendSet BlendSet; 14 | public float MinTime; 15 | public float MaxTime; 16 | 17 | private float mNextPlay; 18 | 19 | // -------------------------------------------------------------------- 20 | 21 | public void PrepareNextPlay() 22 | { 23 | mNextPlay = Time.realtimeSinceStartup + Random.Range(MinTime, MaxTime); 24 | } 25 | 26 | // -------------------------------------------------------------------- 27 | 28 | public void Update(FaceSyncApplier applier) 29 | { 30 | float t = (Time.realtimeSinceStartup - mNextPlay) / BlendSet.Duration; 31 | if (t > 0f) 32 | { 33 | if (t > 1f) 34 | PrepareNextPlay(); 35 | else 36 | applier.ApplyBlendSet(BlendSet, t); 37 | } 38 | } 39 | } 40 | 41 | public List Entries; 42 | 43 | private FaceSyncApplier mApplier; 44 | 45 | // -------------------------------------------------------------------- 46 | 47 | private void Awake() 48 | { 49 | mApplier = GetComponent(); 50 | for (int i = 0; i < Entries.Count; ++i) 51 | Entries[i].PrepareNextPlay(); 52 | } 53 | 54 | // -------------------------------------------------------------------- 55 | 56 | private void Update() 57 | { 58 | for (int i = 0; i < Entries.Count; ++i) 59 | Entries[i].Update(mApplier); 60 | } 61 | } 62 | } -------------------------------------------------------------------------------- /FaceSync/FaceSyncRandomPlayer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4d9e100dc63ae4847b052eba0d222d1c 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /FaceSync/FaceSyncSettings.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | using System.Collections.Generic; 3 | 4 | #if UNITY_EDITOR 5 | 6 | using UnityEditor; 7 | 8 | #endif // UNITY_EDITOR 9 | 10 | using System; 11 | 12 | namespace FaceSync 13 | { 14 | [Serializable] 15 | [CreateAssetMenu(fileName = "Settings", menuName = "FaceSync/Settings")] 16 | public class FaceSyncSettings : ScriptableObject 17 | { 18 | #if UNITY_EDITOR 19 | public FaceSyncDetectionRules[] DetectionRules; 20 | 21 | private static FaceSyncSettings mSettings; 22 | 23 | public static FaceSyncSettings GetSettings() 24 | { 25 | if (mSettings) 26 | { 27 | return mSettings; 28 | } 29 | 30 | string path = "Assets/FaceSync/FaceSync/Data/Settings.asset"; 31 | 32 | mSettings = AssetDatabase.LoadAssetAtPath(path, typeof(FaceSyncSettings)) as FaceSyncSettings; 33 | 34 | if (mSettings == null) 35 | { 36 | mSettings = CreateInstance(); 37 | FaceSyncUtils.CreateAssetWithPath(mSettings, path); 38 | } 39 | 40 | return mSettings; 41 | } 42 | 43 | #endif // UNITY_EDITOR 44 | 45 | public Dictionary GetHashedRules() 46 | { 47 | Dictionary ruleDict = new Dictionary(); 48 | foreach (FaceSyncDetectionRules rules in DetectionRules) 49 | { 50 | foreach (FaceSyncDetectionRules.RuleEntry entry in rules.Rules) 51 | { 52 | ruleDict.Add(entry.Identifier, entry.Set); 53 | } 54 | } 55 | return ruleDict; 56 | } 57 | } 58 | } -------------------------------------------------------------------------------- /FaceSync/FaceSyncSettings.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ee43d98db3ff86e4e909ba45cce137da 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /FaceSync/FaceSyncUtils.cs: -------------------------------------------------------------------------------- 1 | #if UNITY_EDITOR 2 | 3 | using UnityEditor; 4 | using UnityEngine; 5 | 6 | namespace FaceSync 7 | { 8 | public class FaceSyncUtils 9 | { 10 | // Create all intermediate directories for an asset name 11 | public static void CreatePath(string path) 12 | { 13 | string[] components = path.Split('/'); 14 | string test = components[0]; 15 | for (int i = 1; i < components.Length - 1; i++) 16 | { 17 | if (components[i].Length > 0) 18 | { 19 | string newPath = test + "/" + components[i]; 20 | if (!AssetDatabase.IsValidFolder(newPath)) 21 | { 22 | AssetDatabase.CreateFolder(test, components[i]); 23 | } 24 | test = newPath; 25 | } 26 | } 27 | } 28 | 29 | // Create intermediate folders in the asset path if they are missing 30 | public static void CreateAssetWithPath(Object asset, string path) 31 | { 32 | CreatePath(path); 33 | AssetDatabase.CreateAsset(asset, path); 34 | } 35 | } 36 | } 37 | 38 | #endif -------------------------------------------------------------------------------- /FaceSync/FaceSyncUtils.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cacbf338e56acf440a6a8df798540a9c 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 Josue Candela Perdomo 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Unity FaceSync 2 | Simple face blendshape control system for Unity. 3 | 4 | ![](https://github.com/joscanper/untiy_facesync/blob/master/FaceSync/Demo/facesync.gif) 5 | 6 | ## 1. Installation 7 | 8 | Simply checkout the project or unzip on your Unity project folder. Make sure the settings path is located somewhere like: 9 | 10 | `YourUnityProject/Assets/FaceSync/FaceSync/Settings` 11 | 12 | ## 2. Setting up BlendShapeIDs 13 | 14 | Before starting you will need a mesh exported with blendshapes. Blendshapes will appear on the SkinnedMeshRenderer component. 15 | 16 | For each blendshape you are planning to use from your mesh you will need a BlendShapeID. 17 | 18 | To create a new FaceSyncBlendShapeID asset right click on your Project view : Create/FaceSync/BlendShapeID 19 | 20 | Fill the `Identifier` field with the name of the mesh blendshape this asset refers to (It has to be one of the BlendShapes that appear in the SkinnnedMeshRenderer list). 21 | 22 | ## 3. Setting up BlendSets 23 | 24 | We can use BlendSets in our FaceSyncData (more about this below) in order to show expresions, lipsync, blinking and whatever we want to do with our mesh blendshapes. 25 | 26 | For example, if we want to configure our character for lip syncing we will need an alphable of BlendSets. 27 | 28 | The following mouth alphabet would require 6 BlendSets. 29 | 30 | ![](http://image.wikifoundry.com/image/2/eX6-NiE4BkBk2Ter_j78MQ62335/GW400H349) 31 | 32 | To create a new FaceSyncBlendSet asset right click on your Project view : Create/FaceSync/BlendSet 33 | 34 | Once created, add the BlendShapeIDs you want to use and adjust their values. 35 | 36 | A BlendSet will need one or more BlendShapeIDs with their respective values in order to be shown on your character. 37 | 38 | In order to preview the BlendSet on your character, attach the component FaceSyncBlendSetPreview to the object with the SkinnedMeshRenderer and assign the data file. 39 | 40 | Keep adding BlendSets and BlendShapeIDs until you have a complete mouth alphabet (Check the ones used in the demo). 41 | 42 | You can use BlendSets for other things like expressions, blinking, looking around, etc. 43 | 44 | ## 4. Setting Up detection rules 45 | 46 | Detection rules are used as a substitute to speech recognition (it might be added in a future) and will speed up your workflow since you won't need to assign all BlendSets manually for a dialog line. For example you can write "Hello, how are you?" and autodetection will search for suitable BlendSets to use for that line. 47 | 48 | To create a new FaceSyncDetectionRules asset right click on your Project view : Create/FaceSync/Detection Rules 49 | 50 | Now you can add multiple rules to it like : "a" for your blendset that plays that vowel or "th" for the corresponding blendset. 51 | 52 | Place the rules that have longer identifiers first so they are detected correctly. 53 | 54 | You can assing the same BlendSet to different identifiers, for example, in the alphabet show above "a" and "i" would use the same BlendSet. 55 | 56 | Finally, add your rules to FaceSync Settings asset, located at `FaceSync/Data/Settings`. 57 | 58 | ## 5. Creating a character dialog 59 | 60 | With BlendShapeIDs, BlendSets and detection rules configured you can now create a FaceSyncData asset which will contain your character dialog. 61 | 62 | To create a new FaceSyncData asset right click on your Project view : Create/FaceSync/Sync Data 63 | 64 | First, assign the audio clip that will be used, second, write the dialog that will be used to detect phonemes. 65 | 66 | If you have setup the detection rules properly, click "Detect Keyframes" ant the timeline will get filled with blendsets. 67 | 68 | ![](https://github.com/joscanper/untiy_facesync/blob/master/FaceSync/Demo/example.png) 69 | 70 | In order to preview the sync data on your character, attach the component FaceSyncDataPreview to the object with the SkinnedMeshRenderer, assign the data file, run your game and click the "Play" on the component. 71 | 72 | ## Blinking & eyes movement 73 | 74 | In order to add blinking to your character, create a BlendSet with the character eyes closed (Again, check the demo). 75 | 76 | You can attach the component FaceSyncRandomPlayer to your SkinnedMeshRenderer and add the blink BlendSet to the `Entries` list. 77 | 78 | Similarly, if your character eyes are controlled with BlendShapes you can create 4 BlendSets for looking up, down, left and right and add them to the FaceSyncRandomPlayer component. 79 | -------------------------------------------------------------------------------- /README.md.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c5645f70799a0b74fa3236520d5157cb 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | --------------------------------------------------------------------------------