This commit is contained in:
dldydtn9755-crypto
2026-07-09 15:28:37 +09:00
15 changed files with 1468 additions and 52 deletions

Binary file not shown.

Binary file not shown.

View File

@@ -22,6 +22,9 @@ public class DialogCondition
[Tooltip("밟았어야 하는 이벤트존 Id들 (전부 필요)")]
public List<string> RequiredZoneIds = new();
[Tooltip("밟으면 이 대화가 비활성화되는 이벤트존 Id들 (하나라도 밟았으면 비활성화)")]
public List<string> ExcludedZoneIds = new();
// affectionTarget: 호감도 조건을 검사할 캐릭터 (보통 대화를 거는 NPC 자신)
public bool IsMet(CharacterData affectionTarget)
{
@@ -45,6 +48,10 @@ public bool IsMet(CharacterData affectionTarget)
if (!string.IsNullOrEmpty(zoneId) && !story.HasTriggeredZone(zoneId))
return false;
foreach (var zoneId in ExcludedZoneIds)
if (!string.IsNullOrEmpty(zoneId) && story.HasTriggeredZone(zoneId))
return false;
return true;
}
}

View File

@@ -39,6 +39,9 @@ public struct NodeEvent
[Tooltip("대화가 여러 개일 때 선택 메뉴 상단에 표시할 안내 문구")]
[SerializeField] private string _dialogSelectPrompt = "무슨 이야기를 나눌까?";
[Tooltip("말을 건 뒤 대화창(선택 메뉴·첫 대사)이 뜨기까지의 딜레이(초)")]
[Min(0)] [SerializeField] private float _dialogStartDelay = 0.2f;
[Header("Dialog HUD Placement")] // 씬에서 캐릭터 위치/주변(벽 등)에 맞춰 조절
[SerializeField] private float _hudChestHeight = 1.2f; // 화자 발 기준 가슴 높이
[SerializeField] private float _hudForwardOffset = 0.5f; // 화자가 바라보는 방향으로 띄울 거리
@@ -57,6 +60,10 @@ public struct NodeEvent
private readonly Dictionary<Transform, Quaternion> _originalRotations = new();
public bool IsPlaying { get; private set; }
// 지금 실제 대사를 재생 중인 DialogPlayer (전역 1개) — 이때 다른 NPC의 Play()는 무시된다.
// 선택 메뉴만 떠 있는 단계는 여기 안 잡힌다 (그 경우는 새 NPC가 메뉴를 취소하고 시작).
private static DialogPlayer _entryInProgress;
private void Awake()
{
_voice = GetComponent<CharacterVoiceObject>();
@@ -73,10 +80,28 @@ private void Awake()
}
}
private void OnDestroy()
{
// 재생 도중 파괴(씬 전환 등)돼도 전역 잠금이 남지 않도록
if (_entryInProgress == this) _entryInProgress = null;
}
public async Awaitable Play()
{
if (IsPlaying) return;
// 다른 NPC가 실제 대사를 재생 중이면 무시 — 대화 중 다른 NPC 상호작용 차단
if (_entryInProgress != null) return;
// 이벤트존 타임라인(컷씬) 재생 중에도 무시 — 컷씬이 NPC 루트를 직접 움직이는 동안
// 대화를 시작하면 회전 캡처/복원이 타임라인과 충돌해서 방향이 꼬인다
if (EventZone.IsAnyPlaying) return;
// 다른 NPC의 선택 메뉴가 떠 있으면 먼저 취소한다.
// (취소된 쪽의 Play가 이 자리에서 HUD 숨김 등 정리를 마친 뒤에 이쪽이 시작된다)
if (ChoiceHud.Instance != null)
ChoiceHud.Instance.CancelPending();
// 선택 메뉴가 떠 있는 동안에도 재진입을 막아야 하므로 여기서 잠근다.
IsPlaying = true;
try
@@ -88,13 +113,33 @@ public async Awaitable Play()
return;
}
int index = playable.Count == 1 ? playable[0] : await SelectDialog(playable);
if (index < 0) return; // 선택 대기 중 취소됨 (씬 전환 등)
// 말을 걸면 NPC가 플레이어 쪽으로 돌아본다 — 대화창(선택 메뉴·첫 대사)이 NPC 회전을
// 따라가므로 창도 플레이어를 향하게 된다. 원래 회전은 아래 finally에서 복원.
_originalRotations.TryAdd(transform, GetOriginalRotation(transform));
RotateTowardPlayer(transform);
// 대화창이 바로 튀어나오지 않도록 잠깐 뜸을 들인다 (선택 메뉴·첫 대사 공통)
if (_dialogStartDelay > 0f)
{
await Awaitable.WaitForSecondsAsync(_dialogStartDelay, destroyCancellationToken);
if (_entryInProgress != null) return; // 기다리는 사이 다른 NPC의 대화가 시작됨
}
int index = playable.Count == 1 ? playable[0] : await SelectDialog(playable);
if (index < 0) return; // 선택 대기 중 취소됨 (다른 NPC와 대화 시작, 씬 전환 등)
_entryInProgress = this; // 여기서부터 실제 대사 재생 — 끝날 때까지 다른 NPC 상호작용 무시
await PlayEntry(_dialogs[index]);
}
catch (OperationCanceledException)
{
// 대화 도중 선택지 대기가 취소됨 (씬 전환으로 ChoiceHud 비활성화 등) — PlayEntry의 finally에서 정리됨
}
finally
{
// 선택 메뉴 단계에서 돌린 회전 포함 — 대화가 어떤 경로로 끝나든(취소 포함) 원래 회전 복원
RestoreRotations();
if (_entryInProgress == this) _entryInProgress = null;
IsPlaying = false;
}
}
@@ -121,6 +166,7 @@ private async Awaitable<int> SelectDialog(List<int> playable)
return playable[0]; // 선택 UI가 없으면 기존처럼 최상단 우선
// ChoiceHud는 DialogHud를 따라 배치되므로, 먼저 화자 옆에 HUD를 띄운다.
// (플레이어 쪽 회전은 Play() 시작 시 이미 걸려 있음)
if (DialogHud.Instance != null)
DialogHud.Instance.Show(_voice.Character, _dialogSelectPrompt, _hudChestHeight, _hudForwardOffset, _hudLateralOffset, _hudRotationOffset);
@@ -186,7 +232,6 @@ private async Awaitable PlayEntry(DialogEntry entry)
if (SoundManager.Instance != null)
SoundManager.Instance.ClearOverrideBGM(); // 대화가 끝나면 기본 BGM으로 복귀
RestoreDefaultAnimations();
RestoreRotations();
}
}
@@ -198,26 +243,53 @@ private void RestoreDefaultAnimations()
_animator.CrossFade(_initialExpressionHash, 0.3f, 1, normalizedTimeOffset: 0f);
}
private async Awaitable RotateTowardPlayer(Transform target)
// ── 대화 중 캐릭터 회전 ────────────────────────────────────────
// Animator가 루트 트랜스폼까지 애니메이션하는 캐릭터(에셋 팩 공룡 등)는
// Update 타이밍에 회전을 써도 직후 Animator 평가가 덮어써 버린다.
// 그래서 회전을 잡(Job)으로 등록해 두고, Animator 평가가 끝난 LateUpdate에서 적용한다.
private class RotationJob
{
public Transform Target;
public Quaternion Goal; // 도달할 회전 (잡 등록 시점에 확정 — 이후 플레이어가 움직여도 안 바뀜)
public Quaternion Current; // 우리가 관리하는 현재 회전 — Animator가 덮어써도 여기서 이어간다
public bool Hold; // true면 교체될 때까지 유지(대화 중), false면 0.5초 후 종료(복원)
public float Remaining;
}
private readonly List<RotationJob> _rotationJobs = new();
// 말을 건 시점의 플레이어 위치를 향해 한 번만 돈다. 이후 플레이어가 움직여도 따라가지 않지만,
// Animator가 루트 회전을 덮어쓰는 캐릭터가 있어서 그 회전값 자체는 대화가 끝날 때까지 계속 유지해 준다.
private void RotateTowardPlayer(Transform target)
{
if (Camera.main == null) return;
var playerCam = Camera.main.transform;
Vector3 dir = Camera.main.transform.position - target.position;
dir.y = 0f;
if (dir.sqrMagnitude < 0.0001f) return;
AddRotationJob(target, Quaternion.LookRotation(dir), hold: true);
}
float duration = 0.5f;
float elapsed = 0f;
private void RotateToRotation(Transform target, Quaternion rotation) => AddRotationJob(target, rotation, hold: false);
while (elapsed < duration)
private void AddRotationJob(Transform target, Quaternion goal, bool hold)
{
// 같은 타깃의 기존 잡이 있으면 진행 중이던 회전(Current)을 이어받아 교체 (바라보기 ↔ 복원 충돌 방지)
Quaternion current = target.rotation;
int existing = _rotationJobs.FindIndex(j => j.Target == target);
if (existing >= 0)
{
Vector3 dir = playerCam.position - target.position;
dir.y = 0f;
if (dir.sqrMagnitude > 0.0001f)
{
var targetRot = Quaternion.LookRotation(dir);
target.rotation = Quaternion.Slerp(target.rotation, targetRot, 10f * Time.deltaTime);
}
elapsed += Time.deltaTime;
await Awaitable.NextFrameAsync();
current = _rotationJobs[existing].Current;
_rotationJobs.RemoveAt(existing);
}
_rotationJobs.Add(new RotationJob { Target = target, Goal = goal, Current = current, Hold = hold, Remaining = 0.5f });
}
// 대화 종료 시 복원할 '원래 회전' — 대화 시작 시점의 회전.
// 단, 직전 대화의 복원 잡이 아직 도는 중이면(연달아 재대화) 중간 회전값이 아니라
// 그 잡의 목표(진짜 원래 회전)를 이어받아 누적 오차를 막는다.
private Quaternion GetOriginalRotation(Transform target)
{
int existing = _rotationJobs.FindIndex(j => j.Target == target && !j.Hold);
return existing >= 0 ? _rotationJobs[existing].Goal : target.rotation;
}
private void RestoreRotations()
@@ -225,21 +297,32 @@ private void RestoreRotations()
foreach (var kvp in _originalRotations)
{
if (kvp.Key != null)
_ = RotateToRotation(kvp.Key, kvp.Value);
RotateToRotation(kvp.Key, kvp.Value);
}
_originalRotations.Clear();
}
private async Awaitable RotateToRotation(Transform target, Quaternion targetRotation)
private void LateUpdate()
{
float duration = 0.5f;
float elapsed = 0f;
while (elapsed < duration)
for (int i = _rotationJobs.Count - 1; i >= 0; i--)
{
if (target == null) return;
target.rotation = Quaternion.Slerp(target.rotation, targetRotation, 10f * Time.deltaTime);
elapsed += Time.deltaTime;
await Awaitable.NextFrameAsync();
var job = _rotationJobs[i];
if (job.Target == null) { _rotationJobs.RemoveAt(i); continue; }
// Animator가 이 프레임에 뭘 썼든 무시하고, 우리가 기억하는 회전에서 이어서 목표로 수렴시킨다
job.Current = Quaternion.Slerp(job.Current, job.Goal, 10f * Time.deltaTime);
job.Target.rotation = job.Current;
// 복원 잡만 수명이 있다 — 바라보기(Hold) 잡은 대화 종료 시 복원 잡이 교체한다
if (!job.Hold)
{
job.Remaining -= Time.deltaTime;
if (job.Remaining <= 0f)
{
job.Target.rotation = job.Goal; // 마지막엔 목표값으로 정확히 스냅 (잔여 오차 방지)
_rotationJobs.RemoveAt(i);
}
}
}
}
@@ -287,8 +370,8 @@ private async Awaitable PlayNode(DialogNode node)
var voiceObj = CharacterVoiceObject.Find(node.Speaker);
if (voiceObj != null)
{
_originalRotations.TryAdd(voiceObj.transform, voiceObj.transform.rotation);
_ = RotateTowardPlayer(voiceObj.transform);
_originalRotations.TryAdd(voiceObj.transform, GetOriginalRotation(voiceObj.transform));
RotateTowardPlayer(voiceObj.transform);
}
}

View File

@@ -24,6 +24,11 @@ public class EventZone : MonoBehaviour
private bool _hasPlayed;
private bool _isPlaying;
// 어떤 EventZone이든 타임라인(컷씬)이 재생 중이면 true.
// 컷씬이 NPC의 루트를 직접 움직일 수 있으므로, 재생 중엔 대화 시작을 막는 데 쓴다.
public static bool IsAnyPlaying => _playingCount > 0;
private static int _playingCount;
public string ZoneId => string.IsNullOrEmpty(_zoneId) ? name : _zoneId;
// 잠글 때 켜져 있던 프로바이더만 기록해서, 해제 시 원래 꺼져 있던 것까지 켜지 않도록 한다.
@@ -55,6 +60,7 @@ private void OnTriggerEnter(Collider other)
}
_isPlaying = true;
_playingCount++;
if (_lockPlayerControl)
LockPlayer(other.transform);
@@ -67,7 +73,7 @@ private void OnTriggerEnter(Collider other)
private void OnTimelineStopped(PlayableDirector director)
{
director.stopped -= OnTimelineStopped;
_isPlaying = false;
if (_isPlaying) { _isPlaying = false; _playingCount--; }
UnlockPlayer();
}
@@ -98,7 +104,8 @@ private void OnDestroy()
if (_timeline != null)
_timeline.stopped -= OnTimelineStopped;
// 존이 재생 중에 파괴돼도 플레이어긴 채 남지 않도록
// 존이 재생 중에 파괴돼도 전역 카운트/플레이어 잠금이 남지 않도록
if (_isPlaying) { _isPlaying = false; _playingCount--; }
UnlockPlayer();
}
}

View File

@@ -47,10 +47,21 @@ private void OnDisable()
_completion = null;
}
// 대기 중인 선택을 취소하고 메뉴를 닫는다 (다른 NPC와 대화를 새로 시작할 때 등).
// 취소된 쪽의 await Show(...)는 OperationCanceledException으로 빠져나간다.
public void CancelPending()
{
_completion?.TrySetCanceled();
}
public async Awaitable<int> Show(string choiceQuestion, List<DialogChoice> choices)
{
if (choices == null || choices.Count == 0) return 0;
// 이전 호출이 아직 대기 중이면 먼저 취소한다 (마지막 호출이 이긴다).
// 취소된 쪽은 아래 finally까지 이 자리에서 정리를 마치고 빠져나간다.
CancelPending();
SetQuestion(choiceQuestion);
ClearRows();
for (int i = 0; i < choices.Count; i++)
@@ -63,17 +74,22 @@ public async Awaitable<int> Show(string choiceQuestion, List<DialogChoice> choic
ResizeToRowCount(choices.Count);
_root.SetActive(true);
_completion = new AwaitableCompletionSource<int>();
var completion = new AwaitableCompletionSource<int>();
_completion = completion;
int result;
try
{
result = await _completion.Awaitable;
result = await completion.Awaitable;
}
finally
{
_completion = null;
Hide();
// 내가 아직 현재 세션일 때만 정리 — 취소 직후 다른 NPC가 새로 띄운 메뉴를 지우면 안 된다
if (_completion == completion)
{
_completion = null;
Hide();
}
}
return result;
}

View File

@@ -0,0 +1,432 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &1
MonoBehaviour:
m_ObjectHideFlags: 61
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: 12501, guid: 0000000000000000e000000000000000, type: 0}
m_Name: Chapter1_Yuna1
m_EditorClassIdentifier: UnityEditor.dll::Unity.GraphToolkit.Editor.Implementation.GraphObjectImp
m_GraphModel:
rid: 4848514365209968918
references:
version: 2
RefIds:
- rid: -2
type: {class: , ns: , asm: }
- rid: 4848514365209968918
type: {class: GraphModelImp, ns: Unity.GraphToolkit.Editor.Implementation, asm: UnityEditor.GraphToolkitModule}
data:
m_Guid:
m_Value0: 14743801598135559126
m_Value1: 14874423988134968649
m_HashGuid:
serializedVersion: 2
Hash: d6e3b4ff6f819ccc497d5523cf916cce
m_Name: Chapter1_Yuna1
m_GraphNodeModels:
- rid: 4848514365209968921
- rid: 4848514365209968923
- rid: 4848514365209968938
m_GraphWireModels:
- rid: 4848514365209968937
- rid: 4848514365209968939
m_GraphStickyNoteModels: []
m_GraphPlacematModels: []
m_GraphVariableModels: []
m_GraphPortalModels: []
m_SectionModels:
- rid: 4848514365209968919
m_LocalSubgraphs: []
m_LastKnownBounds:
serializedVersion: 2
x: -86
y: 92
width: 1053
height: 432
m_GraphElementMetaData:
- m_Guid:
m_Value0: 11886921906498108818
m_Value1: 1241276629292152157
m_HashGuid:
serializedVersion: 2
Hash: 92fda08d7ed4f6a45df5f38c84e63911
m_Category: 0
m_Index: 0
- m_Guid:
m_Value0: 5760401696664917696
m_Value1: 5304284838533059046
m_HashGuid:
serializedVersion: 2
Hash: c01645bdd20ef14fe6d14014f59a9c49
m_Category: 0
m_Index: 1
- m_Guid:
m_Value0: 12075701744894930101
m_Value1: 8354277098249585595
m_HashGuid:
serializedVersion: 2
Hash: b5ec06d6c18295a7bb03590cc25af073
m_Category: 2
m_Index: 0
- m_Guid:
m_Value0: 18033278169514442201
m_Value1: 7595949161354533057
m_HashGuid:
serializedVersion: 2
Hash: d9fdb665f31243fac1987666843b6a69
m_Category: 0
m_Index: 2
- m_Guid:
m_Value0: 1372665982324540530
m_Value1: 4413923243976307164
m_HashGuid:
serializedVersion: 2
Hash: 7284b72f70b00c13dc310cefcd67413d
m_Category: 2
m_Index: 1
m_EntryPoint:
rid: 4848514365209968921
m_Graph:
rid: 4848514365209968920
- rid: 4848514365209968919
type: {class: SectionModel, ns: Unity.GraphToolkit.Editor, asm: UnityEditor.GraphToolkitModule}
data:
m_Guid:
m_Value0: 17677551595292556901
m_Value1: 13576497333533336155
m_HashGuid:
serializedVersion: 2
Hash: 657e0d28844753f55be24abb646869bc
m_Version: 2
m_Items: []
m_Title:
- rid: 4848514365209968920
type: {class: DialogGraph, ns: DinoLove.Dialog.GraphTool.Editor, asm: Assembly-CSharp-Editor}
data:
- rid: 4848514365209968921
type: {class: UserNodeModelImp, ns: Unity.GraphToolkit.Editor.Implementation, asm: UnityEditor.GraphToolkitModule}
data:
m_Guid:
m_Value0: 11886921906498108818
m_Value1: 1241276629292152157
m_HashGuid:
serializedVersion: 2
Hash: 92fda08d7ed4f6a45df5f38c84e63911
m_Version: 2
m_Position: {x: -86.250015, y: 147.20003}
m_Title:
m_Tooltip:
m_NodePreviewModel:
rid: -2
m_State: 0
m_InputConstantsById:
m_KeyList: []
m_ValueList: []
m_InputPortInfos:
expandedPortsById:
m_KeyList: []
m_ValueList:
m_OutputPortInfos:
expandedPortsById:
m_KeyList: []
m_ValueList:
m_Collapsed: 0
m_CurrentModeIndex: 0
m_ElementColor:
m_Color: {r: 0, g: 0, b: 0, a: 0}
m_HasUserColor: 0
m_Node:
rid: 4848514365209968922
- rid: 4848514365209968922
type: {class: DialogStartNode, ns: DinoLove.Dialog.GraphTool.Editor, asm: Assembly-CSharp-Editor}
data:
- rid: 4848514365209968923
type: {class: UserNodeModelImp, ns: Unity.GraphToolkit.Editor.Implementation, asm: UnityEditor.GraphToolkitModule}
data:
m_Guid:
m_Value0: 5760401696664917696
m_Value1: 5304284838533059046
m_HashGuid:
serializedVersion: 2
Hash: c01645bdd20ef14fe6d14014f59a9c49
m_Version: 2
m_Position: {x: 180.505, y: 92.442505}
m_Title:
m_Tooltip:
m_NodePreviewModel:
rid: -2
m_State: 0
m_InputConstantsById:
m_KeyList:
- __option_ChoiceCount
- __option_EventKey
- Speaker
- TalkText
- Gesture
- Expression
- Voice
- Bgm
- Vfx
- LineDuration
- LookAtPlayer
- WaitForInput
m_ValueList:
- rid: 4848514365209968924
- rid: 4848514365209968925
- rid: 4848514365209968926
- rid: 4848514365209968927
- rid: 4848514365209968928
- rid: 4848514365209968929
- rid: 4848514365209968930
- rid: 4848514365209968931
- rid: 4848514365209968932
- rid: 4848514365209968933
- rid: 4848514365209968934
- rid: 4848514365209968935
m_InputPortInfos:
expandedPortsById:
m_KeyList: []
m_ValueList:
m_OutputPortInfos:
expandedPortsById:
m_KeyList: []
m_ValueList:
m_Collapsed: 0
m_CurrentModeIndex: 0
m_ElementColor:
m_Color: {r: 0, g: 0, b: 0, a: 0}
m_HasUserColor: 0
m_Node:
rid: 4848514365209968936
- rid: 4848514365209968924
type: {class: 'Constant`1[[System.Int32, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: UnityEditor.GraphToolkitModule}
data:
m_Value: 0
- rid: 4848514365209968925
type: {class: 'Constant`1[[System.String, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: UnityEditor.GraphToolkitModule}
data:
m_Value:
- rid: 4848514365209968926
type: {class: 'Constant`1[[CharacterData, Assembly-CSharp]]', ns: Unity.GraphToolkit.Editor, asm: UnityEditor.GraphToolkitModule}
data:
m_Value: {fileID: 11400000, guid: ccaea1cd59b6def4e93764f1965fe26f, type: 2}
- rid: 4848514365209968927
type: {class: 'Constant`1[[DinoLove.Dialog.GraphTool.Editor.DialogText, Assembly-CSharp-Editor]]', ns: Unity.GraphToolkit.Editor, asm: UnityEditor.GraphToolkitModule}
data:
m_Value:
Value: "\uC774\uACF3\uC774 \uC6B0\uB9AC \uBC18\uC774\uC57C!"
- rid: 4848514365209968928
type: {class: 'Constant`1[[GestureData, Assembly-CSharp]]', ns: Unity.GraphToolkit.Editor, asm: UnityEditor.GraphToolkitModule}
data:
m_Value: {fileID: 0}
- rid: 4848514365209968929
type: {class: 'Constant`1[[ExpressionData, Assembly-CSharp]]', ns: Unity.GraphToolkit.Editor, asm: UnityEditor.GraphToolkitModule}
data:
m_Value: {fileID: 0}
- rid: 4848514365209968930
type: {class: 'Constant`1[[VoiceClip, Assembly-CSharp]]', ns: Unity.GraphToolkit.Editor, asm: UnityEditor.GraphToolkitModule}
data:
m_Value: {fileID: 0}
- rid: 4848514365209968931
type: {class: 'Constant`1[[UnityEngine.AudioClip, UnityEngine.AudioModule]]', ns: Unity.GraphToolkit.Editor, asm: UnityEditor.GraphToolkitModule}
data:
m_Value: {fileID: 0}
- rid: 4848514365209968932
type: {class: 'Constant`1[[UnityEngine.GameObject, UnityEngine.CoreModule]]', ns: Unity.GraphToolkit.Editor, asm: UnityEditor.GraphToolkitModule}
data:
m_Value: {fileID: 0}
- rid: 4848514365209968933
type: {class: 'Constant`1[[System.Single, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: UnityEditor.GraphToolkitModule}
data:
m_Value: 3
- rid: 4848514365209968934
type: {class: 'Constant`1[[System.Boolean, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: UnityEditor.GraphToolkitModule}
data:
m_Value: 1
- rid: 4848514365209968935
type: {class: 'Constant`1[[System.Boolean, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: UnityEditor.GraphToolkitModule}
data:
m_Value: 0
- rid: 4848514365209968936
type: {class: DialogLineNode, ns: DinoLove.Dialog.GraphTool.Editor, asm: Assembly-CSharp-Editor}
data:
- rid: 4848514365209968937
type: {class: WireModel, ns: Unity.GraphToolkit.Editor, asm: UnityEditor.GraphToolkitModule}
data:
m_Guid:
m_Value0: 12075701744894930101
m_Value1: 8354277098249585595
m_HashGuid:
serializedVersion: 2
Hash: b5ec06d6c18295a7bb03590cc25af073
m_Version: 2
m_FromPortReference:
m_NodeModelGuid:
m_Value0: 11886921906498108818
m_Value1: 1241276629292152157
m_NodeModelHashGuid:
serializedVersion: 2
Hash: 92fda08d7ed4f6a45df5f38c84e63911
m_UniqueId: Out
m_PortDirection: 2
m_PortOrientation: 0
m_Title:
m_ToPortReference:
m_NodeModelGuid:
m_Value0: 5760401696664917696
m_Value1: 5304284838533059046
m_NodeModelHashGuid:
serializedVersion: 2
Hash: c01645bdd20ef14fe6d14014f59a9c49
m_UniqueId: In
m_PortDirection: 1
m_PortOrientation: 0
m_Title:
- rid: 4848514365209968938
type: {class: UserNodeModelImp, ns: Unity.GraphToolkit.Editor.Implementation, asm: UnityEditor.GraphToolkitModule}
data:
m_Guid:
m_Value0: 18033278169514442201
m_Value1: 7595949161354533057
m_HashGuid:
serializedVersion: 2
Hash: d9fdb665f31243fac1987666843b6a69
m_Version: 2
m_Position: {x: 617.28503, y: 92}
m_Title:
m_Tooltip:
m_NodePreviewModel:
rid: -2
m_State: 0
m_InputConstantsById:
m_KeyList:
- __option_ChoiceCount
- __option_EventKey
- Speaker
- TalkText
- Gesture
- Expression
- Voice
- Bgm
- Vfx
- LineDuration
- LookAtPlayer
- WaitForInput
m_ValueList:
- rid: 4848514365209968940
- rid: 4848514365209968941
- rid: 4848514365209968942
- rid: 4848514365209968943
- rid: 4848514365209968944
- rid: 4848514365209968945
- rid: 4848514365209968946
- rid: 4848514365209968947
- rid: 4848514365209968948
- rid: 4848514365209968949
- rid: 4848514365209968950
- rid: 4848514365209968951
m_InputPortInfos:
expandedPortsById:
m_KeyList: []
m_ValueList:
m_OutputPortInfos:
expandedPortsById:
m_KeyList: []
m_ValueList:
m_Collapsed: 0
m_CurrentModeIndex: 0
m_ElementColor:
m_Color: {r: 0, g: 0, b: 0, a: 0}
m_HasUserColor: 0
m_Node:
rid: 4848514365209968952
- rid: 4848514365209968939
type: {class: WireModel, ns: Unity.GraphToolkit.Editor, asm: UnityEditor.GraphToolkitModule}
data:
m_Guid:
m_Value0: 1372665982324540530
m_Value1: 4413923243976307164
m_HashGuid:
serializedVersion: 2
Hash: 7284b72f70b00c13dc310cefcd67413d
m_Version: 2
m_FromPortReference:
m_NodeModelGuid:
m_Value0: 5760401696664917696
m_Value1: 5304284838533059046
m_NodeModelHashGuid:
serializedVersion: 2
Hash: c01645bdd20ef14fe6d14014f59a9c49
m_UniqueId: Out
m_PortDirection: 2
m_PortOrientation: 0
m_Title:
m_ToPortReference:
m_NodeModelGuid:
m_Value0: 18033278169514442201
m_Value1: 7595949161354533057
m_NodeModelHashGuid:
serializedVersion: 2
Hash: d9fdb665f31243fac1987666843b6a69
m_UniqueId: In
m_PortDirection: 1
m_PortOrientation: 0
m_Title:
- rid: 4848514365209968940
type: {class: 'Constant`1[[System.Int32, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: UnityEditor.GraphToolkitModule}
data:
m_Value: 0
- rid: 4848514365209968941
type: {class: 'Constant`1[[System.String, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: UnityEditor.GraphToolkitModule}
data:
m_Value:
- rid: 4848514365209968942
type: {class: 'Constant`1[[CharacterData, Assembly-CSharp]]', ns: Unity.GraphToolkit.Editor, asm: UnityEditor.GraphToolkitModule}
data:
m_Value: {fileID: 11400000, guid: ccaea1cd59b6def4e93764f1965fe26f, type: 2}
- rid: 4848514365209968943
type: {class: 'Constant`1[[DinoLove.Dialog.GraphTool.Editor.DialogText, Assembly-CSharp-Editor]]', ns: Unity.GraphToolkit.Editor, asm: UnityEditor.GraphToolkitModule}
data:
m_Value:
Value: "\uC5B4\uC11C \uB4E4\uC5B4\uAC00\uC790!"
- rid: 4848514365209968944
type: {class: 'Constant`1[[GestureData, Assembly-CSharp]]', ns: Unity.GraphToolkit.Editor, asm: UnityEditor.GraphToolkitModule}
data:
m_Value: {fileID: 0}
- rid: 4848514365209968945
type: {class: 'Constant`1[[ExpressionData, Assembly-CSharp]]', ns: Unity.GraphToolkit.Editor, asm: UnityEditor.GraphToolkitModule}
data:
m_Value: {fileID: 0}
- rid: 4848514365209968946
type: {class: 'Constant`1[[VoiceClip, Assembly-CSharp]]', ns: Unity.GraphToolkit.Editor, asm: UnityEditor.GraphToolkitModule}
data:
m_Value: {fileID: 0}
- rid: 4848514365209968947
type: {class: 'Constant`1[[UnityEngine.AudioClip, UnityEngine.AudioModule]]', ns: Unity.GraphToolkit.Editor, asm: UnityEditor.GraphToolkitModule}
data:
m_Value: {fileID: 0}
- rid: 4848514365209968948
type: {class: 'Constant`1[[UnityEngine.GameObject, UnityEngine.CoreModule]]', ns: Unity.GraphToolkit.Editor, asm: UnityEditor.GraphToolkitModule}
data:
m_Value: {fileID: 0}
- rid: 4848514365209968949
type: {class: 'Constant`1[[System.Single, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: UnityEditor.GraphToolkitModule}
data:
m_Value: 3
- rid: 4848514365209968950
type: {class: 'Constant`1[[System.Boolean, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: UnityEditor.GraphToolkitModule}
data:
m_Value: 0
- rid: 4848514365209968951
type: {class: 'Constant`1[[System.Boolean, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: UnityEditor.GraphToolkitModule}
data:
m_Value: 0
- rid: 4848514365209968952
type: {class: DialogLineNode, ns: DinoLove.Dialog.GraphTool.Editor, asm: Assembly-CSharp-Editor}
data:

View File

@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: c9d086ecbcecee74bb3e518bf01e3bab
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 11500000, guid: 2ae5ca89bbed445479d9023586f0c041, type: 3}

View File

@@ -0,0 +1,273 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &1
MonoBehaviour:
m_ObjectHideFlags: 61
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: 12501, guid: 0000000000000000e000000000000000, type: 0}
m_Name: Chapter1_Yuna2
m_EditorClassIdentifier: UnityEditor.dll::Unity.GraphToolkit.Editor.Implementation.GraphObjectImp
m_GraphModel:
rid: 4848514365209968918
references:
version: 2
RefIds:
- rid: -2
type: {class: , ns: , asm: }
- rid: 4848514365209968918
type: {class: GraphModelImp, ns: Unity.GraphToolkit.Editor.Implementation, asm: UnityEditor.GraphToolkitModule}
data:
m_Guid:
m_Value0: 14743801598135559126
m_Value1: 14874423988134968649
m_HashGuid:
serializedVersion: 2
Hash: d6e3b4ff6f819ccc497d5523cf916cce
m_Name: Chapter1_Yuna2
m_GraphNodeModels:
- rid: 4848514365209968921
- rid: 4848514365209968923
m_GraphWireModels:
- rid: 4848514365209968937
m_GraphStickyNoteModels: []
m_GraphPlacematModels: []
m_GraphVariableModels: []
m_GraphPortalModels: []
m_SectionModels:
- rid: 4848514365209968919
m_LocalSubgraphs: []
m_LastKnownBounds:
serializedVersion: 2
x: -86
y: 92
width: 617
height: 432
m_GraphElementMetaData:
- m_Guid:
m_Value0: 11886921906498108818
m_Value1: 1241276629292152157
m_HashGuid:
serializedVersion: 2
Hash: 92fda08d7ed4f6a45df5f38c84e63911
m_Category: 0
m_Index: 0
- m_Guid:
m_Value0: 5760401696664917696
m_Value1: 5304284838533059046
m_HashGuid:
serializedVersion: 2
Hash: c01645bdd20ef14fe6d14014f59a9c49
m_Category: 0
m_Index: 1
- m_Guid:
m_Value0: 12075701744894930101
m_Value1: 8354277098249585595
m_HashGuid:
serializedVersion: 2
Hash: b5ec06d6c18295a7bb03590cc25af073
m_Category: 2
m_Index: 0
m_EntryPoint:
rid: 4848514365209968921
m_Graph:
rid: 4848514365209968920
- rid: 4848514365209968919
type: {class: SectionModel, ns: Unity.GraphToolkit.Editor, asm: UnityEditor.GraphToolkitModule}
data:
m_Guid:
m_Value0: 17677551595292556901
m_Value1: 13576497333533336155
m_HashGuid:
serializedVersion: 2
Hash: 657e0d28844753f55be24abb646869bc
m_Version: 2
m_Items: []
m_Title:
- rid: 4848514365209968920
type: {class: DialogGraph, ns: DinoLove.Dialog.GraphTool.Editor, asm: Assembly-CSharp-Editor}
data:
- rid: 4848514365209968921
type: {class: UserNodeModelImp, ns: Unity.GraphToolkit.Editor.Implementation, asm: UnityEditor.GraphToolkitModule}
data:
m_Guid:
m_Value0: 11886921906498108818
m_Value1: 1241276629292152157
m_HashGuid:
serializedVersion: 2
Hash: 92fda08d7ed4f6a45df5f38c84e63911
m_Version: 2
m_Position: {x: -86.250015, y: 147.20003}
m_Title:
m_Tooltip:
m_NodePreviewModel:
rid: -2
m_State: 0
m_InputConstantsById:
m_KeyList: []
m_ValueList: []
m_InputPortInfos:
expandedPortsById:
m_KeyList: []
m_ValueList:
m_OutputPortInfos:
expandedPortsById:
m_KeyList: []
m_ValueList:
m_Collapsed: 0
m_CurrentModeIndex: 0
m_ElementColor:
m_Color: {r: 0, g: 0, b: 0, a: 0}
m_HasUserColor: 0
m_Node:
rid: 4848514365209968922
- rid: 4848514365209968922
type: {class: DialogStartNode, ns: DinoLove.Dialog.GraphTool.Editor, asm: Assembly-CSharp-Editor}
data:
- rid: 4848514365209968923
type: {class: UserNodeModelImp, ns: Unity.GraphToolkit.Editor.Implementation, asm: UnityEditor.GraphToolkitModule}
data:
m_Guid:
m_Value0: 5760401696664917696
m_Value1: 5304284838533059046
m_HashGuid:
serializedVersion: 2
Hash: c01645bdd20ef14fe6d14014f59a9c49
m_Version: 2
m_Position: {x: 180.505, y: 92.442505}
m_Title:
m_Tooltip:
m_NodePreviewModel:
rid: -2
m_State: 0
m_InputConstantsById:
m_KeyList:
- __option_ChoiceCount
- __option_EventKey
- Speaker
- TalkText
- Gesture
- Expression
- Voice
- Bgm
- Vfx
- LineDuration
- LookAtPlayer
- WaitForInput
m_ValueList:
- rid: 4848514365209968924
- rid: 4848514365209968925
- rid: 4848514365209968926
- rid: 4848514365209968927
- rid: 4848514365209968928
- rid: 4848514365209968929
- rid: 4848514365209968930
- rid: 4848514365209968931
- rid: 4848514365209968932
- rid: 4848514365209968933
- rid: 4848514365209968934
- rid: 4848514365209968935
m_InputPortInfos:
expandedPortsById:
m_KeyList: []
m_ValueList:
m_OutputPortInfos:
expandedPortsById:
m_KeyList: []
m_ValueList:
m_Collapsed: 0
m_CurrentModeIndex: 0
m_ElementColor:
m_Color: {r: 0, g: 0, b: 0, a: 0}
m_HasUserColor: 0
m_Node:
rid: 4848514365209968936
- rid: 4848514365209968924
type: {class: 'Constant`1[[System.Int32, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: UnityEditor.GraphToolkitModule}
data:
m_Value: 0
- rid: 4848514365209968925
type: {class: 'Constant`1[[System.String, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: UnityEditor.GraphToolkitModule}
data:
m_Value:
- rid: 4848514365209968926
type: {class: 'Constant`1[[CharacterData, Assembly-CSharp]]', ns: Unity.GraphToolkit.Editor, asm: UnityEditor.GraphToolkitModule}
data:
m_Value: {fileID: 11400000, guid: ccaea1cd59b6def4e93764f1965fe26f, type: 2}
- rid: 4848514365209968927
type: {class: 'Constant`1[[DinoLove.Dialog.GraphTool.Editor.DialogText, Assembly-CSharp-Editor]]', ns: Unity.GraphToolkit.Editor, asm: UnityEditor.GraphToolkitModule}
data:
m_Value:
Value: "\uC5B4\uB5A1\uD574! \uC794\uB514 \uB108\uAC00 \uD070\uC77C\uC744
\uC800\uC9C8\uB800\uC5B4!"
- rid: 4848514365209968928
type: {class: 'Constant`1[[GestureData, Assembly-CSharp]]', ns: Unity.GraphToolkit.Editor, asm: UnityEditor.GraphToolkitModule}
data:
m_Value: {fileID: 0}
- rid: 4848514365209968929
type: {class: 'Constant`1[[ExpressionData, Assembly-CSharp]]', ns: Unity.GraphToolkit.Editor, asm: UnityEditor.GraphToolkitModule}
data:
m_Value: {fileID: 0}
- rid: 4848514365209968930
type: {class: 'Constant`1[[VoiceClip, Assembly-CSharp]]', ns: Unity.GraphToolkit.Editor, asm: UnityEditor.GraphToolkitModule}
data:
m_Value: {fileID: 0}
- rid: 4848514365209968931
type: {class: 'Constant`1[[UnityEngine.AudioClip, UnityEngine.AudioModule]]', ns: Unity.GraphToolkit.Editor, asm: UnityEditor.GraphToolkitModule}
data:
m_Value: {fileID: 0}
- rid: 4848514365209968932
type: {class: 'Constant`1[[UnityEngine.GameObject, UnityEngine.CoreModule]]', ns: Unity.GraphToolkit.Editor, asm: UnityEditor.GraphToolkitModule}
data:
m_Value: {fileID: 0}
- rid: 4848514365209968933
type: {class: 'Constant`1[[System.Single, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: UnityEditor.GraphToolkitModule}
data:
m_Value: 3
- rid: 4848514365209968934
type: {class: 'Constant`1[[System.Boolean, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: UnityEditor.GraphToolkitModule}
data:
m_Value: 1
- rid: 4848514365209968935
type: {class: 'Constant`1[[System.Boolean, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: UnityEditor.GraphToolkitModule}
data:
m_Value: 0
- rid: 4848514365209968936
type: {class: DialogLineNode, ns: DinoLove.Dialog.GraphTool.Editor, asm: Assembly-CSharp-Editor}
data:
- rid: 4848514365209968937
type: {class: WireModel, ns: Unity.GraphToolkit.Editor, asm: UnityEditor.GraphToolkitModule}
data:
m_Guid:
m_Value0: 12075701744894930101
m_Value1: 8354277098249585595
m_HashGuid:
serializedVersion: 2
Hash: b5ec06d6c18295a7bb03590cc25af073
m_Version: 2
m_FromPortReference:
m_NodeModelGuid:
m_Value0: 11886921906498108818
m_Value1: 1241276629292152157
m_NodeModelHashGuid:
serializedVersion: 2
Hash: 92fda08d7ed4f6a45df5f38c84e63911
m_UniqueId: Out
m_PortDirection: 2
m_PortOrientation: 0
m_Title:
m_ToPortReference:
m_NodeModelGuid:
m_Value0: 5760401696664917696
m_Value1: 5304284838533059046
m_NodeModelHashGuid:
serializedVersion: 2
Hash: c01645bdd20ef14fe6d14014f59a9c49
m_UniqueId: In
m_PortDirection: 1
m_PortOrientation: 0
m_Title:

View File

@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: 07e10aeedd00f9446aeeff50b21c0b19
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 11500000, guid: 2ae5ca89bbed445479d9023586f0c041, type: 3}

View File

@@ -20,13 +20,82 @@ MonoBehaviour:
m_Curves: {fileID: 0}
m_Parent: {fileID: 11400000}
m_Children: []
m_Clips: []
m_Clips:
- m_Version: 1
m_Start: 0
m_ClipIn: 0
m_Asset: {fileID: -771098743622065478}
m_Duration: 0.8333333333333334
m_TimeScale: 1
m_ParentTrack: {fileID: -2815585861390351363}
m_EaseInDuration: 0
m_EaseOutDuration: 0
m_BlendInDuration: -1
m_BlendOutDuration: -1
m_MixInCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
- serializedVersion: 3
time: 1
value: 1
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
m_MixOutCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 1
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
- serializedVersion: 3
time: 1
value: 0
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0
outWeight: 0
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
m_BlendInCurveMode: 0
m_BlendOutCurveMode: 0
m_ExposedParameterNames: []
m_AnimationCurves: {fileID: 0}
m_Recordable: 1
m_PostExtrapolationMode: 0
m_PreExtrapolationMode: 1
m_PostExtrapolationTime: Infinity
m_PreExtrapolationTime: 0
m_DisplayName: Recorded
m_Markers:
m_Objects: []
m_InfiniteClipPreExtrapolation: 1
m_InfiniteClipPostExtrapolation: 1
m_InfiniteClipOffsetPosition: {x: 4.082, y: 0.10000014, z: -7.219}
m_InfiniteClipOffsetEulerAngles: {x: -0, y: 90, z: 0}
m_InfiniteClipOffsetPosition: {x: 0, y: 0, z: 0}
m_InfiniteClipOffsetEulerAngles: {x: 0, y: 0, z: 0}
m_InfiniteClipTimeOffset: 0
m_InfiniteClipRemoveOffset: 0
m_InfiniteClipApplyFootIK: 1
@@ -36,11 +105,33 @@ MonoBehaviour:
m_EulerAngles: {x: 0, y: 0, z: 0}
m_AvatarMask: {fileID: 0}
m_ApplyAvatarMask: 1
m_TrackOffset: 0
m_InfiniteClip: {fileID: 4947415874097238917}
m_TrackOffset: 1
m_InfiniteClip: {fileID: 0}
m_OpenClipOffsetRotation: {x: 0, y: 0, z: 0, w: 1}
m_Rotation: {x: 0, y: 0, z: 0, w: 1}
m_ApplyOffsets: 0
--- !u!114 &-771098743622065478
MonoBehaviour:
m_ObjectHideFlags: 1
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: 030f85c3f73729f4f976f66ffb23b875, type: 3}
m_Name: Recorded
m_EditorClassIdentifier: Unity.Timeline::UnityEngine.Timeline.AnimationPlayableAsset
m_Clip: {fileID: 4947415874097238917}
m_Position: {x: 4.082, y: 0.10000014, z: -7.219}
m_EulerAngles: {x: -0, y: 90, z: 0}
m_UseTrackMatchFields: 1
m_MatchTargetFields: 63
m_RemoveStartOffset: 0
m_ApplyFootIK: 1
m_Loop: 0
m_Version: 1
m_Rotation: {x: 0, y: 0, z: 0, w: 1}
--- !u!114 &-750181864502722589
MonoBehaviour:
m_ObjectHideFlags: 1
@@ -81,12 +172,54 @@ MonoBehaviour:
m_Tracks:
- {fileID: -2815585861390351363}
- {fileID: -750181864502722589}
- {fileID: 2525309450605174760}
m_FixedDuration: 0
m_EditorSettings:
m_Framerate: 60
m_ScenePreview: 1
m_DurationMode: 0
m_MarkerTrack: {fileID: 0}
--- !u!114 &2525309450605174760
MonoBehaviour:
m_ObjectHideFlags: 1
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: d21dcc2386d650c4597f3633c75a1f98, type: 3}
m_Name: Animation Track (1)
m_EditorClassIdentifier: Unity.Timeline::UnityEngine.Timeline.AnimationTrack
m_Version: 3
m_AnimClip: {fileID: 0}
m_Locked: 0
m_Muted: 0
m_CustomPlayableFullTypename:
m_Curves: {fileID: 0}
m_Parent: {fileID: 11400000}
m_Children: []
m_Clips: []
m_Markers:
m_Objects: []
m_InfiniteClipPreExtrapolation: 1
m_InfiniteClipPostExtrapolation: 1
m_InfiniteClipOffsetPosition: {x: 3.795, y: 0.124, z: -9.36}
m_InfiniteClipOffsetEulerAngles: {x: 0, y: 329.95154, z: 0}
m_InfiniteClipTimeOffset: 0
m_InfiniteClipRemoveOffset: 0
m_InfiniteClipApplyFootIK: 1
mInfiniteClipLoop: 0
m_MatchTargetFields: 63
m_Position: {x: 0, y: 0, z: 0}
m_EulerAngles: {x: 0, y: 0, z: 0}
m_AvatarMask: {fileID: 0}
m_ApplyAvatarMask: 1
m_TrackOffset: 0
m_InfiniteClip: {fileID: 6398700257599453556}
m_OpenClipOffsetRotation: {x: 0, y: 0, z: 0, w: 1}
m_Rotation: {x: 0, y: 0, z: 0, w: 1}
m_ApplyOffsets: 0
--- !u!74 &4947415874097238917
AnimationClip:
m_ObjectHideFlags: 0
@@ -418,7 +551,452 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 15c38f6fa1940124db1ab7f6fe7268d1, type: 3}
m_Name: Signal Emitter
m_EditorClassIdentifier: Unity.Timeline::UnityEngine.Timeline.SignalEmitter
m_Time: 0.05
m_Time: 0.8833333333333333
m_Retroactive: 0
m_EmitOnce: 0
m_Asset: {fileID: 11400000, guid: 2bd1255d6715c4b44bc6c1fca1cb2053, type: 2}
--- !u!74 &6398700257599453556
AnimationClip:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Recorded (1)
serializedVersion: 8
m_Legacy: 0
m_Compressed: 0
m_UseHighQualityCurve: 1
m_RotationCurves: []
m_CompressedRotationCurves: []
m_EulerCurves:
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 3.0166667
value: {x: 0, y: 390.0485, z: 0}
inSlope: {x: 0, y: 0, z: 0}
outSlope: {x: 0, y: 0, z: 0}
tangentMode: 0
weightedMode: 0
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
- serializedVersion: 3
time: 4
value: {x: 0, y: 210.0484, z: 0}
inSlope: {x: 0, y: 0, z: 0}
outSlope: {x: 0, y: 0, z: 0}
tangentMode: 0
weightedMode: 0
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
path:
m_PositionCurves:
- curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: {x: -0.0029697418, y: 0, z: 0.024822235}
inSlope: {x: 0, y: 0, z: 0}
outSlope: {x: 0, y: 0, z: 0}
tangentMode: 0
weightedMode: 0
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
- serializedVersion: 3
time: 0.16666667
value: {x: -0.0066183805, y: 0, z: 0.038485527}
inSlope: {x: -0.019459406, y: 0, z: 0.07287089}
outSlope: {x: -0.019459406, y: 0, z: 0.07287089}
tangentMode: 0
weightedMode: 0
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
- serializedVersion: 3
time: 0.75
value: {x: -1.5300788, y: 0, z: 0.91977406}
inSlope: {x: 0, y: 0, z: 1.2368963}
outSlope: {x: 0, y: 0, z: 1.2368963}
tangentMode: 0
weightedMode: 0
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
- serializedVersion: 3
time: 3.0166667
value: {x: 1.0836543, y: 0.000000014901161, z: 5.4502783}
inSlope: {x: 0.00007578793, y: 0, z: 0}
outSlope: {x: 0.00007578793, y: 0, z: 0}
tangentMode: 0
weightedMode: 0
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
- serializedVersion: 3
time: 4
value: {x: 1.0837158, y: 0.000000014901161, z: 5.450218}
inSlope: {x: 0, y: 0, z: 0}
outSlope: {x: 0, y: 0, z: 0}
tangentMode: 0
weightedMode: 0
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
path:
m_ScaleCurves: []
m_FloatCurves: []
m_PPtrCurves: []
m_SampleRate: 60
m_WrapMode: 0
m_Bounds:
m_Center: {x: 0, y: 0, z: 0}
m_Extent: {x: 0, y: 0, z: 0}
m_ClipBindingConstant:
genericBindings:
- serializedVersion: 2
path: 0
attribute: 1
script: {fileID: 0}
typeID: 4
customType: 0
isPPtrCurve: 0
isIntCurve: 0
isSerializeReferenceCurve: 0
metaData: 0
- serializedVersion: 2
path: 0
attribute: 4
script: {fileID: 0}
typeID: 4
customType: 4
isPPtrCurve: 0
isIntCurve: 0
isSerializeReferenceCurve: 0
metaData: 0
pptrCurveMapping: []
m_AnimationClipSettings:
serializedVersion: 2
m_AdditiveReferencePoseClip: {fileID: 0}
m_AdditiveReferencePoseTime: 0
m_StartTime: 0
m_StopTime: 4
m_OrientationOffsetY: 0
m_Level: 0
m_CycleOffset: 0
m_HasAdditiveReferencePose: 0
m_LoopTime: 0
m_LoopBlend: 0
m_LoopBlendOrientation: 0
m_LoopBlendPositionY: 0
m_LoopBlendPositionXZ: 0
m_KeepOriginalOrientation: 0
m_KeepOriginalPositionY: 1
m_KeepOriginalPositionXZ: 0
m_HeightFromFeet: 0
m_Mirror: 0
m_EditorCurves:
- serializedVersion: 2
curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: -0.0029697418
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.16666667
value: -0.0066183805
inSlope: -0.019459406
outSlope: -0.019459406
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.75
value: -1.5300788
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 3.0166667
value: 1.0836543
inSlope: 0.00007578793
outSlope: 0.00007578793
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 4
value: 1.0837158
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_LocalPosition.x
path:
classID: 4
script: {fileID: 0}
flags: 0
- serializedVersion: 2
curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.16666667
value: 0
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.75
value: 0
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 3.0166667
value: 0.000000014901161
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 4
value: 0.000000014901161
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_LocalPosition.y
path:
classID: 4
script: {fileID: 0}
flags: 0
- serializedVersion: 2
curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0.024822235
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.16666667
value: 0.038485527
inSlope: 0.07287089
outSlope: 0.07287089
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 0.75
value: 0.91977406
inSlope: 1.2368963
outSlope: 1.2368963
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 3.0166667
value: 5.4502783
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 4
value: 5.450218
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_LocalPosition.z
path:
classID: 4
script: {fileID: 0}
flags: 0
- serializedVersion: 2
curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 3.0166667
value: 0
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 4
value: 0
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: localEulerAnglesRaw.x
path:
classID: 4
script: {fileID: 0}
flags: 16
- serializedVersion: 2
curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 3.0166667
value: 390.0485
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 4
value: 210.0484
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: localEulerAnglesRaw.y
path:
classID: 4
script: {fileID: 0}
flags: 16
- serializedVersion: 2
curve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 3.0166667
value: 0
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 4
value: 0
inSlope: 0
outSlope: 0
tangentMode: 136
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: localEulerAnglesRaw.z
path:
classID: 4
script: {fileID: 0}
flags: 16
m_EulerEditorCurves:
- serializedVersion: 2
curve:
serializedVersion: 2
m_Curve: []
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_LocalEulerAngles.x
path:
classID: 4
script: {fileID: 0}
flags: 0
- serializedVersion: 2
curve:
serializedVersion: 2
m_Curve: []
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_LocalEulerAngles.y
path:
classID: 4
script: {fileID: 0}
flags: 0
- serializedVersion: 2
curve:
serializedVersion: 2
m_Curve: []
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
attribute: m_LocalEulerAngles.z
path:
classID: 4
script: {fileID: 0}
flags: 0
m_HasGenericRootTransform: 1
m_HasMotionFloatCurves: 0
m_Events: []