chore: Assets 디렉토리 구조 정리 및 네이밍 컨벤션 적용

- Assets/_Game/ 하위로 게임 에셋 통합
- External/ 패키지 벤더별 분류 (Synty, Animations, UI)
- 에셋 네이밍 컨벤션 확립 및 적용
  (Data_Skill_, Data_SkillEffect_, Prefab_, Anim_, Model_, BT_ 등)
- pre-commit hook으로 네이밍 컨벤션 자동 검사 추가
- RESTRUCTURE_CHECKLIST.md 작성

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-16 19:08:27 +09:00
parent 309bf5f48b
commit c265f980db
17251 changed files with 2630777 additions and 206 deletions

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 9efa8b6f36869494ab6e2a08cab60789
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,940 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1102 &-9209728084084858212
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: A_FacePose_Sad
m_Speed: 1
m_CycleOffset: 0
m_Transitions: []
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
m_WriteDefaultValues: 1
m_Mirror: 0
m_SpeedParameterActive: 0
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 7400000, guid: b62066f2599704744b990641d52eee74, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1102 &-8988145862111061827
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: A_FacePose_Distraught
m_Speed: 1
m_CycleOffset: 0
m_Transitions: []
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
m_WriteDefaultValues: 1
m_Mirror: 0
m_SpeedParameterActive: 0
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 7400000, guid: a4c53d1ed78f40e4b8c1af0095cbe9ea, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1102 &-8018931523577400457
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: A_FacePose_Worried
m_Speed: 1
m_CycleOffset: 0
m_Transitions: []
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
m_WriteDefaultValues: 1
m_Mirror: 0
m_SpeedParameterActive: 0
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 7400000, guid: 3302c16b03a793d4fa24cc6656bb074a, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1102 &-8006253598973396214
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: A_Sadness
m_Speed: 1
m_CycleOffset: 0
m_Transitions:
- {fileID: 5520471293982032605}
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
m_WriteDefaultValues: 1
m_Mirror: 0
m_SpeedParameterActive: 0
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 7400000, guid: a07c696c5665012418129bbfc9196d1c, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1102 &-7439694198533628703
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: A_Body_IdleSubtle
m_Speed: 1
m_CycleOffset: 0
m_Transitions: []
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
m_WriteDefaultValues: 1
m_Mirror: 0
m_SpeedParameterActive: 0
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: -5546555014965455605, guid: 6c39249bf65af8a4c8af2f6432af9bec,
type: 3}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1102 &-5744285087790114639
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: A_FacePose_Delighted
m_Speed: 1
m_CycleOffset: 0
m_Transitions: []
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
m_WriteDefaultValues: 1
m_Mirror: 0
m_SpeedParameterActive: 0
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 7400000, guid: 00d9ae253f0d67543bb0e3fb0a14001b, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1102 &-2345690973938124547
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: A_FacePose_Angry
m_Speed: 1
m_CycleOffset: 0
m_Transitions: []
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
m_WriteDefaultValues: 1
m_Mirror: 0
m_SpeedParameterActive: 0
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 7400000, guid: 2583bee6c3c55ac42b6b93bebbf5acba, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1102 &-687671324365286305
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: A_FacePose_Surprised
m_Speed: 1
m_CycleOffset: 0
m_Transitions: []
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
m_WriteDefaultValues: 1
m_Mirror: 0
m_SpeedParameterActive: 0
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 7400000, guid: 93b2a39fcec878e4a95028818758baf6, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!91 &9100000
AnimatorController:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: AC_FacialAnim
serializedVersion: 5
m_AnimatorParameters:
- m_Name: Expression_X_f
m_Type: 1
m_DefaultFloat: 0
m_DefaultInt: 0
m_DefaultBool: 0
m_Controller: {fileID: 0}
- m_Name: Expression_Y_f
m_Type: 1
m_DefaultFloat: 0
m_DefaultInt: 0
m_DefaultBool: 0
m_Controller: {fileID: 0}
m_AnimatorLayers:
- serializedVersion: 5
m_Name: Base Layer
m_StateMachine: {fileID: 4059634150091160937}
m_Mask: {fileID: 0}
m_Motions: []
m_Behaviours: []
m_BlendingMode: 0
m_SyncedLayerIndex: -1
m_DefaultWeight: 0
m_IKPass: 0
m_SyncedLayerAffectsTiming: 0
m_Controller: {fileID: 9100000}
- serializedVersion: 5
m_Name: FaceAnim_NeutralCycle
m_StateMachine: {fileID: 6021900577584942315}
m_Mask: {fileID: 0}
m_Motions: []
m_Behaviours: []
m_BlendingMode: 0
m_SyncedLayerIndex: -1
m_DefaultWeight: 1
m_IKPass: 0
m_SyncedLayerAffectsTiming: 0
m_Controller: {fileID: 9100000}
- serializedVersion: 5
m_Name: Emotion_Additive
m_StateMachine: {fileID: 3631586463400097538}
m_Mask: {fileID: 0}
m_Motions: []
m_Behaviours: []
m_BlendingMode: 1
m_SyncedLayerIndex: -1
m_DefaultWeight: 1
m_IKPass: 0
m_SyncedLayerAffectsTiming: 0
m_Controller: {fileID: 9100000}
--- !u!1102 &907181682379384099
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: A_FacePose_Content
m_Speed: 1
m_CycleOffset: 0
m_Transitions: []
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
m_WriteDefaultValues: 1
m_Mirror: 0
m_SpeedParameterActive: 0
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 7400000, guid: be2c65365b6c8aa4da1e04b8d7124b86, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1102 &946033437388985927
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: A_FacePose_InPain
m_Speed: 1
m_CycleOffset: 0
m_Transitions: []
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
m_WriteDefaultValues: 1
m_Mirror: 0
m_SpeedParameterActive: 0
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 7400000, guid: 6871517c1648aee4c9575e447d578159, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1102 &1573798550000477696
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: A_FacePose_Smug
m_Speed: 1
m_CycleOffset: 0
m_Transitions: []
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
m_WriteDefaultValues: 1
m_Mirror: 0
m_SpeedParameterActive: 0
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 7400000, guid: d21e42aa1fe274440841149421345dcb, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1102 &2083872334060259177
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: A_Face_Neutral
m_Speed: 1
m_CycleOffset: 0
m_Transitions:
- {fileID: 7310747178369413894}
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
m_WriteDefaultValues: 1
m_Mirror: 0
m_SpeedParameterActive: 0
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 7400000, guid: cafe6cacbc50e954caa556ff3b1e6f68, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!206 &3110690800114280544
BlendTree:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Blend Tree
m_Childs:
- serializedVersion: 2
m_Motion: {fileID: 7400000, guid: be2c65365b6c8aa4da1e04b8d7124b86, type: 2}
m_Threshold: 0
m_Position: {x: 0, y: 0}
m_TimeScale: 1
m_CycleOffset: 0
m_DirectBlendParameter: Expression_X_f
m_Mirror: 0
- serializedVersion: 2
m_Motion: {fileID: 7400000, guid: c6432be0bb1a88d4e937c275e4543aee, type: 2}
m_Threshold: 1
m_Position: {x: 0, y: 0}
m_TimeScale: 1
m_CycleOffset: 0
m_DirectBlendParameter: Expression_X_f
m_Mirror: 0
m_BlendParameter: Expression_X_f
m_BlendParameterY: Expression_X_f
m_MinThreshold: 0
m_MaxThreshold: 1
m_UseAutomaticThresholds: 1
m_NormalizedBlendValues: 0
m_BlendType: 0
--- !u!1102 &3387599849105120041
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: A_FacePose_Enraged
m_Speed: 1
m_CycleOffset: 0
m_Transitions: []
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
m_WriteDefaultValues: 1
m_Mirror: 0
m_SpeedParameterActive: 0
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 7400000, guid: 545455a4eea2f644d97ec7941fbc6771, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1107 &3631586463400097538
AnimatorStateMachine:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Emotion_Additive
m_ChildStates:
- serializedVersion: 1
m_State: {fileID: -2345690973938124547}
m_Position: {x: 270, y: 40, z: 0}
- serializedVersion: 1
m_State: {fileID: 907181682379384099}
m_Position: {x: 330, y: -180, z: 0}
- serializedVersion: 1
m_State: {fileID: -5744285087790114639}
m_Position: {x: 330, y: -320, z: 0}
- serializedVersion: 1
m_State: {fileID: 7430775969804359532}
m_Position: {x: 60, y: 40, z: 0}
- serializedVersion: 1
m_State: {fileID: -8988145862111061827}
m_Position: {x: 480, y: 40, z: 0}
- serializedVersion: 1
m_State: {fileID: 3387599849105120041}
m_Position: {x: 280, y: 90, z: 0}
- serializedVersion: 1
m_State: {fileID: 7157950698933312893}
m_Position: {x: 50, y: 100, z: 0}
- serializedVersion: 1
m_State: {fileID: 7545102645933989500}
m_Position: {x: 330, y: -260, z: 0}
- serializedVersion: 1
m_State: {fileID: 946033437388985927}
m_Position: {x: 700, y: -110, z: 0}
- serializedVersion: 1
m_State: {fileID: 3670671709187442538}
m_Position: {x: -350, y: -70, z: 0}
- serializedVersion: 1
m_State: {fileID: -9209728084084858212}
m_Position: {x: 80, y: 140, z: 0}
- serializedVersion: 1
m_State: {fileID: 8835116597540695900}
m_Position: {x: 700, y: -160, z: 0}
- serializedVersion: 1
m_State: {fileID: 1573798550000477696}
m_Position: {x: 730, y: 200, z: 0}
- serializedVersion: 1
m_State: {fileID: -687671324365286305}
m_Position: {x: 700, y: -60, z: 0}
- serializedVersion: 1
m_State: {fileID: 8783873699537322378}
m_Position: {x: 730, y: 260, z: 0}
- serializedVersion: 1
m_State: {fileID: 4884260746862985850}
m_Position: {x: 500, y: 100, z: 0}
- serializedVersion: 1
m_State: {fileID: -8018931523577400457}
m_Position: {x: 290, y: 140, z: 0}
- serializedVersion: 1
m_State: {fileID: 4894229624735455492}
m_Position: {x: 280, y: 220, z: 0}
- serializedVersion: 1
m_State: {fileID: 8726220334121965860}
m_Position: {x: 470, y: -460, z: 0}
m_ChildStateMachines: []
m_AnyStateTransitions: []
m_EntryTransitions: []
m_StateMachineTransitions: {}
m_StateMachineBehaviours: []
m_AnyStatePosition: {x: -530, y: -100, z: 0}
m_EntryPosition: {x: -530, y: -60, z: 0}
m_ExitPosition: {x: -530, y: -140, z: 0}
m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
m_DefaultState: {fileID: 4894229624735455492}
--- !u!1102 &3670671709187442538
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: 00_Neutral
m_Speed: 1
m_CycleOffset: 0
m_Transitions: []
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
m_WriteDefaultValues: 1
m_Mirror: 0
m_SpeedParameterActive: 0
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 7400000, guid: 2e65b8997e39fa74fbe8324a33252624, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1107 &4059634150091160937
AnimatorStateMachine:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Base Layer
m_ChildStates:
- serializedVersion: 1
m_State: {fileID: -7439694198533628703}
m_Position: {x: 30, y: 180, z: 0}
m_ChildStateMachines: []
m_AnyStateTransitions: []
m_EntryTransitions: []
m_StateMachineTransitions: {}
m_StateMachineBehaviours: []
m_AnyStatePosition: {x: 50, y: 20, z: 0}
m_EntryPosition: {x: 50, y: 120, z: 0}
m_ExitPosition: {x: 800, y: 120, z: 0}
m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
m_DefaultState: {fileID: -7439694198533628703}
--- !u!1102 &4884260746862985850
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: A_FacePose_Terrified
m_Speed: 1
m_CycleOffset: 0
m_Transitions: []
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
m_WriteDefaultValues: 1
m_Mirror: 0
m_SpeedParameterActive: 0
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 7400000, guid: 230f62cb2f676b4418063d6a1cd1b717, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1102 &4894229624735455492
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Blend Tree
m_Speed: 1
m_CycleOffset: 0
m_Transitions: []
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
m_WriteDefaultValues: 1
m_Mirror: 0
m_SpeedParameterActive: 0
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 8137966670674060837}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1102 &5182402964116030998
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: A_Face_Anger
m_Speed: 1
m_CycleOffset: 0
m_Transitions:
- {fileID: 5831607659619703988}
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
m_WriteDefaultValues: 1
m_Mirror: 0
m_SpeedParameterActive: 0
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 7400000, guid: c8e30554c4d1afe4cbe7d1d51b0ddf20, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1101 &5520471293982032605
AnimatorStateTransition:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name:
m_Conditions: []
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: -8006253598973396214}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0.25
m_TransitionOffset: 0
m_ExitTime: 0.9749164
m_HasExitTime: 1
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1101 &5831607659619703988
AnimatorStateTransition:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name:
m_Conditions: []
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: 5182402964116030998}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0.25
m_TransitionOffset: 0
m_ExitTime: 0.975
m_HasExitTime: 1
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1107 &6021900577584942315
AnimatorStateMachine:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: FaceAnim_NeutralCycle
m_ChildStates:
- serializedVersion: 1
m_State: {fileID: 2083872334060259177}
m_Position: {x: 120, y: 290, z: 0}
- serializedVersion: 1
m_State: {fileID: 5182402964116030998}
m_Position: {x: -90, y: 290, z: 0}
- serializedVersion: 1
m_State: {fileID: -8006253598973396214}
m_Position: {x: 330, y: 290, z: 0}
m_ChildStateMachines: []
m_AnyStateTransitions: []
m_EntryTransitions: []
m_StateMachineTransitions: {}
m_StateMachineBehaviours: []
m_AnyStatePosition: {x: -230, y: 230, z: 0}
m_EntryPosition: {x: 140, y: 240, z: 0}
m_ExitPosition: {x: 800, y: 120, z: 0}
m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
m_DefaultState: {fileID: 2083872334060259177}
--- !u!1102 &7157950698933312893
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: A_FacePose_Grumpy
m_Speed: 1
m_CycleOffset: 0
m_Transitions: []
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
m_WriteDefaultValues: 1
m_Mirror: 0
m_SpeedParameterActive: 0
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 7400000, guid: f8c065ec3ee213d4fb5ff0bf14d91cf3, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1101 &7310747178369413894
AnimatorStateTransition:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name:
m_Conditions: []
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: 2083872334060259177}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0.25
m_TransitionOffset: 0
m_ExitTime: 0.9749164
m_HasExitTime: 1
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1102 &7430775969804359532
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: A_FacePose_Disgusted
m_Speed: 1
m_CycleOffset: 0
m_Transitions: []
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
m_WriteDefaultValues: 1
m_Mirror: 0
m_SpeedParameterActive: 0
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 7400000, guid: 7796d1d3c75b1b34a8cf08924fec2d4a, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1102 &7545102645933989500
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: A_FacePose_Happy
m_Speed: 1
m_CycleOffset: 0
m_Transitions: []
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
m_WriteDefaultValues: 1
m_Mirror: 0
m_SpeedParameterActive: 0
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 7400000, guid: c6432be0bb1a88d4e937c275e4543aee, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!206 &8137966670674060837
BlendTree:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Blend Tree
m_Childs:
- serializedVersion: 2
m_Motion: {fileID: 7400000, guid: 2583bee6c3c55ac42b6b93bebbf5acba, type: 2}
m_Threshold: 0
m_Position: {x: -1, y: 0}
m_TimeScale: 1
m_CycleOffset: 0
m_DirectBlendParameter: Expression_X_f
m_Mirror: 0
- serializedVersion: 2
m_Motion: {fileID: 7400000, guid: b62066f2599704744b990641d52eee74, type: 2}
m_Threshold: 0.25
m_Position: {x: 0, y: -1}
m_TimeScale: 1
m_CycleOffset: 0
m_DirectBlendParameter: Expression_X_f
m_Mirror: 0
- serializedVersion: 2
m_Motion: {fileID: 7400000, guid: c6432be0bb1a88d4e937c275e4543aee, type: 2}
m_Threshold: 0.5
m_Position: {x: 0, y: 1}
m_TimeScale: 1
m_CycleOffset: 0
m_DirectBlendParameter: Expression_X_f
m_Mirror: 0
- serializedVersion: 2
m_Motion: {fileID: 7400000, guid: 00d9ae253f0d67543bb0e3fb0a14001b, type: 2}
m_Threshold: 0.75
m_Position: {x: 1, y: 0}
m_TimeScale: 1
m_CycleOffset: 0
m_DirectBlendParameter: Expression_X_f
m_Mirror: 0
- serializedVersion: 2
m_Motion: {fileID: 7400000, guid: 4fa09d2eb0a1a0645b2c2df6f6688fbf, type: 2}
m_Threshold: 1
m_Position: {x: 0, y: 0}
m_TimeScale: 1
m_CycleOffset: 0
m_DirectBlendParameter: Expression_X_f
m_Mirror: 0
m_BlendParameter: Expression_X_f
m_BlendParameterY: Expression_Y_f
m_MinThreshold: 0
m_MaxThreshold: 1
m_UseAutomaticThresholds: 1
m_NormalizedBlendValues: 0
m_BlendType: 1
--- !u!1102 &8726220334121965860
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Blend Tree 0
m_Speed: 1
m_CycleOffset: 0
m_Transitions: []
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
m_WriteDefaultValues: 1
m_Mirror: 0
m_SpeedParameterActive: 0
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 3110690800114280544}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1102 &8783873699537322378
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: A_FacePose_Suspicious
m_Speed: 1
m_CycleOffset: 0
m_Transitions: []
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
m_WriteDefaultValues: 1
m_Mirror: 0
m_SpeedParameterActive: 0
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 7400000, guid: 33d201a6384485f4cba55999422c78a7, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1102 &8835116597540695900
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: A_FacePose_Scared
m_Speed: 1
m_CycleOffset: 0
m_Transitions: []
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
m_WriteDefaultValues: 1
m_Mirror: 0
m_SpeedParameterActive: 0
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 7400000, guid: 54ee61c6500f4314ba5cb08550523c49, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: b178d123d3fea4a4faaa295e7df2f656
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 9100000
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: ee29ef5213e8e9d458cf7ffcbe528753
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 635379dd8c0b06749a9c197c219f0124
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,196 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &-7092836736347393120
MonoBehaviour:
m_ObjectHideFlags: 11
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 639247ca83abc874e893eb93af2b5e44, type: 3}
m_Name:
m_EditorClassIdentifier:
version: 0
--- !u!21 &2100000
Material:
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: M_SampleFace
m_Shader: {fileID: -6465566751694194690, guid: db628544640279b41a4a7aa5d75c0322, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords: []
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses:
- MOTIONVECTORS
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BloodMaskTexture:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ColorMap:
m_Texture: {fileID: 2800000, guid: a74e1ebcc376fac4290b2b150b96fce9, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _CutsMaskTexture:
m_Texture: {fileID: 2800000, guid: 75ccb45ed310e81409b3f9d13dce709d, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DarkMaskTexture:
m_Texture: {fileID: 2800000, guid: 08475d8495d3e8c45b04efee61a5f57e, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DecalMap:
m_Texture: {fileID: 2800000, guid: 9b81938a0fb0eed49998fe071f3542ce, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DirtMaskTexture:
m_Texture: {fileID: 2800000, guid: e7c56d4419b4d144ca3f5af3ee0c81cb, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 2800000, guid: 9b81938a0fb0eed49998fe071f3542ce, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EyeEdgeMaskTexture:
m_Texture: {fileID: 2800000, guid: 9f2a0abb1a72f0c449829a589d13d7f0, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 2800000, guid: 8476071d75ce7644e92ce96aff0e7e45, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicMap:
m_Texture: {fileID: 2800000, guid: 9355e2c6fbbf433459fd984f6ab2710d, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OpacityMap:
m_Texture: {fileID: 2800000, guid: 9bd3c57211d1dc349b85770ba5143ba2, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ReflectionMap:
m_Texture: {fileID: 2800000, guid: b1b7b6d2944530e4289fb60e3e8bb392, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SkinMaskTexture:
m_Texture: {fileID: 2800000, guid: 7fa654420cbe02f4090af7728ca0115b, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SmoothnessMap:
m_Texture: {fileID: 2800000, guid: a9afe302bb810e741a33702651691a01, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _texcoord:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_Lightmaps:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_LightmapsInd:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_ShadowMasks:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _AlphaCutoff: 0.5
- _BUILTIN_QueueControl: -1
- _BUILTIN_QueueOffset: 0
- _BloodAmount: 0.5
- _BumpScale: 1
- _Cutoff: 0.5
- _CutsAmount: 0
- _DarkAmount: 1
- _DetailNormalMapScale: 1
- _DirtAmount: 0.275
- _DstBlend: 0
- _EnvironmentReflections: 1
- _EyelinerAmount: 0
- _FeminieAmount: 0
- _GlossMapScale: 1
- _Glossiness: 0.5
- _GlossyReflections: 1
- _Metallic: 0
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _QueueControl: 0
- _QueueOffset: 0
- _ReceiveShadows: 1
- _SkinColorAmount: 0
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _UVSec: 0
- _ZWrite: 1
- __dirty: 0
m_Colors:
- _BloodColor: {r: 0.43396226, g: 0.14737415, b: 0.14192465, a: 0}
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _CutsColor: {r: 0.33333328, g: 0.33333328, b: 0.33333328, a: 0}
- _DarkColor: {r: 0, g: 0, b: 0, a: 0}
- _DirtColor: {r: 0.4716981, g: 0.35202244, b: 0.23881568, a: 0}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _Grey: {r: 0.59748423, g: 0.59748423, b: 0.59748423, a: 0}
- _SkinColor: {r: 0, g: 0, b: 0, a: 0}
m_BuildTextureStacks: []
m_AllowLocking: 1
--- !u!114 &8041777053745330763
MonoBehaviour:
m_ObjectHideFlags: 11
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
m_Name:
m_EditorClassIdentifier:
version: 10

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: ba9d91023cb618a4b8b7fac55662ce7d
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,197 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: SK_FacialDemoCharacter
m_Shader: {fileID: -6465566751694194690, guid: db628544640279b41a4a7aa5d75c0322, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords: []
m_InvalidKeywords:
- _EMISSION
m_LightmapFlags: 2
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses:
- MOTIONVECTORS
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BloodMaskTexture:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ColorMap:
m_Texture: {fileID: 2800000, guid: 21c43e6b1238e6441bfb742288ef2b1e, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _CutsMaskTexture:
m_Texture: {fileID: 2800000, guid: 75ccb45ed310e81409b3f9d13dce709d, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DarkMaskTexture:
m_Texture: {fileID: 2800000, guid: 08475d8495d3e8c45b04efee61a5f57e, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DecalMap:
m_Texture: {fileID: 2800000, guid: 9b81938a0fb0eed49998fe071f3542ce, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DirtMaskTexture:
m_Texture: {fileID: 2800000, guid: e7c56d4419b4d144ca3f5af3ee0c81cb, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 2800000, guid: 9b81938a0fb0eed49998fe071f3542ce, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EyeEdgeMaskTexture:
m_Texture: {fileID: 2800000, guid: 9f2a0abb1a72f0c449829a589d13d7f0, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 2800000, guid: 8476071d75ce7644e92ce96aff0e7e45, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicMap:
m_Texture: {fileID: 2800000, guid: 9355e2c6fbbf433459fd984f6ab2710d, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OpacityMap:
m_Texture: {fileID: 2800000, guid: 9bd3c57211d1dc349b85770ba5143ba2, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ReflectionMap:
m_Texture: {fileID: 2800000, guid: b1b7b6d2944530e4289fb60e3e8bb392, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SkinMaskTexture:
m_Texture: {fileID: 2800000, guid: 7fa654420cbe02f4090af7728ca0115b, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SmoothnessMap:
m_Texture: {fileID: 2800000, guid: a9afe302bb810e741a33702651691a01, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _texcoord:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_Lightmaps:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_LightmapsInd:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_ShadowMasks:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _AlphaCutoff: 0.5
- _BUILTIN_QueueControl: 0
- _BUILTIN_QueueOffset: 0
- _BloodAmount: 0.5
- _BumpScale: 1
- _Cutoff: 0.5
- _CutsAmount: 0
- _DarkAmount: 0.5
- _DetailNormalMapScale: 1
- _DirtAmount: 0.306
- _DstBlend: 0
- _EnvironmentReflections: 1
- _EyelinerAmount: 0
- _FeminieAmount: 0
- _GlossMapScale: 1
- _Glossiness: 0.5
- _GlossyReflections: 1
- _Metallic: 0
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _QueueControl: 0
- _QueueOffset: 0
- _ReceiveShadows: 1
- _SkinColorAmount: 0
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _UVSec: 0
- _ZWrite: 1
- __dirty: 0
m_Colors:
- _BloodColor: {r: 0.43396226, g: 0.14737415, b: 0.14192465, a: 0}
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _CutsColor: {r: 0.33333328, g: 0.33333328, b: 0.33333328, a: 0}
- _DarkColor: {r: 0, g: 0, b: 0, a: 0}
- _DirtColor: {r: 0.4716981, g: 0.35202244, b: 0.23881568, a: 0}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _Grey: {r: 0.59748423, g: 0.59748423, b: 0.59748423, a: 0}
- _SkinColor: {r: 0, g: 0, b: 0, a: 0}
m_BuildTextureStacks: []
m_AllowLocking: 1
--- !u!114 &2802132362823649118
MonoBehaviour:
m_ObjectHideFlags: 11
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 639247ca83abc874e893eb93af2b5e44, type: 3}
m_Name:
m_EditorClassIdentifier:
version: 0
--- !u!114 &4113085260724205893
MonoBehaviour:
m_ObjectHideFlags: 11
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
m_Name:
m_EditorClassIdentifier:
version: 10

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: aeb13b7e0a13a8b4eb1f75177f70d0c1
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 70a2160f87b09e9488781cb2265e1e37
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: fc518b4df87e37f44bc2faba84109697
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 9000000
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 8c44074b202934442a8b47fcafe0479f
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 4300000
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: cfe128eae0fa77a48ad52d3982180ee0
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 3c7d264a581e5d64ca417c6116d971b5
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,112 @@
fileFormatVersion: 2
guid: 412005b4aa96c5943892cdda4b285f1b
ModelImporter:
serializedVersion: 21300
internalIDToNameTable: []
externalObjects:
- first:
type: UnityEngine:Material
assembly: UnityEngine.CoreModule
name: pasted__SK2
second: {fileID: 2100000, guid: 95aaf06a4bd58e946b78033a9ea4d111, type: 2}
materials:
materialImportMode: 2
materialName: 0
materialSearch: 1
materialLocation: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
removeConstantScaleCurves: 1
motionNodeName:
rigImportErrors:
rigImportWarnings:
animationImportErrors:
animationImportWarnings:
animationRetargetingWarnings:
animationDoRetargetingWarnings: 0
importAnimatedCustomProperties: 0
importConstraints: 0
animationCompression: 1
animationRotationError: 0.5
animationPositionError: 0.5
animationScaleError: 0.5
animationWrapMode: 0
extraExposedTransformPaths: []
extraUserProperties: []
clipAnimations: []
isReadable: 0
meshes:
lODScreenPercentages: []
globalScale: 1
meshCompression: 0
addColliders: 0
useSRGBMaterialColor: 1
sortHierarchyByName: 1
importVisibility: 1
importBlendShapes: 1
importCameras: 1
importLights: 1
nodeNameCollisionStrategy: 1
fileIdsGeneration: 2
swapUVChannels: 0
generateSecondaryUV: 0
useFileUnits: 1
keepQuads: 0
weldVertices: 1
bakeAxisConversion: 0
preserveHierarchy: 0
skinWeightsMode: 0
maxBonesPerVertex: 4
minBoneWeight: 0.001
optimizeBones: 1
meshOptimizationFlags: -1
indexFormat: 0
secondaryUVAngleDistortion: 8
secondaryUVAreaDistortion: 15.000001
secondaryUVHardAngle: 88
secondaryUVMarginMethod: 1
secondaryUVMinLightmapResolution: 40
secondaryUVMinObjectScale: 1
secondaryUVPackMargin: 4
useFileScale: 1
strictVertexDataChecks: 0
tangentSpace:
normalSmoothAngle: 60
normalImportMode: 0
tangentImportMode: 3
normalCalculationMode: 4
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
blendShapeNormalImportMode: 1
normalSmoothingSource: 0
referencedClips: []
importAnimation: 1
humanDescription:
serializedVersion: 3
human: []
skeleton: []
armTwist: 0.5
foreArmTwist: 0.5
upperLegTwist: 0.5
legTwist: 0.5
armStretch: 0.05
legStretch: 0.05
feetSpacing: 0
globalScale: 1
rootMotionBoneName:
hasTranslationDoF: 0
hasExtraRoot: 0
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
autoGenerateAvatarMappingIfUnspecified: 1
animationType: 2
humanoidOversampling: 1
avatarSetup: 0
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
remapMaterialsIfMaterialImportModeIsNone: 0
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,139 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: pasted__SK2
m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords: []
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap:
RenderType: Opaque
disabledShaderPasses:
- MOTIONVECTORS
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BaseMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SpecGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_Lightmaps:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_LightmapsInd:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_ShadowMasks:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _AddPrecomputedVelocity: 0
- _AlphaClip: 0
- _AlphaToMask: 0
- _Blend: 0
- _BlendModePreserveSpecular: 1
- _BumpScale: 1
- _ClearCoatMask: 0
- _ClearCoatSmoothness: 0
- _Cull: 2
- _Cutoff: 0.5
- _DetailAlbedoMapScale: 1
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _DstBlendAlpha: 0
- _EnvironmentReflections: 1
- _GlossMapScale: 1
- _Glossiness: 0
- _GlossyReflections: 1
- _Metallic: 0
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _QueueOffset: 0
- _ReceiveShadows: 1
- _Smoothness: 0
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _SrcBlendAlpha: 1
- _Surface: 0
- _UVSec: 0
- _WorkflowMode: 1
- _XRMotionVectorsPass: 1
- _ZWrite: 1
m_Colors:
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
m_BuildTextureStacks: []
m_AllowLocking: 1
--- !u!114 &2309081499592648307
MonoBehaviour:
m_ObjectHideFlags: 11
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
m_Name:
m_EditorClassIdentifier:
version: 10

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 8cffd23b947955a4d9d84f3a4c2c5b2a
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: da25b8d4ddd27724c92cd8e53551c10d
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,112 @@
fileFormatVersion: 2
guid: 2d083195bdf2a9b469d2e3a979d26419
ModelImporter:
serializedVersion: 21300
internalIDToNameTable: []
externalObjects:
- first:
type: UnityEngine:Material
assembly: UnityEngine.CoreModule
name: lambert2
second: {fileID: 2100000, guid: 7a77f75dd7ae4a148b5098283202f603, type: 2}
materials:
materialImportMode: 2
materialName: 0
materialSearch: 1
materialLocation: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
removeConstantScaleCurves: 1
motionNodeName:
rigImportErrors:
rigImportWarnings:
animationImportErrors:
animationImportWarnings:
animationRetargetingWarnings:
animationDoRetargetingWarnings: 0
importAnimatedCustomProperties: 0
importConstraints: 0
animationCompression: 1
animationRotationError: 0.5
animationPositionError: 0.5
animationScaleError: 0.5
animationWrapMode: 0
extraExposedTransformPaths: []
extraUserProperties: []
clipAnimations: []
isReadable: 0
meshes:
lODScreenPercentages: []
globalScale: 1
meshCompression: 0
addColliders: 0
useSRGBMaterialColor: 1
sortHierarchyByName: 1
importVisibility: 1
importBlendShapes: 1
importCameras: 1
importLights: 1
nodeNameCollisionStrategy: 1
fileIdsGeneration: 2
swapUVChannels: 0
generateSecondaryUV: 0
useFileUnits: 1
keepQuads: 0
weldVertices: 1
bakeAxisConversion: 0
preserveHierarchy: 0
skinWeightsMode: 0
maxBonesPerVertex: 4
minBoneWeight: 0.001
optimizeBones: 0
meshOptimizationFlags: -1
indexFormat: 0
secondaryUVAngleDistortion: 8
secondaryUVAreaDistortion: 15.000001
secondaryUVHardAngle: 88
secondaryUVMarginMethod: 1
secondaryUVMinLightmapResolution: 40
secondaryUVMinObjectScale: 1
secondaryUVPackMargin: 4
useFileScale: 1
strictVertexDataChecks: 0
tangentSpace:
normalSmoothAngle: 60
normalImportMode: 0
tangentImportMode: 3
normalCalculationMode: 4
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
blendShapeNormalImportMode: 1
normalSmoothingSource: 0
referencedClips: []
importAnimation: 1
humanDescription:
serializedVersion: 3
human: []
skeleton: []
armTwist: 0.5
foreArmTwist: 0.5
upperLegTwist: 0.5
legTwist: 0.5
armStretch: 0.05
legStretch: 0.05
feetSpacing: 0
globalScale: 1
rootMotionBoneName:
hasTranslationDoF: 0
hasExtraRoot: 0
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
autoGenerateAvatarMappingIfUnspecified: 1
animationType: 2
humanoidOversampling: 1
avatarSetup: 0
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
remapMaterialsIfMaterialImportModeIsNone: 0
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,139 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: lambert2
m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords: []
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap:
RenderType: Opaque
disabledShaderPasses:
- MOTIONVECTORS
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BaseMap:
m_Texture: {fileID: 2800000, guid: a70ffdbc0d5b6294daea5cf6e57afef0, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SpecGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_Lightmaps:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_LightmapsInd:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_ShadowMasks:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _AddPrecomputedVelocity: 0
- _AlphaClip: 0
- _AlphaToMask: 0
- _Blend: 0
- _BlendModePreserveSpecular: 1
- _BumpScale: 1
- _ClearCoatMask: 0
- _ClearCoatSmoothness: 0
- _Cull: 2
- _Cutoff: 0.5
- _DetailAlbedoMapScale: 1
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _DstBlendAlpha: 0
- _EnvironmentReflections: 1
- _GlossMapScale: 1
- _Glossiness: 0
- _GlossyReflections: 1
- _Metallic: 0
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _QueueOffset: 0
- _ReceiveShadows: 1
- _Smoothness: 0
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _SrcBlendAlpha: 1
- _Surface: 0
- _UVSec: 0
- _WorkflowMode: 1
- _XRMotionVectorsPass: 1
- _ZWrite: 1
m_Colors:
- _BaseColor: {r: 0.8, g: 0.8, b: 0.8, a: 1}
- _Color: {r: 0.8, g: 0.8, b: 0.8, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
m_BuildTextureStacks: []
m_AllowLocking: 1
--- !u!114 &3117791239292361756
MonoBehaviour:
m_ObjectHideFlags: 11
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
m_Name:
m_EditorClassIdentifier:
version: 10

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: a6f0afb370e869b48acea8c8438747ed
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: f22575bcd5e11624a9d9d86755716426
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,122 @@
fileFormatVersion: 2
guid: 2ab2eb14e0523184fadf197d8de432c4
ModelImporter:
serializedVersion: 21300
internalIDToNameTable: []
externalObjects:
- first:
type: UnityEngine:Material
assembly: UnityEngine.CoreModule
name: blinn1
second: {fileID: 2100000, guid: 58145c4d49f4fe54ba3cad9e4f58f7be, type: 2}
- first:
type: UnityEngine:Material
assembly: UnityEngine.CoreModule
name: lambert2
second: {fileID: 2100000, guid: 0638e7c52685d6c43a3ebab52c5e49f0, type: 2}
- first:
type: UnityEngine:Material
assembly: UnityEngine.CoreModule
name: lambert4
second: {fileID: 2100000, guid: 587f3c0e895fd5d4ea738d0213bb3719, type: 2}
materials:
materialImportMode: 2
materialName: 0
materialSearch: 1
materialLocation: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
removeConstantScaleCurves: 1
motionNodeName:
rigImportErrors:
rigImportWarnings:
animationImportErrors:
animationImportWarnings:
animationRetargetingWarnings:
animationDoRetargetingWarnings: 0
importAnimatedCustomProperties: 0
importConstraints: 0
animationCompression: 1
animationRotationError: 0.5
animationPositionError: 0.5
animationScaleError: 0.5
animationWrapMode: 0
extraExposedTransformPaths: []
extraUserProperties: []
clipAnimations: []
isReadable: 0
meshes:
lODScreenPercentages: []
globalScale: 1
meshCompression: 0
addColliders: 0
useSRGBMaterialColor: 1
sortHierarchyByName: 1
importVisibility: 1
importBlendShapes: 1
importCameras: 1
importLights: 1
nodeNameCollisionStrategy: 1
fileIdsGeneration: 2
swapUVChannels: 0
generateSecondaryUV: 0
useFileUnits: 1
keepQuads: 0
weldVertices: 1
bakeAxisConversion: 0
preserveHierarchy: 0
skinWeightsMode: 0
maxBonesPerVertex: 4
minBoneWeight: 0.001
optimizeBones: 1
meshOptimizationFlags: -1
indexFormat: 0
secondaryUVAngleDistortion: 8
secondaryUVAreaDistortion: 15.000001
secondaryUVHardAngle: 88
secondaryUVMarginMethod: 1
secondaryUVMinLightmapResolution: 40
secondaryUVMinObjectScale: 1
secondaryUVPackMargin: 4
useFileScale: 1
strictVertexDataChecks: 0
tangentSpace:
normalSmoothAngle: 60
normalImportMode: 0
tangentImportMode: 3
normalCalculationMode: 4
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
blendShapeNormalImportMode: 1
normalSmoothingSource: 0
referencedClips: []
importAnimation: 1
humanDescription:
serializedVersion: 3
human: []
skeleton: []
armTwist: 0.5
foreArmTwist: 0.5
upperLegTwist: 0.5
legTwist: 0.5
armStretch: 0.05
legStretch: 0.05
feetSpacing: 0
globalScale: 1
rootMotionBoneName:
hasTranslationDoF: 0
hasExtraRoot: 0
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
autoGenerateAvatarMappingIfUnspecified: 1
animationType: 2
humanoidOversampling: 1
avatarSetup: 0
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
remapMaterialsIfMaterialImportModeIsNone: 0
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,139 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &-7543519481622853810
MonoBehaviour:
m_ObjectHideFlags: 11
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
m_Name:
m_EditorClassIdentifier:
version: 10
--- !u!21 &2100000
Material:
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: blinn1
m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords: []
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap:
RenderType: Opaque
disabledShaderPasses:
- MOTIONVECTORS
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BaseMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SpecGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_Lightmaps:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_LightmapsInd:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_ShadowMasks:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _AddPrecomputedVelocity: 0
- _AlphaClip: 0
- _AlphaToMask: 0
- _Blend: 0
- _BlendModePreserveSpecular: 1
- _BumpScale: 1
- _ClearCoatMask: 0
- _ClearCoatSmoothness: 0
- _Cull: 2
- _Cutoff: 0.5
- _DetailAlbedoMapScale: 1
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _DstBlendAlpha: 0
- _EnvironmentReflections: 1
- _GlossMapScale: 1
- _Glossiness: 0.25123277
- _GlossyReflections: 1
- _Metallic: 0
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _QueueOffset: 0
- _ReceiveShadows: 1
- _Smoothness: 0.25123277
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _SrcBlendAlpha: 1
- _Surface: 0
- _UVSec: 0
- _WorkflowMode: 1
- _XRMotionVectorsPass: 1
- _ZWrite: 1
m_Colors:
- _BaseColor: {r: 0.8340176, g: 0.7887894, b: 0.5074482, a: 1}
- _Color: {r: 0.8340176, g: 0.7887894, b: 0.50744814, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
m_BuildTextureStacks: []
m_AllowLocking: 1

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 58145c4d49f4fe54ba3cad9e4f58f7be
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,139 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &-60644187106448803
MonoBehaviour:
m_ObjectHideFlags: 11
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
m_Name:
m_EditorClassIdentifier:
version: 10
--- !u!21 &2100000
Material:
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: lambert2
m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords: []
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap:
RenderType: Opaque
disabledShaderPasses:
- MOTIONVECTORS
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BaseMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SpecGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_Lightmaps:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_LightmapsInd:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_ShadowMasks:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _AddPrecomputedVelocity: 0
- _AlphaClip: 0
- _AlphaToMask: 0
- _Blend: 0
- _BlendModePreserveSpecular: 1
- _BumpScale: 1
- _ClearCoatMask: 0
- _ClearCoatSmoothness: 0
- _Cull: 2
- _Cutoff: 0.5
- _DetailAlbedoMapScale: 1
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _DstBlendAlpha: 0
- _EnvironmentReflections: 1
- _GlossMapScale: 1
- _Glossiness: 0
- _GlossyReflections: 1
- _Metallic: 0
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _QueueOffset: 0
- _ReceiveShadows: 1
- _Smoothness: 0
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _SrcBlendAlpha: 1
- _Surface: 0
- _UVSec: 0
- _WorkflowMode: 1
- _XRMotionVectorsPass: 1
- _ZWrite: 1
m_Colors:
- _BaseColor: {r: 0.5573054, g: 0.5573054, b: 0.5573054, a: 1}
- _Color: {r: 0.55730534, g: 0.55730534, b: 0.55730534, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
m_BuildTextureStacks: []
m_AllowLocking: 1

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 0638e7c52685d6c43a3ebab52c5e49f0
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,139 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &-345185419383990851
MonoBehaviour:
m_ObjectHideFlags: 11
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
m_Name:
m_EditorClassIdentifier:
version: 10
--- !u!21 &2100000
Material:
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: lambert4
m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords: []
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap:
RenderType: Opaque
disabledShaderPasses:
- MOTIONVECTORS
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BaseMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SpecGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_Lightmaps:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_LightmapsInd:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_ShadowMasks:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _AddPrecomputedVelocity: 0
- _AlphaClip: 0
- _AlphaToMask: 0
- _Blend: 0
- _BlendModePreserveSpecular: 1
- _BumpScale: 1
- _ClearCoatMask: 0
- _ClearCoatSmoothness: 0
- _Cull: 2
- _Cutoff: 0.5
- _DetailAlbedoMapScale: 1
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _DstBlendAlpha: 0
- _EnvironmentReflections: 1
- _GlossMapScale: 1
- _Glossiness: 0
- _GlossyReflections: 1
- _Metallic: 0
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _QueueOffset: 0
- _ReceiveShadows: 1
- _Smoothness: 0
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _SrcBlendAlpha: 1
- _Surface: 0
- _UVSec: 0
- _WorkflowMode: 1
- _XRMotionVectorsPass: 1
- _ZWrite: 1
m_Colors:
- _BaseColor: {r: 0.3256725, g: 0.22963259, b: 0.17334935, a: 1}
- _Color: {r: 0.32567248, g: 0.22963253, b: 0.17334932, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
m_BuildTextureStacks: []
m_AllowLocking: 1

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 587f3c0e895fd5d4ea738d0213bb3719
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 2b389f919a13716468d6ae5366c59c1e
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,112 @@
fileFormatVersion: 2
guid: 4350d0829b70e53438ea600f139e247a
ModelImporter:
serializedVersion: 21300
internalIDToNameTable: []
externalObjects:
- first:
type: UnityEngine:Material
assembly: UnityEngine.CoreModule
name: lambert1
second: {fileID: 2100000, guid: 3ba4b6656ab2cba41b74869a458acefc, type: 2}
materials:
materialImportMode: 2
materialName: 0
materialSearch: 1
materialLocation: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
removeConstantScaleCurves: 1
motionNodeName:
rigImportErrors:
rigImportWarnings:
animationImportErrors:
animationImportWarnings:
animationRetargetingWarnings:
animationDoRetargetingWarnings: 0
importAnimatedCustomProperties: 0
importConstraints: 0
animationCompression: 1
animationRotationError: 0.5
animationPositionError: 0.5
animationScaleError: 0.5
animationWrapMode: 0
extraExposedTransformPaths: []
extraUserProperties: []
clipAnimations: []
isReadable: 0
meshes:
lODScreenPercentages: []
globalScale: 1
meshCompression: 0
addColliders: 0
useSRGBMaterialColor: 1
sortHierarchyByName: 1
importVisibility: 1
importBlendShapes: 1
importCameras: 1
importLights: 1
nodeNameCollisionStrategy: 1
fileIdsGeneration: 2
swapUVChannels: 0
generateSecondaryUV: 0
useFileUnits: 1
keepQuads: 0
weldVertices: 1
bakeAxisConversion: 0
preserveHierarchy: 0
skinWeightsMode: 0
maxBonesPerVertex: 4
minBoneWeight: 0.001
optimizeBones: 1
meshOptimizationFlags: -1
indexFormat: 0
secondaryUVAngleDistortion: 8
secondaryUVAreaDistortion: 15.000001
secondaryUVHardAngle: 88
secondaryUVMarginMethod: 1
secondaryUVMinLightmapResolution: 40
secondaryUVMinObjectScale: 1
secondaryUVPackMargin: 4
useFileScale: 1
strictVertexDataChecks: 0
tangentSpace:
normalSmoothAngle: 60
normalImportMode: 0
tangentImportMode: 3
normalCalculationMode: 4
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
blendShapeNormalImportMode: 1
normalSmoothingSource: 0
referencedClips: []
importAnimation: 1
humanDescription:
serializedVersion: 3
human: []
skeleton: []
armTwist: 0.5
foreArmTwist: 0.5
upperLegTwist: 0.5
legTwist: 0.5
armStretch: 0.05
legStretch: 0.05
feetSpacing: 0
globalScale: 1
rootMotionBoneName:
hasTranslationDoF: 0
hasExtraRoot: 0
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
autoGenerateAvatarMappingIfUnspecified: 1
animationType: 2
humanoidOversampling: 1
avatarSetup: 0
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
remapMaterialsIfMaterialImportModeIsNone: 0
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 880412c0a665e0c4c83ae70541d059f3
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 9a197e27ea9bb3a4696704dfcb423edb
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: ca00cacf5e1e3674da87cd84722dbf8f
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,761 @@
Name: SK_FacialDemoCharacter
Species: 1
Parts:
- Name: SK_HUMN_BASE_01_01HEAD_HU01
PartType: Head
PartVersion: 1
- Name: SK_HUMN_BASE_01_04EBRR_HU01
PartType: EyebrowRight
PartVersion: 1
- Name: SK_HUMN_BASE_01_03EBRL_HU01
PartType: EyebrowLeft
PartVersion: 1
- Name: SK_APOC_OUTL_10_21FOTR_HU01
PartType: FootRight
PartVersion: 1
- Name: SK_HUMN_BASE_01_05EYEL_HU01
PartType: EyeLeft
PartVersion: 1
- Name: SK_HUMN_BASE_01_06EYER_HU01
PartType: EyeRight
PartVersion: 1
- Name: SK_HUMN_BASE_01_07EARL_HU01
PartType: EarLeft
PartVersion: 1
- Name: SK_HUMN_BASE_01_08EARR_HU01
PartType: EarRight
PartVersion: 1
- Name: SK_HUMN_BASE_01_35NOSE_HU01
PartType: Nose
PartVersion: 1
- Name: SK_HUMN_BASE_01_02HAIR_HU01
PartType: Hair
PartVersion: 1
- Name: SK_HUMN_BASE_01_36TETH_HU01
PartType: Teeth
PartVersion: 1
- Name: SK_HUMN_BASE_01_37TONG_HU01
PartType: Tongue
PartVersion: 1
- Name: SK_APOC_OUTL_06_10TORS_HU01
PartType: Torso
PartVersion: 1
- Name: SK_APOC_OUTL_08_11AUPL_HU01
PartType: ArmUpperLeft
PartVersion: 1
- Name: SK_APOC_OUTL_07_12AUPR_HU01
PartType: ArmUpperRight
PartVersion: 1
- Name: SK_APOC_OUTL_12_13ALWL_HU01
PartType: ArmLowerLeft
PartVersion: 1
- Name: SK_APOC_OUTL_08_14ALWR_HU01
PartType: ArmLowerRight
PartVersion: 1
- Name: SK_APOC_OUTL_06_32AEBR_HU01
PartType: AttachmentElbowRight
PartVersion: 1
- Name: SK_APOC_OUTL_09_18LEGL_HU01
PartType: LegLeft
PartVersion: 1
- Name: SK_APOC_OUTL_05_24ABAC_HU01
PartType: AttachmentBack
PartVersion: 1
- Name: SK_APOC_OUTL_08_20FOTL_HU01
PartType: FootLeft
PartVersion: 1
- Name: SK_APOC_OUTL_09_17HIPS_HU01
PartType: Hips
PartVersion: 1
- Name: SK_APOC_OUTL_09_19LEGR_HU01
PartType: LegRight
PartVersion: 1
- Name: SK_APOC_OUTL_01_16HNDR_HU01
PartType: HandRight
PartVersion: 1
- Name: SK_APOC_OUTL_05_26AHPB_HU01
PartType: AttachmentHipsBack
PartVersion: 1
- Name: SK_APOC_OUTL_09_28AHPR_HU01
PartType: AttachmentHipsRight
PartVersion: 1
- Name: SK_APOC_OUTL_04_33AKNL_HU01
PartType: AttachmentKneeLeft
PartVersion: 1
- Name: SK_APOC_OUTL_04_34AKNR_HU01
PartType: AttachmentKneeRight
PartVersion: 1
- Name: SK_APOC_OUTL_06_27AHPL_HU01
PartType: AttachmentHipsLeft
PartVersion: 1
ColorSet:
Species: 1
Name: Custom
SourceColorPath: Assets/Synty/Tools/SidekickCharacters/Resources/Textures/T_ColorMap.png
SourceMetallicPath: Assets/Synty/Tools/SidekickCharacters/Resources/Textures/T_MetallicMap.png
SourceSmoothnessPath: Assets/Synty/Tools/SidekickCharacters/Resources/Textures/T_SmoothnessMap.png
SourceReflectionPath: Assets/Synty/Tools/SidekickCharacters/Resources/Textures/T_ReflectionMap.png
SourceEmissionPath: Assets/Synty/Tools/SidekickCharacters/Resources/Textures/T_EmissionMap.png
SourceOpacityPath: Assets/Synty/Tools/SidekickCharacters/Resources/Textures/T_OpacityMap.png
ColorRows:
- ColorProperty: 1
MainColor: BF9062
Metallic: FF0000
Smoothness: FF0000
Reflection: FF0000
Emission: FF0000
Opacity: FF0000
- ColorProperty: 2
MainColor: C7986A
Metallic: FF0000
Smoothness: FF0000
Reflection: FF0000
Emission: FF0000
Opacity: FF0000
- ColorProperty: 3
MainColor: C7986A
Metallic: FF0000
Smoothness: FF0000
Reflection: FF0000
Emission: FF0000
Opacity: FF0000
- ColorProperty: 4
MainColor: AF8057
Metallic: FF0000
Smoothness: FF0000
Reflection: FF0000
Emission: FF0000
Opacity: FF0000
- ColorProperty: 5
MainColor: C7986A
Metallic: FF0000
Smoothness: FF0000
Reflection: FF0000
Emission: FF0000
Opacity: FF0000
- ColorProperty: 6
MainColor: BF9062
Metallic: FF0000
Smoothness: FF0000
Reflection: FF0000
Emission: FF0000
Opacity: FF0000
- ColorProperty: 7
MainColor: BF9062
Metallic: FF0000
Smoothness: FF0000
Reflection: FF0000
Emission: FF0000
Opacity: FF0000
- ColorProperty: 8
MainColor: AF8057
Metallic: FF0000
Smoothness: FF0000
Reflection: FF0000
Emission: FF0000
Opacity: FF0000
- ColorProperty: 9
MainColor: AF8057
Metallic: FF0000
Smoothness: FF0000
Reflection: FF0000
Emission: FF0000
Opacity: FF0000
- ColorProperty: 10
MainColor: AF8057
Metallic: FF0000
Smoothness: FF0000
Reflection: FF0000
Emission: FF0000
Opacity: FF0000
- ColorProperty: 11
MainColor: AF8057
Metallic: FF0000
Smoothness: FF0000
Reflection: FF0000
Emission: FF0000
Opacity: FF0000
- ColorProperty: 12
MainColor: AF8057
Metallic: FF0000
Smoothness: FF0000
Reflection: FF0000
Emission: FF0000
Opacity: FF0000
- ColorProperty: 13
MainColor: AF8057
Metallic: FF0000
Smoothness: FF0000
Reflection: FF0000
Emission: FF0000
Opacity: FF0000
- ColorProperty: 14
MainColor: BF9062
Metallic: FF0000
Smoothness: FF0000
Reflection: FF0000
Emission: FF0000
Opacity: FF0000
- ColorProperty: 15
MainColor: E79A9C
Metallic: FF0000
Smoothness: FF0000
Reflection: FF0000
Emission: FF0000
Opacity: FF0000
- ColorProperty: 16
MainColor: FFF3CE
Metallic: FF0000
Smoothness: FF0000
Reflection: FF0000
Emission: FF0000
Opacity: FF0000
- ColorProperty: 17
MainColor: E5D8AF
Metallic: FF0000
Smoothness: FF0000
Reflection: FF0000
Emission: FF0000
Opacity: FF0000
- ColorProperty: 18
MainColor: E79A9C
Metallic: FF0000
Smoothness: FF0000
Reflection: FF0000
Emission: FF0000
Opacity: FF0000
- ColorProperty: 19
MainColor: E79A9C
Metallic: FF0000
Smoothness: FF0000
Reflection: FF0000
Emission: FF0000
Opacity: FF0000
- ColorProperty: 20
MainColor: D0D0D0
Metallic: FF0000
Smoothness: FF0000
Reflection: FF0000
Emission: FF0000
Opacity: FF0000
- ColorProperty: 21
MainColor: D0D0D0
Metallic: FF0000
Smoothness: FF0000
Reflection: FF0000
Emission: FF0000
Opacity: FF0000
- ColorProperty: 22
MainColor: 32281D
Metallic: FF0000
Smoothness: FF0000
Reflection: FF0000
Emission: FF0000
Opacity: FF0000
- ColorProperty: 23
MainColor: 32281D
Metallic: FF0000
Smoothness: FF0000
Reflection: FF0000
Emission: FF0000
Opacity: FF0000
- ColorProperty: 24
MainColor: 262626
Metallic: FF0000
Smoothness: FF0000
Reflection: FF0000
Emission: FF0000
Opacity: FF0000
- ColorProperty: 25
MainColor: 262626
Metallic: FF0000
Smoothness: FF0000
Reflection: FF0000
Emission: FF0000
Opacity: FF0000
- ColorProperty: 26
MainColor: 503E2B
Metallic: FF0000
Smoothness: FF0000
Reflection: FF0000
Emission: FF0000
Opacity: FF0000
- ColorProperty: 27
MainColor: 503E2B
Metallic: FF0000
Smoothness: FF0000
Reflection: FF0000
Emission: FF0000
Opacity: FF0000
- ColorProperty: 28
MainColor: FFFFFF
Metallic: FF0000
Smoothness: FF0000
Reflection: FF0000
Emission: FF0000
Opacity: FF0000
- ColorProperty: 29
MainColor: FFFFFF
Metallic: FF0000
Smoothness: FF0000
Reflection: FF0000
Emission: FF0000
Opacity: FF0000
- ColorProperty: 30
MainColor: 26272D
Metallic: FF0000
Smoothness: FF0000
Reflection: FF0000
Emission: FF0000
Opacity: FF0000
- ColorProperty: 31
MainColor: 26272D
Metallic: FF0000
Smoothness: FF0000
Reflection: FF0000
Emission: FF0000
Opacity: FF0000
- ColorProperty: 32
MainColor: 26272D
Metallic: FF0000
Smoothness: FF0000
Reflection: FF0000
Emission: FF0000
Opacity: FF0000
- ColorProperty: 33
MainColor: 26272D
Metallic: FF0000
Smoothness: FF0000
Reflection: FF0000
Emission: FF0000
Opacity: FF0000
- ColorProperty: 34
MainColor: CAA58E
Metallic: FF0000
Smoothness: FF0000
Reflection: FF0000
Emission: FF0000
Opacity: FF0000
- ColorProperty: 35
MainColor: 26272D
Metallic: FF0000
Smoothness: FF0000
Reflection: FF0000
Emission: FF0000
Opacity: FF0000
- ColorProperty: 36
MainColor: 26272D
Metallic: FF0000
Smoothness: FF0000
Reflection: FF0000
Emission: FF0000
Opacity: FF0000
- ColorProperty: 37
MainColor: CAA58E
Metallic: FF0000
Smoothness: FF0000
Reflection: FF0000
Emission: FF0000
Opacity: FF0000
- ColorProperty: 38
MainColor: B35149
Metallic: FF0000
Smoothness: FF0000
Reflection: FF0000
Emission: FF0000
Opacity: FF0000
- ColorProperty: 39
MainColor: 944842
Metallic: FF0000
Smoothness: FF0000
Reflection: FF0000
Emission: FF0000
Opacity: FF0000
- ColorProperty: 40
MainColor: AFA382
Metallic: FF0000
Smoothness: FF0000
Reflection: FF0000
Emission: FF0000
Opacity: FF0000
- ColorProperty: 41
MainColor: 94896F
Metallic: FF0000
Smoothness: FF0000
Reflection: FF0000
Emission: FF0000
Opacity: FF0000
- ColorProperty: 42
MainColor: 787469
Metallic: 545454
Smoothness: 545454
Reflection: 000000
Emission: 000000
Opacity: FFFFFF
- ColorProperty: 43
MainColor: 7F6637
Metallic: 545454
Smoothness: 545454
Reflection: 000000
Emission: 000000
Opacity: FFFFFF
- ColorProperty: 44
MainColor: 514C46
Metallic: 545454
Smoothness: 545454
Reflection: 000000
Emission: 000000
Opacity: FFFFFF
- ColorProperty: 45
MainColor: 7D6652
Metallic: 545454
Smoothness: 545454
Reflection: 000000
Emission: 000000
Opacity: FFFFFF
- ColorProperty: 46
MainColor: 6A5C4D
Metallic: 545454
Smoothness: 545454
Reflection: 000000
Emission: 000000
Opacity: FFFFFF
- ColorProperty: 47
MainColor: 787469
Metallic: 545454
Smoothness: 545454
Reflection: 000000
Emission: 000000
Opacity: FFFFFF
- ColorProperty: 48
MainColor: 7F6637
Metallic: 545454
Smoothness: 545454
Reflection: 000000
Emission: 000000
Opacity: FFFFFF
- ColorProperty: 49
MainColor: 403C37
Metallic: 545454
Smoothness: 545454
Reflection: 000000
Emission: 000000
Opacity: FFFFFF
- ColorProperty: 50
MainColor: 7D6652
Metallic: 545454
Smoothness: 545454
Reflection: 000000
Emission: 000000
Opacity: FFFFFF
- ColorProperty: 51
MainColor: 6A5C4D
Metallic: 545454
Smoothness: 545454
Reflection: 000000
Emission: 000000
Opacity: FFFFFF
- ColorProperty: 52
MainColor: 787469
Metallic: 545454
Smoothness: 545454
Reflection: 000000
Emission: 000000
Opacity: FFFFFF
- ColorProperty: 53
MainColor: 7F6637
Metallic: 545454
Smoothness: 545454
Reflection: 000000
Emission: 000000
Opacity: FFFFFF
- ColorProperty: 54
MainColor: 403C37
Metallic: 545454
Smoothness: 545454
Reflection: 000000
Emission: 000000
Opacity: FFFFFF
- ColorProperty: 55
MainColor: 7D6652
Metallic: 545454
Smoothness: 545454
Reflection: 000000
Emission: 000000
Opacity: FFFFFF
- ColorProperty: 56
MainColor: 6A5C4D
Metallic: 545454
Smoothness: 545454
Reflection: 000000
Emission: 000000
Opacity: FFFFFF
- ColorProperty: 57
MainColor: 787469
Metallic: 545454
Smoothness: 545454
Reflection: 000000
Emission: 000000
Opacity: FFFFFF
- ColorProperty: 58
MainColor: 998B79
Metallic: 545454
Smoothness: 545454
Reflection: 000000
Emission: 000000
Opacity: FFFFFF
- ColorProperty: 59
MainColor: 65583F
Metallic: 545454
Smoothness: 545454
Reflection: 000000
Emission: 000000
Opacity: FFFFFF
- ColorProperty: 60
MainColor: 898580
Metallic: 545454
Smoothness: 545454
Reflection: 000000
Emission: 000000
Opacity: FFFFFF
- ColorProperty: 61
MainColor: 76726C
Metallic: 545454
Smoothness: 545454
Reflection: 000000
Emission: 000000
Opacity: FFFFFF
- ColorProperty: 62
MainColor: 787469
Metallic: 545454
Smoothness: 545454
Reflection: 000000
Emission: 000000
Opacity: FFFFFF
- ColorProperty: 63
MainColor: 918473
Metallic: 545454
Smoothness: 545454
Reflection: 000000
Emission: 000000
Opacity: FFFFFF
- ColorProperty: 64
MainColor: 65583F
Metallic: 545454
Smoothness: 545454
Reflection: 000000
Emission: 000000
Opacity: FFFFFF
- ColorProperty: 65
MainColor: 7D7973
Metallic: 545454
Smoothness: 545454
Reflection: 000000
Emission: 000000
Opacity: FFFFFF
- ColorProperty: 66
MainColor: 6A6660
Metallic: 545454
Smoothness: 545454
Reflection: 000000
Emission: 000000
Opacity: FFFFFF
- ColorProperty: 67
MainColor: 35425F
Metallic: 545454
Smoothness: 545454
Reflection: 000000
Emission: 000000
Opacity: FFFFFF
- ColorProperty: 68
MainColor: 8F4F46
Metallic: 545454
Smoothness: 545454
Reflection: 000000
Emission: 000000
Opacity: FFFFFF
- ColorProperty: 69
MainColor: 9C793B
Metallic: 545454
Smoothness: 545454
Reflection: 000000
Emission: 000000
Opacity: FFFFFF
- ColorProperty: 70
MainColor: 998B79
Metallic: 545454
Smoothness: 545454
Reflection: 000000
Emission: 000000
Opacity: FFFFFF
- ColorProperty: 71
MainColor: 575655
Metallic: 545454
Smoothness: 545454
Reflection: 000000
Emission: 000000
Opacity: FFFFFF
- ColorProperty: 72
MainColor: 35425F
Metallic: 545454
Smoothness: 545454
Reflection: 000000
Emission: 000000
Opacity: FFFFFF
- ColorProperty: 73
MainColor: 35425F
Metallic: 545454
Smoothness: 545454
Reflection: 000000
Emission: 000000
Opacity: FFFFFF
- ColorProperty: 74
MainColor: 9C793B
Metallic: 545454
Smoothness: 545454
Reflection: 000000
Emission: 000000
Opacity: FFFFFF
- ColorProperty: 75
MainColor: 998B79
Metallic: 545454
Smoothness: 545454
Reflection: 000000
Emission: 000000
Opacity: FFFFFF
- ColorProperty: 76
MainColor: 575655
Metallic: 545454
Smoothness: 545454
Reflection: 000000
Emission: 000000
Opacity: FFFFFF
- ColorProperty: 77
MainColor: 35425F
Metallic: 545454
Smoothness: 545454
Reflection: 000000
Emission: 000000
Opacity: FFFFFF
- ColorProperty: 78
MainColor: 6A5143
Metallic: 545454
Smoothness: 545454
Reflection: 000000
Emission: 000000
Opacity: FFFFFF
- ColorProperty: 79
MainColor: 9C793B
Metallic: 545454
Smoothness: 545454
Reflection: 000000
Emission: 000000
Opacity: FFFFFF
- ColorProperty: 80
MainColor: 998B79
Metallic: 545454
Smoothness: 545454
Reflection: 000000
Emission: 000000
Opacity: FFFFFF
- ColorProperty: 81
MainColor: 575655
Metallic: 545454
Smoothness: 545454
Reflection: 000000
Emission: 000000
Opacity: FFFFFF
- ColorProperty: 82
MainColor: 69584A
Metallic: 545454
Smoothness: 545454
Reflection: 000000
Emission: 000000
Opacity: FFFFFF
- ColorProperty: 83
MainColor: 5A441D
Metallic: 545454
Smoothness: 545454
Reflection: 000000
Emission: 000000
Opacity: FFFFFF
- ColorProperty: 84
MainColor: 514C46
Metallic: 545454
Smoothness: 545454
Reflection: 000000
Emission: 000000
Opacity: FFFFFF
- ColorProperty: 85
MainColor: 998B79
Metallic: 545454
Smoothness: 545454
Reflection: 000000
Emission: 000000
Opacity: FFFFFF
- ColorProperty: 86
MainColor: 957A4A
Metallic: 545454
Smoothness: 545454
Reflection: 000000
Emission: 000000
Opacity: FFFFFF
- ColorProperty: 87
MainColor: 69584A
Metallic: 545454
Smoothness: 545454
Reflection: 000000
Emission: 000000
Opacity: FFFFFF
- ColorProperty: 88
MainColor: 5A441D
Metallic: 545454
Smoothness: 545454
Reflection: 000000
Emission: 000000
Opacity: FFFFFF
- ColorProperty: 89
MainColor: 514C46
Metallic: 545454
Smoothness: 545454
Reflection: 000000
Emission: 000000
Opacity: FFFFFF
- ColorProperty: 90
MainColor: 998B79
Metallic: 545454
Smoothness: 545454
Reflection: 000000
Emission: 000000
Opacity: FFFFFF
- ColorProperty: 91
MainColor: 957A4A
Metallic: 545454
Smoothness: 545454
Reflection: 000000
Emission: 000000
Opacity: FFFFFF
- ColorProperty: 92
MainColor: 7A593E
Metallic: 545454
Smoothness: 545454
Reflection: 000000
Emission: 000000
Opacity: FFFFFF
- ColorProperty: 93
MainColor: 7A593E
Metallic: 545454
Smoothness: 545454
Reflection: 000000
Emission: 000000
Opacity: FFFFFF
- ColorProperty: 94
MainColor: B7B7B7
Metallic: 545454
Smoothness: 545454
Reflection: 000000
Emission: 000000
Opacity: FFFFFF
BlendShapes:
BodyTypeValue: -100
MuscleValue: -100

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: d1046c27eff3fc14784d6ca198746fed
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 6f7a77ca4aac89d48a5398bbab4f6b0b
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,167 @@
using UnityEngine;
using UnityEngine.UI;
using System.Collections.Generic;
public class ExpressionSwitcher : MonoBehaviour
{
private Animator _animator;
// Define a list of expression names (will be dynamically populated)
private List<string> _expressionNames = new List<string>();
private int _currentIndex = 0;
// Reference to the UI text to display the current emotion
[SerializeField] private Text _emotionText;
// Reference to the button to cycle expressions
[SerializeField] private Button _cycleButton;
// Reference to the UI slider to adjust transition time
[SerializeField] private Slider _transitionTimeSlider;
private float _transitionTime = 0.2f; // Default transition time
void Start()
{
_animator = GetComponent<Animator>();
// Ensure the Animator is assigned
if (_animator == null)
{
Debug.LogWarning("[ExpressionSwitcher] No Animator component found on the GameObject.");
return;
}
// Populate the expression names from the Animator states in the specified layer
PopulateExpressionNames();
// Debug: Check what was found
Debug.Log($"[ExpressionSwitcher] Found {_expressionNames.Count} expressions:");
foreach (var expr in _expressionNames)
Debug.Log($" - {expr}");
// Debug: Check the layer
int layerIndex = _animator.GetLayerIndex("Emotion_Additive");
Debug.Log($"[ExpressionSwitcher] Layer 'Emotion_Additive' index: {layerIndex}");
// Wire up the button
if (_cycleButton != null)
{
_cycleButton.onClick.AddListener(CycleExpressions);
Debug.Log("[ExpressionSwitcher] Button wired up successfully");
}
else
{
Debug.LogWarning("[ExpressionSwitcher] No button assigned in Inspector!");
}
// Ensure the slider is assigned
if (_transitionTimeSlider != null)
{
_transitionTimeSlider.minValue = 0.0f;
_transitionTimeSlider.maxValue = 1.0f;
_transitionTimeSlider.value = _transitionTime;
// Read the initial value from the slider to set the transition time
UpdateTransitionTime(_transitionTimeSlider.value);
// Add a listener to handle value changes
_transitionTimeSlider.onValueChanged.AddListener(UpdateTransitionTime);
}
}
private void PopulateExpressionNames()
{
RuntimeAnimatorController ac = _animator.runtimeAnimatorController;
if (ac != null)
{
Debug.Log($"[ExpressionSwitcher] Scanning {ac.animationClips.Length} animation clips...");
foreach (AnimationClip clip in ac.animationClips)
{
if (clip.name.Contains("A_FacePose") && !_expressionNames.Contains(clip.name) && !clip.name.Contains("Neutral"))
{
_expressionNames.Add(clip.name);
}
}
}
else
{
Debug.LogError("[ExpressionSwitcher] AnimatorController is not found.");
}
}
public void CycleExpressions()
{
Debug.Log("[ExpressionSwitcher] CycleExpressions() called");
if (_animator == null)
{
Debug.LogError("[ExpressionSwitcher] Animator is null!");
return;
}
if (_expressionNames.Count == 0)
{
Debug.LogError("[ExpressionSwitcher] No expressions found in list!");
return;
}
string layerName = "Emotion_Additive";
int layerIndex = _animator.GetLayerIndex(layerName);
if (layerIndex == -1)
{
Debug.LogError($"[ExpressionSwitcher] Layer '{layerName}' not found!");
return;
}
string expressionName = _expressionNames[_currentIndex];
int stateHash = Animator.StringToHash(expressionName);
bool hasState = _animator.HasState(layerIndex, stateHash);
Debug.Log($"[ExpressionSwitcher] Trying expression: '{expressionName}' (index {_currentIndex})");
Debug.Log($"[ExpressionSwitcher] State hash: {stateHash}, HasState: {hasState}");
if (hasState)
{
_animator.CrossFadeInFixedTime(expressionName, _transitionTime, layerIndex);
Debug.Log($"[ExpressionSwitcher] Playing '{expressionName}'");
}
else
{
Debug.LogWarning($"[ExpressionSwitcher] State '{expressionName}' not found, trying 'Neutral'");
_animator.CrossFadeInFixedTime("Neutral", _transitionTime, layerIndex);
}
// Update the emotion text after playing the animation
UpdateEmotionText();
// Move to the next expression in the list
_currentIndex = (_currentIndex + 1) % _expressionNames.Count;
}
private void UpdateEmotionText()
{
if (_emotionText != null && _expressionNames.Count > 0)
{
string expressionName = _expressionNames[_currentIndex];
int underscoreIndex = expressionName.LastIndexOf('_');
if (underscoreIndex != -1 && underscoreIndex < expressionName.Length - 1)
{
_emotionText.text = expressionName.Substring(underscoreIndex + 1);
}
else
{
_emotionText.text = expressionName; // Fallback if no underscore found
}
}
}
private void UpdateTransitionTime(float value)
{
_transitionTime = value;
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 956373788f9dd55489810c0d6e6d9918
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,140 @@
using UnityEngine;
using UnityEngine.UI;
public class RandomisedLayerWeight : MonoBehaviour
{
[SerializeField] private Animator animator;
[Header("Random Variance Settings")]
[SerializeField, Range(0f, 1f)] private float maxRandomVariance = 0.5f;
[SerializeField] private Slider randomVarianceSlider;
[SerializeField] private Text maxRandomVarianceText; // UI Text to display maxRandomVariance
[Header("Layer Weight Settings")] // Changed header name to "Layer Weight Settings"
[SerializeField, Range(0f, 1f)] private float layerWeight = 1f; // Changed variable name to layerWeight
[SerializeField] private Slider layerWeightSlider; // Changed slider name to layerWeightSlider
[SerializeField] private Text layerWeightText; // Changed UI Text name to layerWeightText
[Header("Transition Settings")]
[SerializeField] private string layerName = "Emotion_Additive"; // Adjust this layer name in the Inspector
[SerializeField] private float averageTransitionTime = 0.4f;
[SerializeField] private float transitionVariationAmount = 0.3f;
[Header("Hold Settings")]
[SerializeField] private float averageHoldTime = 1.0f;
[SerializeField] private float holdVariationAmount = 1.0f;
private int layerIndex;
private float currentWeight = 0f;
private float targetWeight = 0f;
private float transitionTimer = 0f;
private float holdTimer = 0f;
void Start()
{
if (animator == null)
{
Debug.LogError("Animator component is not assigned.");
enabled = false;
return;
}
layerIndex = animator.GetLayerIndex(layerName);
if (layerIndex == -1)
{
Debug.LogError($"Layer '{layerName}' not found in the Animator.");
enabled = false;
return;
}
// Initialize sliders and UI Texts
if (randomVarianceSlider != null)
{
randomVarianceSlider.value = maxRandomVariance;
randomVarianceSlider.onValueChanged.AddListener(SetMaxRandomVariance);
}
if (layerWeightSlider != null) // Changed to layerWeightSlider
{
layerWeightSlider.value = layerWeight; // Changed to layerWeight
layerWeightSlider.onValueChanged.AddListener(SetLayerWeight); // Changed to SetLayerWeight
}
// Initialize UI Texts
if (maxRandomVarianceText != null)
{
maxRandomVarianceText.text = $"Random Variance: {maxRandomVariance:P0}";
}
if (layerWeightText != null) // Changed to layerWeightText
{
layerWeightText.text = $"Layer Weight: {layerWeight:P0}"; // Changed to Layer Weight
}
// Initialize the weight to a random value between 0 and 1
currentWeight = Random.value;
animator.SetLayerWeight(layerIndex, currentWeight * layerWeight); // Changed to layerWeight
// Start the initial transition
StartTransition();
}
void Update()
{
// Update timers
transitionTimer -= Time.deltaTime;
holdTimer -= Time.deltaTime;
// Check if it's time to transition to a new weight
if (transitionTimer <= 0f)
{
StartTransition();
}
// Otherwise, check if it's time to hold the current weight
else if (holdTimer <= 0f)
{
holdTimer = GenerateHoldTime();
}
// Smoothly adjust the weight towards the target weight
currentWeight = Mathf.Lerp(currentWeight, targetWeight, Time.deltaTime / averageTransitionTime);
animator.SetLayerWeight(layerIndex, currentWeight * layerWeight); // Changed to layerWeight
}
private void StartTransition()
{
// Set a new target weight
targetWeight = Random.Range(Mathf.Max(0f, 1f - maxRandomVariance), 1f) * layerWeight; // Changed to layerWeight
transitionTimer = GenerateTransitionTime();
}
private float GenerateTransitionTime()
{
float variation = Random.Range(-transitionVariationAmount, transitionVariationAmount);
return Mathf.Max(0f, averageTransitionTime + variation);
}
private float GenerateHoldTime()
{
float variation = Random.Range(-holdVariationAmount, holdVariationAmount);
return Mathf.Max(0f, averageHoldTime + variation);
}
private void SetMaxRandomVariance(float value)
{
maxRandomVariance = value;
if (maxRandomVarianceText != null)
{
maxRandomVarianceText.text = $"Random Variance: {maxRandomVariance:P0}";
}
}
private void SetLayerWeight(float value) // Changed method name to SetLayerWeight
{
layerWeight = value; // Changed to layerWeight
if (layerWeightText != null) // Changed to layerWeightText
{
layerWeightText.text = $"Layer Weight: {layerWeight:P0}"; // Changed to Layer Weight
}
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 3148f125cb16eb947885efc01b9cdff9
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,223 @@
using Synty.SidekickCharacters.API;
using Synty.SidekickCharacters.Database;
using Synty.SidekickCharacters.Database.DTO;
using Synty.SidekickCharacters.Enums;
using Synty.SidekickCharacters.Utils;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
using Random = UnityEngine.Random;
namespace Synty.SidekickCharacters.Demo
{
/// <summary>
/// An example script to show how to interact with the Sidekick API in regards to colors at runtime.
/// </summary>
public class RuntimeColorDemo : MonoBehaviour
{
private readonly string _OUTPUT_MODEL_NAME = "Sidekick Character";
private Dictionary<string, SidekickPartPreset> _availableHeadPresetDictionary = new Dictionary<string, SidekickPartPreset>();
private Dictionary<string, SidekickPartPreset> _availableUpperBodyPresetDictionary = new Dictionary<string, SidekickPartPreset>();
private Dictionary<string, SidekickPartPreset> _availableLowerBodyPresetDictionary = new Dictionary<string, SidekickPartPreset>();
private List<SidekickBodyShapePreset> _availableBodyShapes = new List<SidekickBodyShapePreset>();
private List<SidekickColorPreset> _availableColorPresets = new List<SidekickColorPreset>();
private int _currentHeadPresetIndex = 0;
private int _currentUpperBodyPresetIndex = 0;
private int _currentLowerBodyPresetIndex = 0;
private int _currentBodyShapePresetIndex = 0;
private int _currentColorPresetIndex = 0;
private DatabaseManager _dbManager;
private SidekickRuntime _sidekickRuntime;
private Dictionary<CharacterPartType, Dictionary<string, SidekickPart>> _partLibrary;
public TextMeshProUGUI _loadingText;
/// <inheritdoc cref="Start"/>
void Start()
{
_dbManager = new DatabaseManager();
GameObject model = Resources.Load<GameObject>("Meshes/SK_BaseModel");
Material material = Resources.Load<Material>("Materials/M_BaseMaterial");
_sidekickRuntime = new SidekickRuntime(model, material, null, _dbManager);
SidekickRuntime.PopulateToolData(_sidekickRuntime);
_partLibrary = _sidekickRuntime.MappedPartDictionary;
foreach (PartGroup partGroup in Enum.GetValues(typeof(PartGroup)))
{
// only filter head part presets by species
List<SidekickPartPreset> presets = SidekickPartPreset.GetAllByGroup(_dbManager, partGroup);
List<string> presetNames = new List<string>();
if (presets.Count < 1)
{
Debug.LogWarning("No parts found for " + partGroup + ". Please add at least 1 Sidekicks content pack.");
continue;
}
foreach (SidekickPartPreset preset in presets)
{
switch (partGroup)
{
case PartGroup.Head:
_availableHeadPresetDictionary.Add(preset.Name, preset);
break;
case PartGroup.UpperBody:
_availableUpperBodyPresetDictionary.Add(preset.Name, preset);
break;
case PartGroup.LowerBody:
_availableLowerBodyPresetDictionary.Add(preset.Name, preset);
break;
}
presetNames.Add(preset.Name);
}
}
_availableBodyShapes = SidekickBodyShapePreset.GetAll(_dbManager);
// An example of how to retrieve color presets from the database. To retrieve presets for other areas of the material, use the ColorGroup
// enum to retrieve other presets.
_availableColorPresets = SidekickColorPreset.GetAllByColorGroup(_dbManager, ColorGroup.Outfits);
_currentHeadPresetIndex = Random.Range(0, _availableHeadPresetDictionary.Count - 1);
_currentUpperBodyPresetIndex = Random.Range(0, _availableUpperBodyPresetDictionary.Count - 1);
_currentLowerBodyPresetIndex = Random.Range(0, _availableLowerBodyPresetDictionary.Count - 1);
_currentBodyShapePresetIndex = Random.Range(0, _availableBodyShapes.Count - 1);
_currentColorPresetIndex = Random.Range(0, _availableColorPresets.Count - 1);
_loadingText.enabled = false;
UpdateModel();
}
/// <summary>
/// Processes the change of the skin color on the character.
/// </summary>
/// <param name="image">The image tile that contains the color to change to.</param>
public void ProcessSkinColorChange(Image image)
{
ColorType colorType = ColorType.MainColor;
List<SidekickColorProperty> allProperties = SidekickColorProperty.GetAll(_dbManager);
List<SidekickColorProperty> selectedProperties = allProperties.FindAll(scp => scp.Name.ToLower().Contains("skin"));
foreach (SidekickColorProperty property in selectedProperties)
{
SidekickColorRow row = new SidekickColorRow()
{
ColorProperty = property,
MainColor = ColorUtility.ToHtmlStringRGB(image.color),
};
_sidekickRuntime.UpdateColor(colorType, row);
}
}
/// <summary>
/// Processes the change of the outfit color on the character.
/// </summary>
/// <param name="image">The image tile that contains the color to change to.</param>
public void ProcessOutfitColorChange(Image image)
{
ColorType colorType = ColorType.MainColor;
List<SidekickColorProperty> allProperties = SidekickColorProperty.GetAll(_dbManager);
List<SidekickColorProperty> selectedProperties = allProperties.FindAll(scp => scp.Name.ToLower().Contains("outfit"));
foreach (SidekickColorProperty property in selectedProperties)
{
SidekickColorRow row = new SidekickColorRow()
{
ColorProperty = property,
MainColor = ColorUtility.ToHtmlStringRGB(image.color),
};
_sidekickRuntime.UpdateColor(colorType, row);
}
}
/// <summary>
/// Updates the created character model.
/// </summary>
private void UpdateModel()
{
// If there aren't enough presets, stop trying to update the model.
if (_availableHeadPresetDictionary.Values.Count < 1
|| _availableUpperBodyPresetDictionary.Values.Count < 1
|| _availableLowerBodyPresetDictionary.Values.Count < 1)
{
return;
}
// Create and populate the list of parts to use from the parts list and the selected colors.
List<SidekickPartPreset> presets = new List<SidekickPartPreset>()
{
_availableHeadPresetDictionary.Values.ToArray()[_currentHeadPresetIndex],
_availableUpperBodyPresetDictionary.Values.ToArray()[_currentUpperBodyPresetIndex],
_availableLowerBodyPresetDictionary.Values.ToArray()[_currentLowerBodyPresetIndex]
};
List<SkinnedMeshRenderer> partsToUse = new List<SkinnedMeshRenderer>();
foreach (SidekickPartPreset preset in presets)
{
List<SidekickPartPresetRow> rows = SidekickPartPresetRow.GetAllByPreset(_dbManager, preset);
foreach (SidekickPartPresetRow row in rows)
{
if (!string.IsNullOrEmpty(row.PartName))
{
CharacterPartType type = Enum.Parse<CharacterPartType>(CharacterPartTypeUtils.GetTypeNameFromShortcode(row.PartType));
Dictionary<string, SidekickPart> partLocationDictionary = _partLibrary[type];
GameObject selectedPart = partLocationDictionary[row.PartName].GetPartModel();
SkinnedMeshRenderer selectedMesh = selectedPart.GetComponentInChildren<SkinnedMeshRenderer>();
partsToUse.Add(selectedMesh);
}
}
}
SidekickBodyShapePreset bodyPreset = _availableBodyShapes[_currentBodyShapePresetIndex];
_sidekickRuntime.BodyTypeBlendValue = bodyPreset.BodyType;
_sidekickRuntime.BodySizeHeavyBlendValue = bodyPreset.BodySize > 0 ? bodyPreset.BodySize : 0;
_sidekickRuntime.BodySizeSkinnyBlendValue = bodyPreset.BodySize < 0 ? -bodyPreset.BodySize : 0;
_sidekickRuntime.MusclesBlendValue = bodyPreset.Musculature;
List<SidekickColorPresetRow> colorRows = SidekickColorPresetRow.GetAllByPreset(_dbManager, _availableColorPresets[_currentColorPresetIndex]);
foreach (SidekickColorPresetRow row in colorRows)
{
SidekickColorRow colorRow = SidekickColorRow.CreateFromPresetColorRow(row);
foreach (ColorType property in Enum.GetValues(typeof(ColorType)))
{
_sidekickRuntime.UpdateColor(property, colorRow);
}
}
// Check for an existing copy of the model, if it exists, delete it so that we don't end up with duplicates.
GameObject character = GameObject.Find(_OUTPUT_MODEL_NAME);
if (character != null)
{
Destroy(character);
}
// Create a new character using the selected parts using the Sidekicks API.
character = _sidekickRuntime.CreateCharacter(_OUTPUT_MODEL_NAME, partsToUse, false, true);
}
/// <summary>
/// Gets a resource path for using with Resources.Load() from a full path.
/// </summary>
/// <param name="fullPath">The full path to get the resource path from.</param>
/// <returns>The resource path.</returns>
private string GetResourcePath(string fullPath)
{
string directory = Path.GetDirectoryName(fullPath);
int startIndex = directory.IndexOf("Resources") + 10;
directory = directory.Substring(startIndex, directory.Length - startIndex);
return Path.Combine(directory, Path.GetFileNameWithoutExtension(fullPath));
}
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: d2982d8e931cbe9479bbce782487fa75
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,380 @@
using Synty.SidekickCharacters.API;
using Synty.SidekickCharacters.Database;
using Synty.SidekickCharacters.Database.DTO;
using Synty.SidekickCharacters.Enums;
using Synty.SidekickCharacters.Utils;
using System.Collections.Generic;
using System.Linq;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
using Random = UnityEngine.Random;
namespace Synty.SidekickCharacters.Demo
{
/// <summary>
/// An example script to show how to interact with the Sidekick API in regards to parts at runtime.
/// </summary>
public class RuntimePartsDemo : MonoBehaviour
{
private readonly string _OUTPUT_MODEL_NAME = "Sidekick Character";
Dictionary<CharacterPartType, int> _partIndexDictionary = new Dictionary<CharacterPartType, int>();
Dictionary<CharacterPartType, Dictionary<string, SidekickPart>> _availablePartDictionary = new Dictionary<CharacterPartType, Dictionary<string, SidekickPart>>();
private DatabaseManager _dbManager;
private SidekickRuntime _sidekickRuntime;
private Dictionary<CharacterPartType, Dictionary<string, SidekickPart>> _partLibrary;
public TextMeshProUGUI _loadingText;
/// <inheritdoc cref="Start"/>
void Start()
{
// Create a new instance of the database manager to access database content.
_dbManager = new DatabaseManager();
// Load the base model and material required to create an instance of the Sidekick Runtime API.
GameObject model = Resources.Load<GameObject>("Meshes/SK_BaseModel");
Material material = Resources.Load<Material>("Materials/M_BaseMaterial");
_sidekickRuntime = new SidekickRuntime(model, material, null, _dbManager);
// Populate the parts list for easy access.
SidekickRuntime.PopulateToolData(_sidekickRuntime);
_partLibrary = _sidekickRuntime.MappedPartDictionary;
// For this example we are only interested in Upper Body parts, so we filter the list of all parts to only get the ones we want.
List<CharacterPartType> upperBodyParts = PartGroup.UpperBody.GetPartTypes();
foreach (CharacterPartType type in upperBodyParts)
{
_availablePartDictionary.Add(type, _partLibrary[type]);
_partIndexDictionary.Add(type, Random.Range(0, _availablePartDictionary[type].Count - 1));
}
_loadingText.enabled = false;
UpdateModel();
}
/// <summary>
/// Handles the click on the forward button for the Torso part.
/// </summary>
public void ForwardTorso()
{
int index = _partIndexDictionary[CharacterPartType.Torso];
index++;
if (index >= _availablePartDictionary[CharacterPartType.Torso].Count)
{
index = 0;
}
_partIndexDictionary[CharacterPartType.Torso] = index;
UpdateModel();
}
/// <summary>
/// Handles the click on the backward button for the Torso part.
/// </summary>
public void BackwardTorso()
{
int index = _partIndexDictionary[CharacterPartType.Torso];
index--;
if (index < 0)
{
index = _availablePartDictionary[CharacterPartType.Torso].Count - 1;
}
_partIndexDictionary[CharacterPartType.Torso] = index;
UpdateModel();
}
/// <summary>
/// Handles the click on the forward button for the ArmUpperLeft part.
/// </summary>
public void ForwardUpperArmLeft()
{
int index = _partIndexDictionary[CharacterPartType.ArmUpperLeft];
index++;
if (index >= _availablePartDictionary[CharacterPartType.ArmUpperLeft].Count)
{
index = 0;
}
_partIndexDictionary[CharacterPartType.ArmUpperLeft] = index;
UpdateModel();
}
/// <summary>
/// Handles the click on the backward button for the ArmUpperLeft part.
/// </summary>
public void BackwardUpperArmLeft()
{
int index = _partIndexDictionary[CharacterPartType.ArmUpperLeft];
index--;
if (index < 0)
{
index = _availablePartDictionary[CharacterPartType.ArmUpperLeft].Count - 1;
}
_partIndexDictionary[CharacterPartType.ArmUpperLeft] = index;
UpdateModel();
}
/// <summary>
/// Handles the click on the forward button for the ArmUpperRight part.
/// </summary>
public void ForwardUpperArmRight()
{
int index = _partIndexDictionary[CharacterPartType.ArmUpperRight];
index++;
if (index >= _availablePartDictionary[CharacterPartType.ArmUpperRight].Count)
{
index = 0;
}
_partIndexDictionary[CharacterPartType.ArmUpperRight] = index;
UpdateModel();
}
/// <summary>
/// Handles the click on the backward button for the ArmUpperRight part.
/// </summary>
public void BackwardUpperArmRight()
{
int index = _partIndexDictionary[CharacterPartType.ArmUpperRight];
index--;
if (index < 0)
{
index = _availablePartDictionary[CharacterPartType.ArmUpperRight].Count - 1;
}
_partIndexDictionary[CharacterPartType.ArmUpperRight] = index;
UpdateModel();
}
/// <summary>
/// Handles the click on the forward button for the ArmLowerLeft part.
/// </summary>
public void ForwardLowerArmLeft()
{
int index = _partIndexDictionary[CharacterPartType.ArmLowerLeft];
index++;
if (index >= _availablePartDictionary[CharacterPartType.ArmLowerLeft].Count)
{
index = 0;
}
_partIndexDictionary[CharacterPartType.ArmLowerLeft] = index;
UpdateModel();
}
/// <summary>
/// Handles the click on the backward button for the ArmLowerLeft part.
/// </summary>
public void BackwardLowerArmLeft()
{
int index = _partIndexDictionary[CharacterPartType.ArmLowerLeft];
index--;
if (index < 0)
{
index = _availablePartDictionary[CharacterPartType.ArmLowerLeft].Count - 1;
}
_partIndexDictionary[CharacterPartType.ArmLowerLeft] = index;
UpdateModel();
}
/// <summary>
/// Handles the click on the forward button for the ArmLowerRight part.
/// </summary>
public void ForwardLowerArmRight()
{
int index = _partIndexDictionary[CharacterPartType.ArmLowerRight];
index++;
if (index >= _availablePartDictionary[CharacterPartType.ArmLowerRight].Count)
{
index = 0;
}
_partIndexDictionary[CharacterPartType.ArmLowerRight] = index;
UpdateModel();
}
/// <summary>
/// Handles the click on the backward button for the ArmLowerRight part.
/// </summary>
public void BackwardLowerArmRight()
{
int index = _partIndexDictionary[CharacterPartType.ArmLowerRight];
index--;
if (index < 0)
{
index = _availablePartDictionary[CharacterPartType.ArmLowerRight].Count - 1;
}
_partIndexDictionary[CharacterPartType.ArmLowerRight] = index;
UpdateModel();
}
/// <summary>
/// Handles the click on the forward button for the HandLeft part.
/// </summary>
public void ForwardHandLeft()
{
int index = _partIndexDictionary[CharacterPartType.HandLeft];
index++;
if (index >= _availablePartDictionary[CharacterPartType.HandLeft].Count)
{
index = 0;
}
_partIndexDictionary[CharacterPartType.HandLeft] = index;
UpdateModel();
}
/// <summary>
/// Handles the click on the backward button for the HandLeft part.
/// </summary>
public void BackwardHandLeft()
{
int index = _partIndexDictionary[CharacterPartType.HandLeft];
index--;
if (index < 0)
{
index = _availablePartDictionary[CharacterPartType.HandLeft].Count - 1;
}
_partIndexDictionary[CharacterPartType.HandLeft] = index;
UpdateModel();
}
/// <summary>
/// Handles the click on the forward button for the HandRight part.
/// </summary>
public void ForwardHandRight()
{
int index = _partIndexDictionary[CharacterPartType.HandRight];
index++;
if (index >= _availablePartDictionary[CharacterPartType.HandRight].Count)
{
index = 0;
}
_partIndexDictionary[CharacterPartType.HandRight] = index;
UpdateModel();
}
/// <summary>
/// Handles the click on the backward button for the HandRight part.
/// </summary>
public void BackwardHandRight()
{
int index = _partIndexDictionary[CharacterPartType.HandRight];
index--;
if (index < 0)
{
index = _availablePartDictionary[CharacterPartType.HandRight].Count - 1;
}
_partIndexDictionary[CharacterPartType.HandRight] = index;
UpdateModel();
}
/// <summary>
/// Handles the click on the forward button for the AttachmentBack part.
/// </summary>
public void ForwardBackAttachment()
{
int index = _partIndexDictionary[CharacterPartType.AttachmentBack];
index++;
if (index >= _availablePartDictionary[CharacterPartType.AttachmentBack].Count)
{
index = 0;
}
_partIndexDictionary[CharacterPartType.AttachmentBack] = index;
UpdateModel();
}
/// <summary>
/// Handles the click on the backward button for the AttachmentBack part.
/// </summary>
public void BackwardBackAttachment()
{
int index = _partIndexDictionary[CharacterPartType.AttachmentBack];
index--;
if (index < 0)
{
index = _availablePartDictionary[CharacterPartType.AttachmentBack].Count - 1;
}
_partIndexDictionary[CharacterPartType.AttachmentBack] = index;
UpdateModel();
}
/// <summary>
/// Updates the body size blends based on the slider values.
/// </summary>
/// <param name="slider">The UI slider to get the values from.</param>
public void UpdateBodySize(Slider slider)
{
// If the slider is greater than 0, then we update the Heavy blend and zero the Skinny.
if (slider.value > 0)
{
_sidekickRuntime.BodySizeHeavyBlendValue = slider.value;
_sidekickRuntime.BodySizeSkinnyBlendValue = 0;
}
// If the slider is 0 or below, we zero the Heavy blend, then we update the Skinny blend.
else
{
_sidekickRuntime.BodySizeHeavyBlendValue = 0;
_sidekickRuntime.BodySizeSkinnyBlendValue = -slider.value;
}
UpdateModel();
}
/// <summary>
/// Updates the created character model.
/// </summary>
private void UpdateModel()
{
// Create and populate the list of parts to use from the parts list.
List<SkinnedMeshRenderer> partsToUse = new List<SkinnedMeshRenderer>();
foreach (KeyValuePair<CharacterPartType, Dictionary<string, SidekickPart>> entry in _availablePartDictionary)
{
int index = _partIndexDictionary[entry.Key];
List<SidekickPart> parts = entry.Value.Values.ToList();
GameObject partContainer = null;
if (parts.Count > 0 && index < parts.Count)
{
if (index > parts.Count)
{
index = parts.Count - 1;
}
partContainer = parts[index].GetPartModel();
}
if (partContainer != null)
{
partsToUse.Add(partContainer.GetComponentInChildren<SkinnedMeshRenderer>());
}
}
// Check for an existing copy of the model, if it exists, delete it so that we don't end up with duplicates.
GameObject character = GameObject.Find(_OUTPUT_MODEL_NAME);
if (character != null)
{
Destroy(character);
}
// Create a new character using the selected parts using the Sidekicks API.
character = _sidekickRuntime.CreateCharacter(_OUTPUT_MODEL_NAME, partsToUse, false, true);
}
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 2f5d22b950f039748823633052820ad9
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,325 @@
using Synty.SidekickCharacters.API;
using Synty.SidekickCharacters.Database;
using Synty.SidekickCharacters.Database.DTO;
using Synty.SidekickCharacters.Enums;
using Synty.SidekickCharacters.Utils;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using TMPro;
using UnityEngine;
using Random = UnityEngine.Random;
namespace Synty.SidekickCharacters.Demo
{
/// <summary>
/// An example script to show how to interact with the Sidekick API in regards to presets at runtime.
/// </summary>
public class RuntimePresetDemo : MonoBehaviour
{
private readonly string _OUTPUT_MODEL_NAME = "Sidekick Character";
private Dictionary<string, SidekickPartPreset> _availableHeadPresetDictionary = new Dictionary<string, SidekickPartPreset>();
private Dictionary<string, SidekickPartPreset> _availableUpperBodyPresetDictionary = new Dictionary<string, SidekickPartPreset>();
private Dictionary<string, SidekickPartPreset> _availableLowerBodyPresetDictionary = new Dictionary<string, SidekickPartPreset>();
private List<SidekickBodyShapePreset> _availableBodyShapes = new List<SidekickBodyShapePreset>();
private List<SidekickColorPreset> _availableColorPresets = new List<SidekickColorPreset>();
private int _currentHeadPresetIndex = 0;
private int _currentUpperBodyPresetIndex = 0;
private int _currentLowerBodyPresetIndex = 0;
private int _currentBodyShapePresetIndex = 0;
private int _currentColorPresetIndex = 0;
private DatabaseManager _dbManager;
private SidekickRuntime _sidekickRuntime;
private Dictionary<CharacterPartType, Dictionary<string, SidekickPart>> _partLibrary;
public TextMeshProUGUI _loadingText;
/// <inheritdoc cref="Start"/>
void Start()
{
_dbManager = new DatabaseManager();
GameObject model = Resources.Load<GameObject>("Meshes/SK_BaseModel");
Material material = Resources.Load<Material>("Materials/M_BaseMaterial");
_sidekickRuntime = new SidekickRuntime(model, material, null, _dbManager);
SidekickRuntime.PopulateToolData(_sidekickRuntime);
_partLibrary = _sidekickRuntime.MappedPartDictionary;
foreach (PartGroup partGroup in Enum.GetValues(typeof(PartGroup)))
{
// only filter head part presets by species
List<SidekickPartPreset> presets = SidekickPartPreset.GetAllByGroup(_dbManager, partGroup);
List<string> presetNames = new List<string>();
if (presets.Count < 1)
{
Debug.LogWarning("No parts found for " + partGroup + ". Please add at least 1 Sidekicks content pack.");
continue;
}
foreach (SidekickPartPreset preset in presets)
{
if (preset.HasAllPartsAvailable(_dbManager))
{
switch (partGroup)
{
case PartGroup.Head:
_availableHeadPresetDictionary.Add(preset.Name, preset);
break;
case PartGroup.UpperBody:
_availableUpperBodyPresetDictionary.Add(preset.Name, preset);
break;
case PartGroup.LowerBody:
_availableLowerBodyPresetDictionary.Add(preset.Name, preset);
break;
}
presetNames.Add(preset.Name);
}
}
}
_availableBodyShapes = SidekickBodyShapePreset.GetAll(_dbManager);
// An example of how to retrieve color presets from the database. To retrieve presets for other areas of the material, use the ColorGroup
// enum to retrieve other presets.
_availableColorPresets = SidekickColorPreset.GetAllByColorGroup(_dbManager, ColorGroup.Outfits);
_currentHeadPresetIndex = Random.Range(0, _availableHeadPresetDictionary.Count - 1);
_currentUpperBodyPresetIndex = Random.Range(0, _availableUpperBodyPresetDictionary.Count - 1);
_currentLowerBodyPresetIndex = Random.Range(0, _availableLowerBodyPresetDictionary.Count - 1);
_currentBodyShapePresetIndex = Random.Range(0, _availableBodyShapes.Count - 1);
_currentColorPresetIndex = Random.Range(0, _availableColorPresets.Count - 1);
_loadingText.enabled = false;
UpdateModel();
}
/// <summary>
/// Handles the click on the forward button for the Head Preset.
/// </summary>
public void ForwardHeadPreset()
{
_currentHeadPresetIndex++;
if (_currentHeadPresetIndex >= _availableHeadPresetDictionary.Count)
{
_currentHeadPresetIndex = 0;
}
UpdateModel();
}
/// <summary>
/// Handles the click on the backward button for the Head Preset.
/// </summary>
public void BackwardHeadPreset()
{
_currentHeadPresetIndex--;
if (_currentHeadPresetIndex < 0)
{
_currentHeadPresetIndex = _availableHeadPresetDictionary.Count - 1;
}
UpdateModel();
}
/// <summary>
/// Handles the click on the forward button for the Upper Body Preset.
/// </summary>
public void ForwardUpperBodyPreset()
{
_currentUpperBodyPresetIndex++;
if (_currentUpperBodyPresetIndex >= _availableUpperBodyPresetDictionary.Count)
{
_currentUpperBodyPresetIndex = 0;
}
UpdateModel();
}
/// <summary>
/// Handles the click on the backward button for the Upper Body Preset.
/// </summary>
public void BackwardUpperBodyPreset()
{
_currentUpperBodyPresetIndex--;
if (_currentUpperBodyPresetIndex < 0)
{
_currentUpperBodyPresetIndex = _availableUpperBodyPresetDictionary.Count - 1;
}
UpdateModel();
}
/// <summary>
/// Handles the click on the forward button for the Lower Body Preset.
/// </summary>
public void ForwardLowerBodyPreset()
{
_currentLowerBodyPresetIndex++;
if (_currentLowerBodyPresetIndex >= _availableLowerBodyPresetDictionary.Count)
{
_currentLowerBodyPresetIndex = 0;
}
UpdateModel();
}
/// <summary>
/// Handles the click on the backward button for the Lower Body Preset.
/// </summary>
public void BackwardLowerBodyPreset()
{
_currentLowerBodyPresetIndex--;
if (_currentLowerBodyPresetIndex < 0)
{
_currentLowerBodyPresetIndex = _availableLowerBodyPresetDictionary.Count - 1;
}
UpdateModel();
}
/// <summary>
/// Handles the click on the forward button for the Body Shape Preset.
/// </summary>
public void ForwardBodyShapePreset()
{
_currentBodyShapePresetIndex++;
if (_currentBodyShapePresetIndex >= _availableBodyShapes.Count)
{
_currentBodyShapePresetIndex = 0;
}
UpdateModel();
}
/// <summary>
/// Handles the click on the backward button for the Body Shape Preset.
/// </summary>
public void BackwardBodyShapePreset()
{
_currentBodyShapePresetIndex--;
if (_currentBodyShapePresetIndex < 0)
{
_currentBodyShapePresetIndex = _availableBodyShapes.Count - 1;
}
UpdateModel();
}
/// <summary>
/// Handles the click on the forward button for the Color Preset.
/// </summary>
public void ForwardColorPreset()
{
_currentColorPresetIndex++;
if (_currentColorPresetIndex >= _availableColorPresets.Count)
{
_currentColorPresetIndex = 0;
}
UpdateModel();
}
/// <summary>
/// Handles the click on the backward button for the Color Preset.
/// </summary>
public void BackwardColorPreset()
{
_currentColorPresetIndex--;
if (_currentColorPresetIndex < 0)
{
_currentColorPresetIndex = _availableColorPresets.Count - 1;
}
UpdateModel();
}
/// <summary>
/// Updates the created character model.
/// </summary>
private void UpdateModel()
{
// If there aren't enough presets, stop trying to update the model.
if (_availableHeadPresetDictionary.Values.Count < 1
|| _availableUpperBodyPresetDictionary.Values.Count < 1
|| _availableLowerBodyPresetDictionary.Values.Count < 1)
{
return;
}
// Create and populate the list of parts to use from the parts list, and the selected presets.
List<SidekickPartPreset> presets = new List<SidekickPartPreset>()
{
_availableHeadPresetDictionary.Values.ToArray()[_currentHeadPresetIndex],
_availableUpperBodyPresetDictionary.Values.ToArray()[_currentUpperBodyPresetIndex],
_availableLowerBodyPresetDictionary.Values.ToArray()[_currentLowerBodyPresetIndex]
};
List<SkinnedMeshRenderer> partsToUse = new List<SkinnedMeshRenderer>();
foreach (SidekickPartPreset preset in presets)
{
List<SidekickPartPresetRow> rows = SidekickPartPresetRow.GetAllByPreset(_dbManager, preset);
foreach (SidekickPartPresetRow row in rows)
{
if (!string.IsNullOrEmpty(row.PartName))
{
CharacterPartType type = Enum.Parse<CharacterPartType>(CharacterPartTypeUtils.GetTypeNameFromShortcode(row.PartType));
Dictionary<string, SidekickPart> partLocationDictionary = _partLibrary[type];
GameObject selectedPart = partLocationDictionary[row.PartName].GetPartModel();
SkinnedMeshRenderer selectedMesh = selectedPart.GetComponentInChildren<SkinnedMeshRenderer>();
partsToUse.Add(selectedMesh);
}
}
}
SidekickBodyShapePreset bodyPreset = _availableBodyShapes[_currentBodyShapePresetIndex];
_sidekickRuntime.BodyTypeBlendValue = bodyPreset.BodyType;
_sidekickRuntime.BodySizeHeavyBlendValue = bodyPreset.BodySize > 0 ? bodyPreset.BodySize : 0;
_sidekickRuntime.BodySizeSkinnyBlendValue = bodyPreset.BodySize < 0 ? -bodyPreset.BodySize : 0;
_sidekickRuntime.MusclesBlendValue = bodyPreset.Musculature;
List<SidekickColorPresetRow> colorRows = SidekickColorPresetRow.GetAllByPreset(_dbManager, _availableColorPresets[_currentColorPresetIndex]);
foreach (SidekickColorPresetRow row in colorRows)
{
SidekickColorRow colorRow = SidekickColorRow.CreateFromPresetColorRow(row);
foreach (ColorType property in Enum.GetValues(typeof(ColorType)))
{
_sidekickRuntime.UpdateColor(property, colorRow);
}
}
// Check for an existing copy of the model, if it exists, delete it so that we don't end up with duplicates.
GameObject character = GameObject.Find(_OUTPUT_MODEL_NAME);
if (character != null)
{
Destroy(character);
}
// Create a new character using the selected parts using the Sidekicks API.
character = _sidekickRuntime.CreateCharacter(_OUTPUT_MODEL_NAME, partsToUse, false, true);
}
/// <summary>
/// Gets a resource path for using with Resources.Load() from a full path.
/// </summary>
/// <param name="fullPath">The full path to get the resource path from.</param>
/// <returns>The resource path.</returns>
private string GetResourcePath(string fullPath)
{
string directory = Path.GetDirectoryName(fullPath);
int startIndex = directory.IndexOf("Resources") + 10;
directory = directory.Substring(startIndex, directory.Length - startIndex);
return Path.Combine(directory, Path.GetFileNameWithoutExtension(fullPath));
}
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 7bd72354e145926468bfa3d99c0a2027
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 863a13d900446074089585364bf74080
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,37 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 19101, guid: 0000000000000000e000000000000000, type: 0}
m_Name: PanelSettings
m_EditorClassIdentifier:
themeUss: {fileID: -4733365628477956816, guid: 8d97d2b320bd88244b7e51fc720855c1, type: 3}
m_TargetTexture: {fileID: 0}
m_ScaleMode: 1
m_Scale: 1
m_ReferenceDpi: 96
m_FallbackDpi: 96
m_ReferenceResolution: {x: 1200, y: 800}
m_ScreenMatchMode: 0
m_Match: 0
m_SortingOrder: 0
m_TargetDisplay: 0
m_ClearDepthStencil: 1
m_ClearColor: 0
m_ColorClearValue: {r: 0, g: 0, b: 0, a: 0}
m_DynamicAtlasSettings:
m_MinAtlasSize: 64
m_MaxAtlasSize: 4096
m_MaxSubTextureSize: 64
m_ActiveFilters: 31
m_AtlasBlitShader: {fileID: 9101, guid: 0000000000000000f000000000000000, type: 0}
m_RuntimeShader: {fileID: 9100, guid: 0000000000000000f000000000000000, type: 0}
m_RuntimeWorldShader: {fileID: 9102, guid: 0000000000000000f000000000000000, type: 0}
textSettings: {fileID: 0}

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: ec8bb09653ed859489a335ed8bfe848b
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1 @@
@import url("unity-theme://default");

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 8d97d2b320bd88244b7e51fc720855c1
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 12388, guid: 0000000000000000e000000000000000, type: 0}
disableValidation: 0

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: ee9cfe142b8be624bbcd72995da15196
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

View File

@@ -0,0 +1,111 @@
fileFormatVersion: 2
guid: 2137801be76954a46bec3597f1eacfce
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 12
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMasterTextureLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 0
wrapV: 0
wrapW: 0
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
cookieLightType: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 32
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 808 B

View File

@@ -0,0 +1,111 @@
fileFormatVersion: 2
guid: a74e1ebcc376fac4290b2b150b96fce9
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 12
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMasterTextureLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 0
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
cookieLightType: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 32
resizeAlgorithm: 1
textureFormat: 3
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 738 B

View File

@@ -0,0 +1,111 @@
fileFormatVersion: 2
guid: 21c43e6b1238e6441bfb742288ef2b1e
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 12
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMasterTextureLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 0
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
cookieLightType: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 32
resizeAlgorithm: 1
textureFormat: 3
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: b8f19fc01a49efe42ad1b012889a098e
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 289acb7521ccf4841803fbe5986ce5db
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 8db3a684a07749b4bba8ad673ca2a0d7
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 81de6633263873d47a142aba54c9ee6a
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: d2a660917c78d6e4caa6a0f689295d6c
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 8bd797eaa781c9f40a9584f012eb5d56
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 9f9541e7c1502ba4fb0521a8fea6c033
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant: