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 System.Collections.Generic;
using UnityEngine.InputSystem;
using UnityEngine; using UnityEngine;
[RequireComponent(typeof(CharacterVoiceObject))]
public class DialogPlayer : MonoBehaviour public class DialogPlayer : MonoBehaviour
{ {
[SerializeField] private List<DialogGroup> _dialogGroups; [SerializeField] private List<DialogGroup> _dialogGroups;
private Dictionary<string, DialogGroup> _dialogGroupMap; private Dictionary<string, DialogGroup> _dialogGroupMap;
private Animator _animator;
private void Awake() private void Awake()
{ {
_dialogGroupMap = new Dictionary<string, DialogGroup>(); _dialogGroupMap = new Dictionary<string, DialogGroup>();
foreach (var g in _dialogGroups) foreach (var g in _dialogGroups)
{
_dialogGroupMap[g.DialogGroupName] = g; _dialogGroupMap[g.DialogGroupName] = g;
}
_animator = GetComponentInChildren<Animator>();
} }
public void VoicePlay(DialogNode node) // 임시 테스트용
private void Update()
{ {
if (Keyboard.current != null && Keyboard.current.tKey.wasPressedThisFrame)
_ = Play("BlackDialogGroup1");
}
//CharacterVoiceObject speakerVoiceObject = FindSpeakerVoiceObject(node.Speaker); public async Awaitable Play(string groupName)
//speakerVoiceObject.Play(node.Voice.Clip); {
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; using UnityEngine;
public class CharacterVoiceObject : MonoBehaviour public class CharacterVoiceObject : MonoBehaviour
@@ -5,5 +6,13 @@ public class CharacterVoiceObject : MonoBehaviour
public CharacterData Character; public CharacterData Character;
public AudioSource VoiceSource; 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); public void Play(AudioClip clip) => VoiceSource.PlayOneShot(clip);
} }

View File

@@ -6,5 +6,5 @@ public class ExpressionData : ScriptableObject
[HideInInspector] public int AnimationLayer = 1; [HideInInspector] public int AnimationLayer = 1;
public string StateName; public string StateName;
public float CrossFadeDuration = 0.2f; 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; [HideInInspector] public int AnimationLayer = 0;
public string StateName; public string StateName;
public float CrossFadeDuration = 0.2f; 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 fileFormatVersion: 2
guid: 4e72096e3b128df4e90c57ea0102872a 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: ModelImporter:
serializedVersion: 22200 serializedVersion: 24200
internalIDToNameTable: [] internalIDToNameTable: []
externalObjects: {} externalObjects: {}
materials: materials:
@@ -16,8 +23,6 @@ ModelImporter:
optimizeGameObjects: 0 optimizeGameObjects: 0
removeConstantScaleCurves: 0 removeConstantScaleCurves: 0
motionNodeName: motionNodeName:
rigImportErrors:
rigImportWarnings:
animationImportErrors: animationImportErrors:
animationImportWarnings: animationImportWarnings:
animationRetargetingWarnings: animationRetargetingWarnings:
@@ -31,7 +36,36 @@ ModelImporter:
animationWrapMode: 0 animationWrapMode: 0
extraExposedTransformPaths: [] extraExposedTransformPaths: []
extraUserProperties: [] 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 isReadable: 0
meshes: meshes:
lODScreenPercentages: [] lODScreenPercentages: []
@@ -58,6 +92,9 @@ ModelImporter:
maxBonesPerVertex: 4 maxBonesPerVertex: 4
minBoneWeight: 0.001 minBoneWeight: 0.001
optimizeBones: 1 optimizeBones: 1
generateMeshLods: 0
meshLodGenerationFlags: 0
maximumMeshLod: -1
meshOptimizationFlags: -1 meshOptimizationFlags: -1
indexFormat: 0 indexFormat: 0
secondaryUVAngleDistortion: 8 secondaryUVAngleDistortion: 8
@@ -786,8 +823,7 @@ ModelImporter:
hasTranslationDoF: 1 hasTranslationDoF: 1
hasExtraRoot: 1 hasExtraRoot: 1
skeletonHasParents: 1 skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {fileID: 9000000, guid: d5317c42c7d79dd41b326383ba7a0871, lastHumanDescriptionAvatarSource: {fileID: 9000000, guid: d5317c42c7d79dd41b326383ba7a0871, type: 3}
type: 3}
autoGenerateAvatarMappingIfUnspecified: 1 autoGenerateAvatarMappingIfUnspecified: 1
animationType: 3 animationType: 3
humanoidOversampling: 1 humanoidOversampling: 1
@@ -799,10 +835,3 @@ ModelImporter:
userData: userData:
assetBundleName: assetBundleName:
assetBundleVariant: 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 fileFormatVersion: 2
guid: d7b8fde6ee17eda44951fddcaa6434a5 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: ModelImporter:
serializedVersion: 22 serializedVersion: 24200
fileIDToRecycleName: internalIDToNameTable:
100000: //RootNode - first:
100002: Ankle_L 1: 100000
100004: Ankle_R second: //RootNode
100006: Chest_M - first:
100008: Cup_L 1: 100002
100010: Cup_R second: Ankle_L
100012: Elbow_L - first:
100014: Elbow_R 1: 100004
100016: Head_M second: Ankle_R
100018: HeadEnd_M - first:
100020: Hip_L 1: 100006
100022: Hip_R second: Chest_M
100024: IndexFinger1_L - first:
100026: IndexFinger1_R 1: 100008
100028: IndexFinger2_L second: Cup_L
100030: IndexFinger2_R - first:
100032: IndexFinger3_L 1: 100010
100034: IndexFinger3_R second: Cup_R
100036: IndexFinger4_L - first:
100038: IndexFinger4_R 1: 100012
100040: Knee_L second: Elbow_L
100042: Knee_R - first:
100044: MiddleFinger1_L 1: 100014
100046: MiddleFinger1_R second: Elbow_R
100048: MiddleFinger2_L - first:
100050: MiddleFinger2_R 1: 100016
100052: MiddleFinger3_L second: Head_M
100054: MiddleFinger3_R - first:
100056: MiddleFinger4_L 1: 100018
100058: MiddleFinger4_R second: HeadEnd_M
100060: Neck_M - first:
100062: PinkyFinger1_L 1: 100020
100064: PinkyFinger1_R second: Hip_L
100066: PinkyFinger2_L - first:
100068: PinkyFinger2_R 1: 100022
100070: PinkyFinger3_L second: Hip_R
100072: PinkyFinger3_R - first:
100074: PinkyFinger4_L 1: 100024
100076: PinkyFinger4_R second: IndexFinger1_L
100078: RingFinger1_L - first:
100080: RingFinger1_R 1: 100026
100082: RingFinger2_L second: IndexFinger1_R
100084: RingFinger2_R - first:
100086: RingFinger3_L 1: 100028
100088: RingFinger3_R second: IndexFinger2_L
100090: RingFinger4_L - first:
100092: RingFinger4_R 1: 100030
100094: Root second: IndexFinger2_R
100096: Root_M - first:
100098: Scapula_L 1: 100032
100100: Scapula_R second: IndexFinger3_L
100102: Shoulder_L - first:
100104: Shoulder_R 1: 100034
100106: Spine1_M second: IndexFinger3_R
100108: ThumbFinger1_L - first:
100110: ThumbFinger1_R 1: 100036
100112: ThumbFinger2_L second: IndexFinger4_L
100114: ThumbFinger2_R - first:
100116: ThumbFinger3_L 1: 100038
100118: ThumbFinger3_R second: IndexFinger4_R
100120: ThumbFinger4_L - first:
100122: ThumbFinger4_R 1: 100040
100124: Toes_L second: Knee_L
100126: Toes_R - first:
100128: ToesEnd_L 1: 100042
100130: ToesEnd_R second: Knee_R
100132: Wrist_L - first:
100134: Wrist_R 1: 100044
400000: //RootNode second: MiddleFinger1_L
400002: Ankle_L - first:
400004: Ankle_R 1: 100046
400006: Chest_M second: MiddleFinger1_R
400008: Cup_L - first:
400010: Cup_R 1: 100048
400012: Elbow_L second: MiddleFinger2_L
400014: Elbow_R - first:
400016: Head_M 1: 100050
400018: HeadEnd_M second: MiddleFinger2_R
400020: Hip_L - first:
400022: Hip_R 1: 100052
400024: IndexFinger1_L second: MiddleFinger3_L
400026: IndexFinger1_R - first:
400028: IndexFinger2_L 1: 100054
400030: IndexFinger2_R second: MiddleFinger3_R
400032: IndexFinger3_L - first:
400034: IndexFinger3_R 1: 100056
400036: IndexFinger4_L second: MiddleFinger4_L
400038: IndexFinger4_R - first:
400040: Knee_L 1: 100058
400042: Knee_R second: MiddleFinger4_R
400044: MiddleFinger1_L - first:
400046: MiddleFinger1_R 1: 100060
400048: MiddleFinger2_L second: Neck_M
400050: MiddleFinger2_R - first:
400052: MiddleFinger3_L 1: 100062
400054: MiddleFinger3_R second: PinkyFinger1_L
400056: MiddleFinger4_L - first:
400058: MiddleFinger4_R 1: 100064
400060: Neck_M second: PinkyFinger1_R
400062: PinkyFinger1_L - first:
400064: PinkyFinger1_R 1: 100066
400066: PinkyFinger2_L second: PinkyFinger2_L
400068: PinkyFinger2_R - first:
400070: PinkyFinger3_L 1: 100068
400072: PinkyFinger3_R second: PinkyFinger2_R
400074: PinkyFinger4_L - first:
400076: PinkyFinger4_R 1: 100070
400078: RingFinger1_L second: PinkyFinger3_L
400080: RingFinger1_R - first:
400082: RingFinger2_L 1: 100072
400084: RingFinger2_R second: PinkyFinger3_R
400086: RingFinger3_L - first:
400088: RingFinger3_R 1: 100074
400090: RingFinger4_L second: PinkyFinger4_L
400092: RingFinger4_R - first:
400094: Root 1: 100076
400096: Root_M second: PinkyFinger4_R
400098: Scapula_L - first:
400100: Scapula_R 1: 100078
400102: Shoulder_L second: RingFinger1_L
400104: Shoulder_R - first:
400106: Spine1_M 1: 100080
400108: ThumbFinger1_L second: RingFinger1_R
400110: ThumbFinger1_R - first:
400112: ThumbFinger2_L 1: 100082
400114: ThumbFinger2_R second: RingFinger2_L
400116: ThumbFinger3_L - first:
400118: ThumbFinger3_R 1: 100084
400120: ThumbFinger4_L second: RingFinger2_R
400122: ThumbFinger4_R - first:
400124: Toes_L 1: 100086
400126: Toes_R second: RingFinger3_L
400128: ToesEnd_L - first:
400130: ToesEnd_R 1: 100088
400132: Wrist_L second: RingFinger3_R
400134: Wrist_R - first:
7400000: AGIA_Idle_think_01 1: 100090
9500000: //RootNode 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: {} externalObjects: {}
materials: materials:
importMaterials: 1 materialImportMode: 1
materialName: 0 materialName: 0
materialSearch: 1 materialSearch: 1
materialLocation: 1 materialLocation: 1
@@ -152,14 +435,14 @@ ModelImporter:
bakeSimulation: 0 bakeSimulation: 0
resampleCurves: 1 resampleCurves: 1
optimizeGameObjects: 0 optimizeGameObjects: 0
removeConstantScaleCurves: 0
motionNodeName: motionNodeName:
rigImportErrors:
rigImportWarnings:
animationImportErrors: animationImportErrors:
animationImportWarnings: animationImportWarnings:
animationRetargetingWarnings: animationRetargetingWarnings:
animationDoRetargetingWarnings: 0 animationDoRetargetingWarnings: 0
importAnimatedCustomProperties: 0 importAnimatedCustomProperties: 0
importConstraints: 0
animationCompression: 0 animationCompression: 0
animationRotationError: 0.5 animationRotationError: 0.5
animationPositionError: 0.5 animationPositionError: 0.5
@@ -169,8 +452,9 @@ ModelImporter:
extraUserProperties: [] extraUserProperties: []
clipAnimations: clipAnimations:
- serializedVersion: 16 - serializedVersion: 16
name: AGIA_Idle_think_01 name: FeMale_Think
takeName: Take 001 takeName: Take 001
internalID: 0
firstFrame: 0 firstFrame: 0
lastFrame: 204 lastFrame: 204
wrapMode: 0 wrapMode: 0
@@ -202,32 +486,52 @@ ModelImporter:
globalScale: 1 globalScale: 1
meshCompression: 0 meshCompression: 0
addColliders: 0 addColliders: 0
useSRGBMaterialColor: 1
sortHierarchyByName: 1
importPhysicalCameras: 0
importVisibility: 1 importVisibility: 1
importBlendShapes: 1 importBlendShapes: 1
importCameras: 1 importCameras: 1
importLights: 1 importLights: 1
nodeNameCollisionStrategy: 0
fileIdsGeneration: 1
swapUVChannels: 0 swapUVChannels: 0
generateSecondaryUV: 0 generateSecondaryUV: 0
useFileUnits: 1 useFileUnits: 1
optimizeMeshForGPU: 1
keepQuads: 0 keepQuads: 0
weldVertices: 1 weldVertices: 1
bakeAxisConversion: 0
preserveHierarchy: 0 preserveHierarchy: 0
skinWeightsMode: 0
maxBonesPerVertex: 4
minBoneWeight: 0.001
optimizeBones: 1
generateMeshLods: 0
meshLodGenerationFlags: 0
maximumMeshLod: -1
meshOptimizationFlags: -1
indexFormat: 0 indexFormat: 0
secondaryUVAngleDistortion: 8 secondaryUVAngleDistortion: 8
secondaryUVAreaDistortion: 15.000001 secondaryUVAreaDistortion: 15.000001
secondaryUVHardAngle: 88 secondaryUVHardAngle: 88
secondaryUVMarginMethod: 0
secondaryUVMinLightmapResolution: 40
secondaryUVMinObjectScale: 1
secondaryUVPackMargin: 4 secondaryUVPackMargin: 4
useFileScale: 1 useFileScale: 1
strictVertexDataChecks: 0
tangentSpace: tangentSpace:
normalSmoothAngle: 60 normalSmoothAngle: 60
normalImportMode: 0 normalImportMode: 0
tangentImportMode: 3 tangentImportMode: 3
normalCalculationMode: 4 normalCalculationMode: 4
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 1
blendShapeNormalImportMode: 1
normalSmoothingSource: 0
referencedClips: []
importAnimation: 1 importAnimation: 1
copyAvatar: 1
humanDescription: humanDescription:
serializedVersion: 2 serializedVersion: 3
human: human:
- boneName: Root_M - boneName: Root_M
humanName: Hips humanName: Hips
@@ -990,23 +1294,20 @@ ModelImporter:
armStretch: 0.02 armStretch: 0.02
legStretch: 0.02 legStretch: 0.02
feetSpacing: 0 feetSpacing: 0
globalScale: 1
rootMotionBoneName: rootMotionBoneName:
rootMotionBoneRotation: {x: 0, y: 0, z: 0, w: 1}
hasTranslationDoF: 0 hasTranslationDoF: 0
hasExtraRoot: 1 hasExtraRoot: 1
skeletonHasParents: 1 skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {fileID: 9000000, guid: 9088f5532f81dbc498f53c047c65e3a0, lastHumanDescriptionAvatarSource: {fileID: 9000000, guid: 9088f5532f81dbc498f53c047c65e3a0, type: 3}
type: 3} autoGenerateAvatarMappingIfUnspecified: 1
animationType: 3 animationType: 3
humanoidOversampling: 1 humanoidOversampling: 1
avatarSetup: 2
addHumanoidExtraRootOnlyWhenUsingAvatar: 0
importBlendShapeDeformPercent: 0
remapMaterialsIfMaterialImportModeIsNone: 1
additionalBone: 0 additionalBone: 0
userData: userData:
assetBundleName: assetBundleName:
assetBundleVariant: 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: m_ChildStates:
- serializedVersion: 1 - serializedVersion: 1
m_State: {fileID: -7836363615124988089} m_State: {fileID: -7836363615124988089}
m_Position: {x: 20, y: 260, z: 0} m_Position: {x: 30, y: 270, z: 0}
- serializedVersion: 1 - serializedVersion: 1
m_State: {fileID: 6909750651427599640} m_State: {fileID: 6909750651427599640}
m_Position: {x: 30, y: 190, z: 0} 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_ChildStateMachines: []
m_AnyStateTransitions: [] m_AnyStateTransitions: []
m_EntryTransitions: [] m_EntryTransitions: []
@@ -342,6 +345,9 @@ AnimatorStateMachine:
- serializedVersion: 1 - serializedVersion: 1
m_State: {fileID: 1761552763063545065} m_State: {fileID: 1761552763063545065}
m_Position: {x: 30, y: 230, z: 0} 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_ChildStateMachines: []
m_AnyStateTransitions: [] m_AnyStateTransitions: []
m_EntryTransitions: [] m_EntryTransitions: []
@@ -352,3 +358,55 @@ AnimatorStateMachine:
m_ExitPosition: {x: 40, y: 360, z: 0} m_ExitPosition: {x: 40, y: 360, z: 0}
m_ParentStateMachinePosition: {x: 800, y: 20, z: 0} m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
m_DefaultState: {fileID: 1761552763063545065} 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_SendTarget: {fileID: 0}
m_EnableWetMix: 0 m_EnableWetMix: 0
m_Bypass: 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 --- !u!241 &24100000
AudioMixerController: AudioMixerController:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -53,11 +67,14 @@ AudioMixerController:
name: BGMVolume name: BGMVolume
- guid: a5d0c469bd35ff94ca00b3135bb684dc - guid: a5d0c469bd35ff94ca00b3135bb684dc
name: SFXVolume name: SFXVolume
- guid: ba018e28170e108488d70eb228687256
name: VoiceVolume
m_AudioMixerGroupViews: m_AudioMixerGroupViews:
- guids: - guids:
- 76cbedbf9831d62489bc8ec0aeee8bc0 - 76cbedbf9831d62489bc8ec0aeee8bc0
- 633b2b5b033e2644a9611ac6616ac2b8 - 633b2b5b033e2644a9611ac6616ac2b8
- e2601fab349e03c4dbb7268fc82d28cc - e2601fab349e03c4dbb7268fc82d28cc
- 94ca16a23f5d4e148b184fb77f1c68e8
name: View name: View
m_CurrentViewIndex: 0 m_CurrentViewIndex: 0
m_TargetSnapshot: {fileID: 24500006} m_TargetSnapshot: {fileID: 24500006}
@@ -73,6 +90,7 @@ AudioMixerGroupController:
m_Children: m_Children:
- {fileID: 2947709149713364024} - {fileID: 2947709149713364024}
- {fileID: -9017758440831936497} - {fileID: -9017758440831936497}
- {fileID: 4425733990456606510}
m_Volume: deddcfb1a56f5d242acae971cdf41a2a m_Volume: deddcfb1a56f5d242acae971cdf41a2a
m_Pitch: 2dfaf866b54007249b4ba3cc6add285d m_Pitch: 2dfaf866b54007249b4ba3cc6add285d
m_Send: 00000000000000000000000000000000 m_Send: 00000000000000000000000000000000
@@ -140,3 +158,22 @@ AudioMixerGroupController:
m_Mute: 0 m_Mute: 0
m_Solo: 0 m_Solo: 0
m_BypassEffects: 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