2026-04-24 NPC 음성 다이얼로그 시스템

This commit is contained in:
2026-04-24 16:23:55 +09:00
parent 3ea92ba3f9
commit 305a911524
69 changed files with 1064 additions and 181 deletions

Binary file not shown.

View File

@@ -1,24 +1,99 @@
using System.Collections.Generic;
using UnityEngine.InputSystem;
using UnityEngine;
[RequireComponent(typeof(CharacterVoiceObject))]
public class DialogPlayer : MonoBehaviour
{
[SerializeField] private List<DialogGroup> _dialogGroups;
private Dictionary<string, DialogGroup> _dialogGroupMap;
private Animator _animator;
private void Awake()
{
_dialogGroupMap = new Dictionary<string, DialogGroup>();
foreach (var g in _dialogGroups)
{
_dialogGroupMap[g.DialogGroupName] = g;
}
_animator = GetComponentInChildren<Animator>();
}
public void VoicePlay(DialogNode node)
// 임시 테스트용
private void Update()
{
//CharacterVoiceObject speakerVoiceObject = FindSpeakerVoiceObject(node.Speaker);
//speakerVoiceObject.Play(node.Voice.Clip);
if (Keyboard.current != null && Keyboard.current.tKey.wasPressedThisFrame)
_ = Play("BlackDialogGroup1");
}
public async Awaitable Play(string groupName)
{
if (!_dialogGroupMap.TryGetValue(groupName, out var group))
{
Debug.LogWarning($"[DialogPlayer] 그룹 없음: {groupName}");
return;
}
var node = group.StartNode;
while (node != null)
{
await PlayNode(node);
if (node.Choices != null && node.Choices.Count > 0)
{
int picked = await WaitForChoice(node);
node = node.Choices[picked].DestinationNode;
}
else
{
node = node.Next;
}
}
Debug.Log("[DialogPlayer] 대화 종료");
}
private async Awaitable PlayNode(DialogNode node)
{
var speakerName = node.Speaker != null ? node.Speaker.Name : "(누구?)";
Debug.Log($"[{speakerName}] {node.TalkText}");
// 보이스 재생
if (node.Voice != null && node.Speaker != null)
{
var voiceObj = CharacterVoiceObject.Find(node.Speaker);
if (voiceObj != null && node.Voice.Clip != null)
voiceObj.Play(node.Voice.Clip);
}
if (node.Gesture != null)
_animator.CrossFade(node.Gesture.StateName, node.Gesture.CrossFadeDuration, node.Gesture.AnimationLayer);
if (node.Expression != null)
_animator.CrossFade(node.Expression.StateName, node.Expression.CrossFadeDuration, node.Expression.AnimationLayer);
// 대기 시간 결정
float wait = 0f;
if (node.Voice != null && node.Voice.Clip != null)
wait = node.Voice.Clip.length;
else
wait = node.LineDuration;
if (wait > 0f)
await Awaitable.WaitForSecondsAsync(wait);
else
await WaitForAdvanceInput(); // 수동 진행
}
private async Awaitable<int> WaitForChoice(DialogNode node)
{
// TODO: 선택지 UI 띄우기. 일단은 첫 번째 선택지 자동 선택 (테스트용)
Debug.Log("[DialogPlayer] 선택지 대기 — 일단 0번 자동 선택");
await Awaitable.WaitForSecondsAsync(0.5f);
return 0;
}
private async Awaitable WaitForAdvanceInput()
{
// TODO: VR 컨트롤러 버튼 입력 대기. 일단은 1초 대기
await Awaitable.WaitForSecondsAsync(1f);
}
}

View File

@@ -1,3 +1,4 @@
using System.Collections.Generic;
using UnityEngine;
public class CharacterVoiceObject : MonoBehaviour
@@ -5,5 +6,13 @@ public class CharacterVoiceObject : MonoBehaviour
public CharacterData Character;
public AudioSource VoiceSource;
private static readonly Dictionary<CharacterData, CharacterVoiceObject> _registry = new();
private void OnEnable() => _registry[Character] = this;
private void OnDisable() => _registry.Remove(Character);
public static CharacterVoiceObject Find(CharacterData data)
=> _registry.TryGetValue(data, out var obj) ? obj : null;
public void Play(AudioClip clip) => VoiceSource.PlayOneShot(clip);
}

View File

@@ -6,5 +6,5 @@ public class ExpressionData : ScriptableObject
[HideInInspector] public int AnimationLayer = 1;
public string StateName;
public float CrossFadeDuration = 0.2f;
public AnimationClip PreviewClip;
public AnimationClip AnimClip;
}

View File

@@ -6,5 +6,5 @@ public class GestureData : ScriptableObject
[HideInInspector] public int AnimationLayer = 0;
public string StateName;
public float CrossFadeDuration = 0.2f;
public AnimationClip PreviewClip;
public AnimationClip AnimClip;
}

View File

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

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 50b420ac79ce0ca41a44c7b25d91960d
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 7400000
userData:
assetBundleName:
assetBundleVariant:

View File

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

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 5834cf5a5d505a945b17050a98d48a34
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 7400000
userData:
assetBundleName:
assetBundleVariant:

View File

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

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 438dca033cef70140b31ac6489d91f6a
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 7400000
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 414bdd4516106e549890d2b2445322b2
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 7400000
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 4f45afc975f2bf14f96e9db9d82aeae2
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 7400000
userData:
assetBundleName:
assetBundleVariant:

View File

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

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 57bc236eb99ee73409211f0e6f13955d
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 7400000
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 3f2544ab2fde8944ea6900fbfd843780
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 7400000
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 7e0091ac4dc477c46b16e53a1ad810c0
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 7400000
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -1,7 +1,14 @@
fileFormatVersion: 2
guid: 4e72096e3b128df4e90c57ea0102872a
AssetOrigin:
serializedVersion: 1
productId: 277585
packageName: KAWAII ANIMATIONS 100
packageVersion: 1.10.3
assetPath: Assets/KAWAII_ANIMATIOMS_100/Assets/Animations/Speak/@KA_Speak04_Calm_Loop.FBX
uploadId: 903416
ModelImporter:
serializedVersion: 22200
serializedVersion: 24200
internalIDToNameTable: []
externalObjects: {}
materials:
@@ -16,8 +23,6 @@ ModelImporter:
optimizeGameObjects: 0
removeConstantScaleCurves: 0
motionNodeName:
rigImportErrors:
rigImportWarnings:
animationImportErrors:
animationImportWarnings:
animationRetargetingWarnings:
@@ -31,7 +36,36 @@ ModelImporter:
animationWrapMode: 0
extraExposedTransformPaths: []
extraUserProperties: []
clipAnimations: []
clipAnimations:
- serializedVersion: 16
name: FeMale_Calm
takeName: Unreal Take
internalID: 8993902097722301239
firstFrame: 0
lastFrame: 150
wrapMode: 0
orientationOffsetY: 0
level: 0
cycleOffset: 0
loop: 0
hasAdditiveReferencePose: 0
loopTime: 1
loopBlend: 0
loopBlendOrientation: 1
loopBlendPositionY: 1
loopBlendPositionXZ: 1
keepOriginalOrientation: 1
keepOriginalPositionY: 1
keepOriginalPositionXZ: 0
heightFromFeet: 0
mirror: 0
bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000
curves: []
events: []
transformMask: []
maskType: 3
maskSource: {instanceID: 0}
additiveReferencePoseFrame: 0
isReadable: 0
meshes:
lODScreenPercentages: []
@@ -58,6 +92,9 @@ ModelImporter:
maxBonesPerVertex: 4
minBoneWeight: 0.001
optimizeBones: 1
generateMeshLods: 0
meshLodGenerationFlags: 0
maximumMeshLod: -1
meshOptimizationFlags: -1
indexFormat: 0
secondaryUVAngleDistortion: 8
@@ -786,8 +823,7 @@ ModelImporter:
hasTranslationDoF: 1
hasExtraRoot: 1
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {fileID: 9000000, guid: d5317c42c7d79dd41b326383ba7a0871,
type: 3}
lastHumanDescriptionAvatarSource: {fileID: 9000000, guid: d5317c42c7d79dd41b326383ba7a0871, type: 3}
autoGenerateAvatarMappingIfUnspecified: 1
animationType: 3
humanoidOversampling: 1
@@ -799,10 +835,3 @@ ModelImporter:
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 277585
packageName: KAWAII ANIMATIONS 100
packageVersion: 1.10.3
assetPath: Assets/KAWAII_ANIMATIOMS_100/Assets/Animations/Speak/@KA_Speak04_Calm_Loop.FBX
uploadId: 903416

View File

@@ -1,149 +1,432 @@
fileFormatVersion: 2
guid: d7b8fde6ee17eda44951fddcaa6434a5
AssetOrigin:
serializedVersion: 1
productId: 150397
packageName: Anime Girl Idle Animations
packageVersion: 1.2.1
assetPath: Assets/AnimeGirlIdleAnimations/Animations/01_Idles/AGIA_Idle_think_01.fbx
uploadId: 440789
ModelImporter:
serializedVersion: 22
fileIDToRecycleName:
100000: //RootNode
100002: Ankle_L
100004: Ankle_R
100006: Chest_M
100008: Cup_L
100010: Cup_R
100012: Elbow_L
100014: Elbow_R
100016: Head_M
100018: HeadEnd_M
100020: Hip_L
100022: Hip_R
100024: IndexFinger1_L
100026: IndexFinger1_R
100028: IndexFinger2_L
100030: IndexFinger2_R
100032: IndexFinger3_L
100034: IndexFinger3_R
100036: IndexFinger4_L
100038: IndexFinger4_R
100040: Knee_L
100042: Knee_R
100044: MiddleFinger1_L
100046: MiddleFinger1_R
100048: MiddleFinger2_L
100050: MiddleFinger2_R
100052: MiddleFinger3_L
100054: MiddleFinger3_R
100056: MiddleFinger4_L
100058: MiddleFinger4_R
100060: Neck_M
100062: PinkyFinger1_L
100064: PinkyFinger1_R
100066: PinkyFinger2_L
100068: PinkyFinger2_R
100070: PinkyFinger3_L
100072: PinkyFinger3_R
100074: PinkyFinger4_L
100076: PinkyFinger4_R
100078: RingFinger1_L
100080: RingFinger1_R
100082: RingFinger2_L
100084: RingFinger2_R
100086: RingFinger3_L
100088: RingFinger3_R
100090: RingFinger4_L
100092: RingFinger4_R
100094: Root
100096: Root_M
100098: Scapula_L
100100: Scapula_R
100102: Shoulder_L
100104: Shoulder_R
100106: Spine1_M
100108: ThumbFinger1_L
100110: ThumbFinger1_R
100112: ThumbFinger2_L
100114: ThumbFinger2_R
100116: ThumbFinger3_L
100118: ThumbFinger3_R
100120: ThumbFinger4_L
100122: ThumbFinger4_R
100124: Toes_L
100126: Toes_R
100128: ToesEnd_L
100130: ToesEnd_R
100132: Wrist_L
100134: Wrist_R
400000: //RootNode
400002: Ankle_L
400004: Ankle_R
400006: Chest_M
400008: Cup_L
400010: Cup_R
400012: Elbow_L
400014: Elbow_R
400016: Head_M
400018: HeadEnd_M
400020: Hip_L
400022: Hip_R
400024: IndexFinger1_L
400026: IndexFinger1_R
400028: IndexFinger2_L
400030: IndexFinger2_R
400032: IndexFinger3_L
400034: IndexFinger3_R
400036: IndexFinger4_L
400038: IndexFinger4_R
400040: Knee_L
400042: Knee_R
400044: MiddleFinger1_L
400046: MiddleFinger1_R
400048: MiddleFinger2_L
400050: MiddleFinger2_R
400052: MiddleFinger3_L
400054: MiddleFinger3_R
400056: MiddleFinger4_L
400058: MiddleFinger4_R
400060: Neck_M
400062: PinkyFinger1_L
400064: PinkyFinger1_R
400066: PinkyFinger2_L
400068: PinkyFinger2_R
400070: PinkyFinger3_L
400072: PinkyFinger3_R
400074: PinkyFinger4_L
400076: PinkyFinger4_R
400078: RingFinger1_L
400080: RingFinger1_R
400082: RingFinger2_L
400084: RingFinger2_R
400086: RingFinger3_L
400088: RingFinger3_R
400090: RingFinger4_L
400092: RingFinger4_R
400094: Root
400096: Root_M
400098: Scapula_L
400100: Scapula_R
400102: Shoulder_L
400104: Shoulder_R
400106: Spine1_M
400108: ThumbFinger1_L
400110: ThumbFinger1_R
400112: ThumbFinger2_L
400114: ThumbFinger2_R
400116: ThumbFinger3_L
400118: ThumbFinger3_R
400120: ThumbFinger4_L
400122: ThumbFinger4_R
400124: Toes_L
400126: Toes_R
400128: ToesEnd_L
400130: ToesEnd_R
400132: Wrist_L
400134: Wrist_R
7400000: AGIA_Idle_think_01
9500000: //RootNode
serializedVersion: 24200
internalIDToNameTable:
- first:
1: 100000
second: //RootNode
- first:
1: 100002
second: Ankle_L
- first:
1: 100004
second: Ankle_R
- first:
1: 100006
second: Chest_M
- first:
1: 100008
second: Cup_L
- first:
1: 100010
second: Cup_R
- first:
1: 100012
second: Elbow_L
- first:
1: 100014
second: Elbow_R
- first:
1: 100016
second: Head_M
- first:
1: 100018
second: HeadEnd_M
- first:
1: 100020
second: Hip_L
- first:
1: 100022
second: Hip_R
- first:
1: 100024
second: IndexFinger1_L
- first:
1: 100026
second: IndexFinger1_R
- first:
1: 100028
second: IndexFinger2_L
- first:
1: 100030
second: IndexFinger2_R
- first:
1: 100032
second: IndexFinger3_L
- first:
1: 100034
second: IndexFinger3_R
- first:
1: 100036
second: IndexFinger4_L
- first:
1: 100038
second: IndexFinger4_R
- first:
1: 100040
second: Knee_L
- first:
1: 100042
second: Knee_R
- first:
1: 100044
second: MiddleFinger1_L
- first:
1: 100046
second: MiddleFinger1_R
- first:
1: 100048
second: MiddleFinger2_L
- first:
1: 100050
second: MiddleFinger2_R
- first:
1: 100052
second: MiddleFinger3_L
- first:
1: 100054
second: MiddleFinger3_R
- first:
1: 100056
second: MiddleFinger4_L
- first:
1: 100058
second: MiddleFinger4_R
- first:
1: 100060
second: Neck_M
- first:
1: 100062
second: PinkyFinger1_L
- first:
1: 100064
second: PinkyFinger1_R
- first:
1: 100066
second: PinkyFinger2_L
- first:
1: 100068
second: PinkyFinger2_R
- first:
1: 100070
second: PinkyFinger3_L
- first:
1: 100072
second: PinkyFinger3_R
- first:
1: 100074
second: PinkyFinger4_L
- first:
1: 100076
second: PinkyFinger4_R
- first:
1: 100078
second: RingFinger1_L
- first:
1: 100080
second: RingFinger1_R
- first:
1: 100082
second: RingFinger2_L
- first:
1: 100084
second: RingFinger2_R
- first:
1: 100086
second: RingFinger3_L
- first:
1: 100088
second: RingFinger3_R
- first:
1: 100090
second: RingFinger4_L
- first:
1: 100092
second: RingFinger4_R
- first:
1: 100094
second: Root
- first:
1: 100096
second: Root_M
- first:
1: 100098
second: Scapula_L
- first:
1: 100100
second: Scapula_R
- first:
1: 100102
second: Shoulder_L
- first:
1: 100104
second: Shoulder_R
- first:
1: 100106
second: Spine1_M
- first:
1: 100108
second: ThumbFinger1_L
- first:
1: 100110
second: ThumbFinger1_R
- first:
1: 100112
second: ThumbFinger2_L
- first:
1: 100114
second: ThumbFinger2_R
- first:
1: 100116
second: ThumbFinger3_L
- first:
1: 100118
second: ThumbFinger3_R
- first:
1: 100120
second: ThumbFinger4_L
- first:
1: 100122
second: ThumbFinger4_R
- first:
1: 100124
second: Toes_L
- first:
1: 100126
second: Toes_R
- first:
1: 100128
second: ToesEnd_L
- first:
1: 100130
second: ToesEnd_R
- first:
1: 100132
second: Wrist_L
- first:
1: 100134
second: Wrist_R
- first:
4: 400000
second: //RootNode
- first:
4: 400002
second: Ankle_L
- first:
4: 400004
second: Ankle_R
- first:
4: 400006
second: Chest_M
- first:
4: 400008
second: Cup_L
- first:
4: 400010
second: Cup_R
- first:
4: 400012
second: Elbow_L
- first:
4: 400014
second: Elbow_R
- first:
4: 400016
second: Head_M
- first:
4: 400018
second: HeadEnd_M
- first:
4: 400020
second: Hip_L
- first:
4: 400022
second: Hip_R
- first:
4: 400024
second: IndexFinger1_L
- first:
4: 400026
second: IndexFinger1_R
- first:
4: 400028
second: IndexFinger2_L
- first:
4: 400030
second: IndexFinger2_R
- first:
4: 400032
second: IndexFinger3_L
- first:
4: 400034
second: IndexFinger3_R
- first:
4: 400036
second: IndexFinger4_L
- first:
4: 400038
second: IndexFinger4_R
- first:
4: 400040
second: Knee_L
- first:
4: 400042
second: Knee_R
- first:
4: 400044
second: MiddleFinger1_L
- first:
4: 400046
second: MiddleFinger1_R
- first:
4: 400048
second: MiddleFinger2_L
- first:
4: 400050
second: MiddleFinger2_R
- first:
4: 400052
second: MiddleFinger3_L
- first:
4: 400054
second: MiddleFinger3_R
- first:
4: 400056
second: MiddleFinger4_L
- first:
4: 400058
second: MiddleFinger4_R
- first:
4: 400060
second: Neck_M
- first:
4: 400062
second: PinkyFinger1_L
- first:
4: 400064
second: PinkyFinger1_R
- first:
4: 400066
second: PinkyFinger2_L
- first:
4: 400068
second: PinkyFinger2_R
- first:
4: 400070
second: PinkyFinger3_L
- first:
4: 400072
second: PinkyFinger3_R
- first:
4: 400074
second: PinkyFinger4_L
- first:
4: 400076
second: PinkyFinger4_R
- first:
4: 400078
second: RingFinger1_L
- first:
4: 400080
second: RingFinger1_R
- first:
4: 400082
second: RingFinger2_L
- first:
4: 400084
second: RingFinger2_R
- first:
4: 400086
second: RingFinger3_L
- first:
4: 400088
second: RingFinger3_R
- first:
4: 400090
second: RingFinger4_L
- first:
4: 400092
second: RingFinger4_R
- first:
4: 400094
second: Root
- first:
4: 400096
second: Root_M
- first:
4: 400098
second: Scapula_L
- first:
4: 400100
second: Scapula_R
- first:
4: 400102
second: Shoulder_L
- first:
4: 400104
second: Shoulder_R
- first:
4: 400106
second: Spine1_M
- first:
4: 400108
second: ThumbFinger1_L
- first:
4: 400110
second: ThumbFinger1_R
- first:
4: 400112
second: ThumbFinger2_L
- first:
4: 400114
second: ThumbFinger2_R
- first:
4: 400116
second: ThumbFinger3_L
- first:
4: 400118
second: ThumbFinger3_R
- first:
4: 400120
second: ThumbFinger4_L
- first:
4: 400122
second: ThumbFinger4_R
- first:
4: 400124
second: Toes_L
- first:
4: 400126
second: Toes_R
- first:
4: 400128
second: ToesEnd_L
- first:
4: 400130
second: ToesEnd_R
- first:
4: 400132
second: Wrist_L
- first:
4: 400134
second: Wrist_R
- first:
74: 7400000
second: FeMale_Think
- first:
95: 9500000
second: //RootNode
externalObjects: {}
materials:
importMaterials: 1
materialImportMode: 1
materialName: 0
materialSearch: 1
materialLocation: 1
@@ -152,14 +435,14 @@ ModelImporter:
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
removeConstantScaleCurves: 0
motionNodeName:
rigImportErrors:
rigImportWarnings:
animationImportErrors:
animationImportWarnings:
animationRetargetingWarnings:
animationDoRetargetingWarnings: 0
importAnimatedCustomProperties: 0
importConstraints: 0
animationCompression: 0
animationRotationError: 0.5
animationPositionError: 0.5
@@ -169,8 +452,9 @@ ModelImporter:
extraUserProperties: []
clipAnimations:
- serializedVersion: 16
name: AGIA_Idle_think_01
name: FeMale_Think
takeName: Take 001
internalID: 0
firstFrame: 0
lastFrame: 204
wrapMode: 0
@@ -202,32 +486,52 @@ ModelImporter:
globalScale: 1
meshCompression: 0
addColliders: 0
useSRGBMaterialColor: 1
sortHierarchyByName: 1
importPhysicalCameras: 0
importVisibility: 1
importBlendShapes: 1
importCameras: 1
importLights: 1
nodeNameCollisionStrategy: 0
fileIdsGeneration: 1
swapUVChannels: 0
generateSecondaryUV: 0
useFileUnits: 1
optimizeMeshForGPU: 1
keepQuads: 0
weldVertices: 1
bakeAxisConversion: 0
preserveHierarchy: 0
skinWeightsMode: 0
maxBonesPerVertex: 4
minBoneWeight: 0.001
optimizeBones: 1
generateMeshLods: 0
meshLodGenerationFlags: 0
maximumMeshLod: -1
meshOptimizationFlags: -1
indexFormat: 0
secondaryUVAngleDistortion: 8
secondaryUVAreaDistortion: 15.000001
secondaryUVHardAngle: 88
secondaryUVMarginMethod: 0
secondaryUVMinLightmapResolution: 40
secondaryUVMinObjectScale: 1
secondaryUVPackMargin: 4
useFileScale: 1
strictVertexDataChecks: 0
tangentSpace:
normalSmoothAngle: 60
normalImportMode: 0
tangentImportMode: 3
normalCalculationMode: 4
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 1
blendShapeNormalImportMode: 1
normalSmoothingSource: 0
referencedClips: []
importAnimation: 1
copyAvatar: 1
humanDescription:
serializedVersion: 2
serializedVersion: 3
human:
- boneName: Root_M
humanName: Hips
@@ -990,23 +1294,20 @@ ModelImporter:
armStretch: 0.02
legStretch: 0.02
feetSpacing: 0
globalScale: 1
rootMotionBoneName:
rootMotionBoneRotation: {x: 0, y: 0, z: 0, w: 1}
hasTranslationDoF: 0
hasExtraRoot: 1
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {fileID: 9000000, guid: 9088f5532f81dbc498f53c047c65e3a0,
type: 3}
lastHumanDescriptionAvatarSource: {fileID: 9000000, guid: 9088f5532f81dbc498f53c047c65e3a0, type: 3}
autoGenerateAvatarMappingIfUnspecified: 1
animationType: 3
humanoidOversampling: 1
avatarSetup: 2
addHumanoidExtraRootOnlyWhenUsingAvatar: 0
importBlendShapeDeformPercent: 0
remapMaterialsIfMaterialImportModeIsNone: 1
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 150397
packageName: Anime Girl Idle Animations
packageVersion: 1.2.1
assetPath: Assets/AnimeGirlIdleAnimations/Animations/01_Idles/AGIA_Idle_think_01.fbx
uploadId: 440789

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 41895f0457701ae4e882920cac24774b
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 7400000
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 3d1e01a00f6eb794694361bdec061ede
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 7400000
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -289,10 +289,13 @@ AnimatorStateMachine:
m_ChildStates:
- serializedVersion: 1
m_State: {fileID: -7836363615124988089}
m_Position: {x: 20, y: 260, z: 0}
m_Position: {x: 30, y: 270, z: 0}
- serializedVersion: 1
m_State: {fileID: 6909750651427599640}
m_Position: {x: 30, y: 190, z: 0}
- serializedVersion: 1
m_State: {fileID: 8649009563605619873}
m_Position: {x: 330, y: 20, z: 0}
m_ChildStateMachines: []
m_AnyStateTransitions: []
m_EntryTransitions: []
@@ -342,6 +345,9 @@ AnimatorStateMachine:
- serializedVersion: 1
m_State: {fileID: 1761552763063545065}
m_Position: {x: 30, y: 230, z: 0}
- serializedVersion: 1
m_State: {fileID: 8148812922343360233}
m_Position: {x: 310, y: 110, z: 0}
m_ChildStateMachines: []
m_AnyStateTransitions: []
m_EntryTransitions: []
@@ -352,3 +358,55 @@ AnimatorStateMachine:
m_ExitPosition: {x: 40, y: 360, z: 0}
m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
m_DefaultState: {fileID: 1761552763063545065}
--- !u!1102 &8148812922343360233
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: FeMale_Think
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: 3d1e01a00f6eb794694361bdec061ede, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1102 &8649009563605619873
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Expression_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: d4a80f7d815a5c84b9298cd5065dfa8a, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:

View File

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

Binary file not shown.

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

Binary file not shown.

View File

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

Binary file not shown.

View File

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

View File

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

View File

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

Binary file not shown.

View File

@@ -0,0 +1,23 @@
fileFormatVersion: 2
guid: cd7e939d21d24e546a3ae6f9cb4e4ef3
AudioImporter:
externalObjects: {}
serializedVersion: 8
defaultSettings:
serializedVersion: 2
loadType: 0
sampleRateSetting: 0
sampleRateOverride: 44100
compressionFormat: 1
quality: 1
conversionMode: 0
preloadAudioData: 0
platformSettingOverrides: {}
forceToMono: 0
normalize: 1
loadInBackground: 0
ambisonic: 0
3D: 1
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View File

@@ -0,0 +1,23 @@
fileFormatVersion: 2
guid: c02fadf74479d1e40b6fd1f9525ca822
AudioImporter:
externalObjects: {}
serializedVersion: 8
defaultSettings:
serializedVersion: 2
loadType: 0
sampleRateSetting: 0
sampleRateOverride: 44100
compressionFormat: 1
quality: 1
conversionMode: 0
preloadAudioData: 0
platformSettingOverrides: {}
forceToMono: 0
normalize: 1
loadInBackground: 0
ambisonic: 0
3D: 1
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -33,6 +33,20 @@ AudioMixerEffectController:
m_SendTarget: {fileID: 0}
m_EnableWetMix: 0
m_Bypass: 0
--- !u!244 &-3488732669823623728
AudioMixerEffectController:
m_ObjectHideFlags: 3
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name:
m_EffectID: a025dd51e9b039247826d2eeb3b41e55
m_EffectName: Attenuation
m_MixLevel: 91c4187335150e743a8dd8a016586dd8
m_Parameters: []
m_SendTarget: {fileID: 0}
m_EnableWetMix: 0
m_Bypass: 0
--- !u!241 &24100000
AudioMixerController:
m_ObjectHideFlags: 0
@@ -53,11 +67,14 @@ AudioMixerController:
name: BGMVolume
- guid: a5d0c469bd35ff94ca00b3135bb684dc
name: SFXVolume
- guid: ba018e28170e108488d70eb228687256
name: VoiceVolume
m_AudioMixerGroupViews:
- guids:
- 76cbedbf9831d62489bc8ec0aeee8bc0
- 633b2b5b033e2644a9611ac6616ac2b8
- e2601fab349e03c4dbb7268fc82d28cc
- 94ca16a23f5d4e148b184fb77f1c68e8
name: View
m_CurrentViewIndex: 0
m_TargetSnapshot: {fileID: 24500006}
@@ -73,6 +90,7 @@ AudioMixerGroupController:
m_Children:
- {fileID: 2947709149713364024}
- {fileID: -9017758440831936497}
- {fileID: 4425733990456606510}
m_Volume: deddcfb1a56f5d242acae971cdf41a2a
m_Pitch: 2dfaf866b54007249b4ba3cc6add285d
m_Send: 00000000000000000000000000000000
@@ -140,3 +158,22 @@ AudioMixerGroupController:
m_Mute: 0
m_Solo: 0
m_BypassEffects: 0
--- !u!243 &4425733990456606510
AudioMixerGroupController:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Voice
m_AudioMixer: {fileID: 24100000}
m_GroupID: 94ca16a23f5d4e148b184fb77f1c68e8
m_Children: []
m_Volume: ba018e28170e108488d70eb228687256
m_Pitch: acc4e86dc36c837449b39396b11e9940
m_Send: 00000000000000000000000000000000
m_Effects:
- {fileID: -3488732669823623728}
m_UserColorIndex: 0
m_Mute: 0
m_Solo: 0
m_BypassEffects: 0