문달기
This commit is contained in:
8
Assets/01_Scenes/Cave_Test_2.meta
Normal file
8
Assets/01_Scenes/Cave_Test_2.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 22c48954392c4924a9f14a73f3fbbb3d
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Binary file not shown.
BIN
Assets/01_Scenes/Cave_Test_2/Global Volume Profile.asset
LFS
Normal file
BIN
Assets/01_Scenes/Cave_Test_2/Global Volume Profile.asset
LFS
Normal file
Binary file not shown.
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 293ae9b4ba9bb864eb13ed76498d8af1
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/01_Scenes/Cave_Test_2/NavMesh-Cube (2).asset
LFS
Normal file
BIN
Assets/01_Scenes/Cave_Test_2/NavMesh-Cube (2).asset
LFS
Normal file
Binary file not shown.
8
Assets/01_Scenes/Cave_Test_2/NavMesh-Cube (2).asset.meta
Normal file
8
Assets/01_Scenes/Cave_Test_2/NavMesh-Cube (2).asset.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e784aa74ee4b0b6478f487690cea54a8
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 23800000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/01_Scenes/Cave_Test_2/NavMesh-Cube.asset
LFS
Normal file
BIN
Assets/01_Scenes/Cave_Test_2/NavMesh-Cube.asset
LFS
Normal file
Binary file not shown.
8
Assets/01_Scenes/Cave_Test_2/NavMesh-Cube.asset.meta
Normal file
8
Assets/01_Scenes/Cave_Test_2/NavMesh-Cube.asset.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5557f000a847e6543bf4b91f966c7a17
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 23800000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/01_Scenes/Cave_Test_2/NavMesh-NavMesh Surface.asset
LFS
Normal file
BIN
Assets/01_Scenes/Cave_Test_2/NavMesh-NavMesh Surface.asset
LFS
Normal file
Binary file not shown.
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: cd0bb753427d9b942acb6f375babd10c
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 23800000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/01_Scenes/Cave_Test_2/NavMesh-Raft 1.asset
LFS
Normal file
BIN
Assets/01_Scenes/Cave_Test_2/NavMesh-Raft 1.asset
LFS
Normal file
Binary file not shown.
8
Assets/01_Scenes/Cave_Test_2/NavMesh-Raft 1.asset.meta
Normal file
8
Assets/01_Scenes/Cave_Test_2/NavMesh-Raft 1.asset.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 09328789fee0d6545a33ffe0936cb421
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 23800000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/01_Scenes/Cave_Test_2/NavMesh-Raft.asset
LFS
Normal file
BIN
Assets/01_Scenes/Cave_Test_2/NavMesh-Raft.asset
LFS
Normal file
Binary file not shown.
8
Assets/01_Scenes/Cave_Test_2/NavMesh-Raft.asset.meta
Normal file
8
Assets/01_Scenes/Cave_Test_2/NavMesh-Raft.asset.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a0ce582b15881184db9fe7ed94ad5d90
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 23800000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/01_Scenes/Cave_Test_2/NavMesh-StylizedWater_Desktop (9).asset
LFS
Normal file
BIN
Assets/01_Scenes/Cave_Test_2/NavMesh-StylizedWater_Desktop (9).asset
LFS
Normal file
Binary file not shown.
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3b08abd6d4e548046ad05dcfeab40a03
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 23800000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/01_Scenes/Cave_Test_2/NavMesh-alt.asset
LFS
Normal file
BIN
Assets/01_Scenes/Cave_Test_2/NavMesh-alt.asset
LFS
Normal file
Binary file not shown.
8
Assets/01_Scenes/Cave_Test_2/NavMesh-alt.asset.meta
Normal file
8
Assets/01_Scenes/Cave_Test_2/NavMesh-alt.asset.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 28542cc7fcf9a964c80227023cd1aa9f
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 23800000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,5 +1,7 @@
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Events;
|
||||
using UnityEngine.XR.Interaction.Toolkit;
|
||||
using UnityEngine.XR.Interaction.Toolkit.Interactables;
|
||||
|
||||
public class ClamBiteDetector : MonoBehaviour
|
||||
@@ -21,22 +23,48 @@ public class ClamBiteDetector : MonoBehaviour
|
||||
[Tooltip("조개가 닫히는 동안 이미 한 번 물렸으면 추가 판정을 막습니다.")]
|
||||
[SerializeField] private bool biteOncePerClose = true;
|
||||
|
||||
[Header("Target Detection")]
|
||||
[Tooltip("손 오브젝트에 붙일 태그입니다. 태그를 안 쓰면 XRHandMarker로도 판정합니다.")]
|
||||
[SerializeField] private string handTag = "PlayerHand";
|
||||
[Tooltip("미션 중 BiteZone Collider를 계속 켜두어 조각이 빠져나갔는지 추적합니다.")]
|
||||
[SerializeField] private bool keepBiteZoneEnabledDuringMission = true;
|
||||
|
||||
[Tooltip("기억의 조각 태그입니다. 단, 조각은 잡힌 상태일 때만 물림 대상으로 봅니다.")]
|
||||
[Header("Fragment Rule")]
|
||||
[Tooltip("기억의 조각을 잡은 뒤 BiteZone을 빠져나가지 못한 상태에서 조개가 닫히면 물림 처리합니다.")]
|
||||
[SerializeField] private bool biteIfGrabbedFragmentDidNotExitBiteZone = true;
|
||||
|
||||
[Tooltip("기억의 조각을 잡고 있을 때만 조각 물림 판정을 합니다.")]
|
||||
[SerializeField] private bool biteFragmentOnlyWhenGrabbed = true;
|
||||
|
||||
[Header("Hand Rule")]
|
||||
[Tooltip("손 콜라이더가 BiteZone 안에 있으면 조개가 닫힐 때 물림 처리합니다.")]
|
||||
[SerializeField] private bool biteHandInsideZone = true;
|
||||
|
||||
[Header("Target Detection")]
|
||||
[SerializeField] private string handTag = "PlayerHand";
|
||||
[SerializeField] private string fragmentTag = "MemoryFragment";
|
||||
|
||||
[Tooltip("기억의 조각은 플레이어가 잡고 있을 때만 물림 판정합니다.")]
|
||||
[SerializeField] private bool biteFragmentOnlyWhenGrabbed = true;
|
||||
[Header("Clear Event")]
|
||||
[Tooltip("기억의 조각을 잡은 상태로 BiteZone 밖으로 빼냈을 때 한 번만 성공 처리합니다.")]
|
||||
[SerializeField] private bool clearOnce = true;
|
||||
|
||||
[Tooltip("성공하면 조개 물림 미션을 끕니다.")]
|
||||
[SerializeField] private bool stopMissionOnClear = true;
|
||||
|
||||
public UnityEvent onMemoryFragmentEscaped;
|
||||
|
||||
[Header("Debug")]
|
||||
[SerializeField] private bool showDebugLog = true;
|
||||
|
||||
private bool missionActive;
|
||||
private bool biteWindowOpen;
|
||||
private bool hasBittenThisClose;
|
||||
|
||||
private bool fragmentGrabbed;
|
||||
private bool fragmentInsideBiteZone;
|
||||
private bool fragmentGrabStartedInsideBiteZone;
|
||||
private bool clearTriggered;
|
||||
|
||||
private XRGrabInteractable memoryGrabInteractable;
|
||||
private Collider[] memoryFragmentColliders;
|
||||
|
||||
private readonly HashSet<Collider> collidersInside = new();
|
||||
|
||||
private void Awake()
|
||||
@@ -59,16 +87,45 @@ private void Awake()
|
||||
if (memoryFragment == null)
|
||||
memoryFragment = FindFirstObjectByType<MemoryFragmentReset>();
|
||||
|
||||
if (memoryFragment != null)
|
||||
{
|
||||
memoryGrabInteractable = memoryFragment.GetComponent<XRGrabInteractable>();
|
||||
memoryFragmentColliders = memoryFragment.GetComponentsInChildren<Collider>(true);
|
||||
}
|
||||
|
||||
missionActive = missionActiveOnStart;
|
||||
}
|
||||
|
||||
private void Start()
|
||||
{
|
||||
if (missionActive && keepBiteZoneEnabledDuringMission)
|
||||
{
|
||||
SetBiteZoneEnabled(true);
|
||||
RefreshInitialOverlapState();
|
||||
}
|
||||
}
|
||||
|
||||
private void Update()
|
||||
{
|
||||
if (!missionActive || !fragmentGrabbed || !fragmentGrabStartedInsideBiteZone || clearTriggered)
|
||||
return;
|
||||
|
||||
UpdateFragmentOverlapState();
|
||||
}
|
||||
|
||||
private void OnEnable()
|
||||
{
|
||||
if (clam != null)
|
||||
{
|
||||
clam.onCloseStarted.AddListener(EnableBiteWindow);
|
||||
clam.onClosed.AddListener(DisableBiteWindow);
|
||||
clam.onOpened.AddListener(ResetBiteState);
|
||||
clam.onCloseStarted.AddListener(OnClamCloseStarted);
|
||||
clam.onClosed.AddListener(OnClamClosed);
|
||||
clam.onOpened.AddListener(OnClamOpened);
|
||||
}
|
||||
|
||||
if (memoryGrabInteractable != null)
|
||||
{
|
||||
memoryGrabInteractable.selectEntered.AddListener(OnFragmentGrabbed);
|
||||
memoryGrabInteractable.selectExited.AddListener(OnFragmentReleased);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -76,9 +133,15 @@ private void OnDisable()
|
||||
{
|
||||
if (clam != null)
|
||||
{
|
||||
clam.onCloseStarted.RemoveListener(EnableBiteWindow);
|
||||
clam.onClosed.RemoveListener(DisableBiteWindow);
|
||||
clam.onOpened.RemoveListener(ResetBiteState);
|
||||
clam.onCloseStarted.RemoveListener(OnClamCloseStarted);
|
||||
clam.onClosed.RemoveListener(OnClamClosed);
|
||||
clam.onOpened.RemoveListener(OnClamOpened);
|
||||
}
|
||||
|
||||
if (memoryGrabInteractable != null)
|
||||
{
|
||||
memoryGrabInteractable.selectEntered.RemoveListener(OnFragmentGrabbed);
|
||||
memoryGrabInteractable.selectExited.RemoveListener(OnFragmentReleased);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -86,111 +149,225 @@ private void OnTriggerEnter(Collider other)
|
||||
{
|
||||
collidersInside.Add(other);
|
||||
|
||||
if (IsBiteWindowOpen())
|
||||
TryBite(other);
|
||||
if (IsMemoryFragmentCollider(other))
|
||||
{
|
||||
fragmentInsideBiteZone = true;
|
||||
}
|
||||
|
||||
if (biteWindowOpen)
|
||||
{
|
||||
TryBiteByCollider(other);
|
||||
}
|
||||
}
|
||||
|
||||
private void OnTriggerStay(Collider other)
|
||||
{
|
||||
collidersInside.Add(other);
|
||||
|
||||
if (IsBiteWindowOpen())
|
||||
TryBite(other);
|
||||
if (IsMemoryFragmentCollider(other))
|
||||
{
|
||||
fragmentInsideBiteZone = true;
|
||||
}
|
||||
|
||||
if (biteWindowOpen)
|
||||
{
|
||||
TryBiteByCollider(other);
|
||||
}
|
||||
}
|
||||
|
||||
private void OnTriggerExit(Collider other)
|
||||
{
|
||||
collidersInside.Remove(other);
|
||||
|
||||
if (IsMemoryFragmentCollider(other))
|
||||
{
|
||||
UpdateFragmentOverlapState();
|
||||
}
|
||||
}
|
||||
|
||||
public void StartBiteMission()
|
||||
{
|
||||
missionActive = true;
|
||||
biteWindowOpen = false;
|
||||
hasBittenThisClose = false;
|
||||
clearTriggered = false;
|
||||
|
||||
collidersInside.Clear();
|
||||
|
||||
SetBiteZoneEnabled(true);
|
||||
RefreshInitialOverlapState();
|
||||
|
||||
if (showDebugLog)
|
||||
Debug.Log("[ClamBiteDetector] 조개 미션 시작. 물림 판정 활성 준비.", this);
|
||||
Debug.Log("[ClamBiteDetector] 조개 미션 시작. BiteZone 추적 ON.", this);
|
||||
}
|
||||
|
||||
public void StopBiteMission()
|
||||
{
|
||||
missionActive = false;
|
||||
biteWindowOpen = false;
|
||||
hasBittenThisClose = false;
|
||||
|
||||
fragmentGrabbed = false;
|
||||
fragmentInsideBiteZone = false;
|
||||
fragmentGrabStartedInsideBiteZone = false;
|
||||
|
||||
collidersInside.Clear();
|
||||
|
||||
if (biteZoneCollider != null)
|
||||
biteZoneCollider.enabled = false;
|
||||
SetBiteZoneEnabled(false);
|
||||
|
||||
if (showDebugLog)
|
||||
Debug.Log("[ClamBiteDetector] 조개 미션 정지. 물림 판정 비활성.", this);
|
||||
Debug.Log("[ClamBiteDetector] 조개 미션 정지. BiteZone 추적 OFF.", this);
|
||||
}
|
||||
|
||||
private void EnableBiteWindow()
|
||||
private void OnClamOpened()
|
||||
{
|
||||
hasBittenThisClose = false;
|
||||
biteWindowOpen = false;
|
||||
|
||||
if (!missionActive)
|
||||
return;
|
||||
|
||||
SetBiteZoneEnabled(true);
|
||||
RefreshInitialOverlapState();
|
||||
}
|
||||
|
||||
private void OnClamCloseStarted()
|
||||
{
|
||||
if (!missionActive)
|
||||
return;
|
||||
|
||||
hasBittenThisClose = false;
|
||||
biteWindowOpen = true;
|
||||
|
||||
if (biteZoneCollider != null)
|
||||
biteZoneCollider.enabled = true;
|
||||
SetBiteZoneEnabled(true);
|
||||
RefreshInitialOverlapState();
|
||||
|
||||
if (showDebugLog)
|
||||
Debug.Log("[ClamBiteDetector] 조개 물림 판정 ON", this);
|
||||
Debug.Log("[ClamBiteDetector] 조개 닫힘 시작. 물림 판정 체크.", this);
|
||||
|
||||
foreach (Collider col in collidersInside)
|
||||
TryBiteGrabbedFragmentIfStillInside();
|
||||
TryBiteCurrentHandsInside();
|
||||
}
|
||||
|
||||
private void OnClamClosed()
|
||||
{
|
||||
biteWindowOpen = false;
|
||||
hasBittenThisClose = false;
|
||||
collidersInside.Clear();
|
||||
|
||||
if (!missionActive)
|
||||
return;
|
||||
|
||||
if (keepBiteZoneEnabledDuringMission)
|
||||
{
|
||||
if (col != null)
|
||||
TryBite(col);
|
||||
SetBiteZoneEnabled(true);
|
||||
RefreshInitialOverlapState();
|
||||
}
|
||||
else
|
||||
{
|
||||
SetBiteZoneEnabled(false);
|
||||
}
|
||||
|
||||
if (showDebugLog)
|
||||
Debug.Log("[ClamBiteDetector] 조개 닫힘 완료. 물림 판정 종료.", this);
|
||||
}
|
||||
|
||||
private void DisableBiteWindow()
|
||||
private void OnFragmentGrabbed(SelectEnterEventArgs args)
|
||||
{
|
||||
if (biteZoneCollider != null)
|
||||
biteZoneCollider.enabled = false;
|
||||
fragmentGrabbed = true;
|
||||
fragmentInsideBiteZone = IsFragmentOverlappingBiteZone();
|
||||
fragmentGrabStartedInsideBiteZone = fragmentInsideBiteZone;
|
||||
|
||||
collidersInside.Clear();
|
||||
RefreshInitialOverlapState();
|
||||
|
||||
if (showDebugLog && missionActive)
|
||||
Debug.Log("[ClamBiteDetector] 조개 물림 판정 OFF", this);
|
||||
if (showDebugLog)
|
||||
Debug.Log("[ClamBiteDetector] 기억의 조각을 잡았습니다.", this);
|
||||
}
|
||||
|
||||
private void ResetBiteState()
|
||||
private void OnFragmentReleased(SelectExitEventArgs args)
|
||||
{
|
||||
hasBittenThisClose = false;
|
||||
fragmentGrabbed = false;
|
||||
fragmentGrabStartedInsideBiteZone = false;
|
||||
|
||||
if (showDebugLog)
|
||||
Debug.Log("[ClamBiteDetector] 기억의 조각을 놓았습니다.", this);
|
||||
}
|
||||
|
||||
private bool IsBiteWindowOpen()
|
||||
private void TryBiteGrabbedFragmentIfStillInside()
|
||||
{
|
||||
if (!missionActive)
|
||||
return false;
|
||||
|
||||
if (biteZoneCollider == null)
|
||||
return false;
|
||||
|
||||
return biteZoneCollider.enabled;
|
||||
}
|
||||
|
||||
private void TryBite(Collider other)
|
||||
{
|
||||
if (other == null)
|
||||
if (!biteIfGrabbedFragmentDidNotExitBiteZone)
|
||||
return;
|
||||
|
||||
if (!missionActive)
|
||||
if (memoryFragment == null)
|
||||
return;
|
||||
|
||||
if (biteOncePerClose && hasBittenThisClose)
|
||||
return;
|
||||
|
||||
bool isHand = IsHandCollider(other);
|
||||
bool isGrabbedFragment = IsGrabbedMemoryFragment(other);
|
||||
bool isSelected = IsFragmentGrabbed();
|
||||
|
||||
if (!isHand && !isGrabbedFragment)
|
||||
if (biteFragmentOnlyWhenGrabbed && !isSelected)
|
||||
return;
|
||||
|
||||
bool shouldBite = isSelected && IsFragmentOverlappingBiteZone();
|
||||
|
||||
if (!shouldBite)
|
||||
return;
|
||||
|
||||
BiteNow("기억의 조각을 잡은 뒤 BiteZone 밖으로 빼내지 못함");
|
||||
}
|
||||
|
||||
private void TryBiteCurrentHandsInside()
|
||||
{
|
||||
if (!biteHandInsideZone)
|
||||
return;
|
||||
|
||||
foreach (Collider col in collidersInside)
|
||||
{
|
||||
if (col == null)
|
||||
continue;
|
||||
|
||||
if (IsHandCollider(col))
|
||||
{
|
||||
BiteNow("손이 BiteZone 안에 있음");
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void TryBiteByCollider(Collider other)
|
||||
{
|
||||
if (!missionActive)
|
||||
return;
|
||||
|
||||
if (!biteWindowOpen)
|
||||
return;
|
||||
|
||||
if (biteOncePerClose && hasBittenThisClose)
|
||||
return;
|
||||
|
||||
if (biteHandInsideZone && IsHandCollider(other))
|
||||
{
|
||||
BiteNow("손이 BiteZone 안에 있음");
|
||||
return;
|
||||
}
|
||||
|
||||
if (IsMemoryFragmentCollider(other))
|
||||
{
|
||||
if (memoryGrabInteractable != null && memoryGrabInteractable.isSelected)
|
||||
{
|
||||
BiteNow("기억의 조각이 BiteZone 안에 있음");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void BiteNow(string reason)
|
||||
{
|
||||
if (biteOncePerClose && hasBittenThisClose)
|
||||
return;
|
||||
|
||||
hasBittenThisClose = true;
|
||||
biteWindowOpen = false;
|
||||
|
||||
if (health != null)
|
||||
health.TakeDamage(biteDamage);
|
||||
@@ -198,45 +375,153 @@ private void TryBite(Collider other)
|
||||
if (memoryFragment != null)
|
||||
memoryFragment.ResetFragment();
|
||||
|
||||
fragmentGrabbed = false;
|
||||
fragmentInsideBiteZone = false;
|
||||
fragmentGrabStartedInsideBiteZone = false;
|
||||
|
||||
if (showDebugLog)
|
||||
{
|
||||
Debug.Log($"[ClamBiteDetector] 조개에게 물림. 데미지 {biteDamage}, 기억의 조각 리셋", this);
|
||||
Debug.Log($"[ClamBiteDetector] 조개에게 물림. 이유: {reason}. 데미지 {biteDamage}, 기억의 조각 리셋", this);
|
||||
}
|
||||
}
|
||||
|
||||
private void TriggerMemoryFragmentEscaped()
|
||||
{
|
||||
if (clearOnce && clearTriggered)
|
||||
return;
|
||||
|
||||
clearTriggered = true;
|
||||
|
||||
if (showDebugLog)
|
||||
Debug.Log("[ClamBiteDetector] 기억의 조각 꺼내기 성공. 클리어 이벤트 실행.", this);
|
||||
|
||||
onMemoryFragmentEscaped?.Invoke();
|
||||
|
||||
if (stopMissionOnClear)
|
||||
{
|
||||
StopBiteMission();
|
||||
}
|
||||
}
|
||||
|
||||
private void RefreshInitialOverlapState()
|
||||
{
|
||||
if (biteZoneCollider == null || !biteZoneCollider.enabled)
|
||||
return;
|
||||
|
||||
collidersInside.Clear();
|
||||
fragmentInsideBiteZone = false;
|
||||
|
||||
Bounds bounds = biteZoneCollider.bounds;
|
||||
|
||||
Collider[] hits = Physics.OverlapBox(
|
||||
bounds.center,
|
||||
bounds.extents,
|
||||
biteZoneCollider.transform.rotation,
|
||||
~0,
|
||||
QueryTriggerInteraction.Collide
|
||||
);
|
||||
|
||||
foreach (Collider hit in hits)
|
||||
{
|
||||
if (hit == null)
|
||||
continue;
|
||||
|
||||
collidersInside.Add(hit);
|
||||
|
||||
if (IsMemoryFragmentCollider(hit))
|
||||
fragmentInsideBiteZone = true;
|
||||
}
|
||||
}
|
||||
|
||||
private void UpdateFragmentOverlapState()
|
||||
{
|
||||
bool wasInside = fragmentInsideBiteZone;
|
||||
fragmentInsideBiteZone = IsFragmentOverlappingBiteZone();
|
||||
|
||||
if (!wasInside || fragmentInsideBiteZone)
|
||||
return;
|
||||
|
||||
if (!fragmentGrabbed || !missionActive || !fragmentGrabStartedInsideBiteZone)
|
||||
return;
|
||||
|
||||
if (showDebugLog)
|
||||
Debug.Log("[ClamBiteDetector] 기억의 조각이 BiteZone 밖으로 빠져나갔습니다.", this);
|
||||
|
||||
TriggerMemoryFragmentEscaped();
|
||||
}
|
||||
|
||||
private bool IsFragmentOverlappingBiteZone()
|
||||
{
|
||||
if (biteZoneCollider == null || memoryFragment == null)
|
||||
return false;
|
||||
|
||||
if (memoryFragmentColliders == null || memoryFragmentColliders.Length == 0)
|
||||
memoryFragmentColliders = memoryFragment.GetComponentsInChildren<Collider>(true);
|
||||
|
||||
foreach (Collider fragmentCollider in memoryFragmentColliders)
|
||||
{
|
||||
if (fragmentCollider == null || fragmentCollider == biteZoneCollider)
|
||||
continue;
|
||||
|
||||
if (Physics.ComputePenetration(
|
||||
biteZoneCollider,
|
||||
biteZoneCollider.transform.position,
|
||||
biteZoneCollider.transform.rotation,
|
||||
fragmentCollider,
|
||||
fragmentCollider.transform.position,
|
||||
fragmentCollider.transform.rotation,
|
||||
out _,
|
||||
out _))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
if (biteZoneCollider.bounds.Intersects(fragmentCollider.bounds))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
private bool IsFragmentGrabbed()
|
||||
{
|
||||
if (memoryGrabInteractable != null)
|
||||
return memoryGrabInteractable.isSelected;
|
||||
|
||||
return fragmentGrabbed;
|
||||
}
|
||||
|
||||
private void SetBiteZoneEnabled(bool enabled)
|
||||
{
|
||||
if (biteZoneCollider == null)
|
||||
return;
|
||||
|
||||
biteZoneCollider.enabled = enabled;
|
||||
}
|
||||
|
||||
private bool IsMemoryFragmentCollider(Collider other)
|
||||
{
|
||||
if (other == null)
|
||||
return false;
|
||||
|
||||
if (other.CompareTag(fragmentTag))
|
||||
return true;
|
||||
|
||||
MemoryFragmentReset fragment = other.GetComponentInParent<MemoryFragmentReset>();
|
||||
return fragment != null;
|
||||
}
|
||||
|
||||
private bool IsHandCollider(Collider other)
|
||||
{
|
||||
if (other == null)
|
||||
return false;
|
||||
|
||||
if (other.CompareTag(handTag))
|
||||
return true;
|
||||
|
||||
XRHandMarker marker = other.GetComponentInParent<XRHandMarker>();
|
||||
|
||||
return marker != null;
|
||||
}
|
||||
|
||||
private bool IsGrabbedMemoryFragment(Collider other)
|
||||
{
|
||||
MemoryFragmentReset fragment = other.GetComponentInParent<MemoryFragmentReset>();
|
||||
|
||||
if (fragment == null)
|
||||
{
|
||||
if (!other.CompareTag(fragmentTag))
|
||||
return false;
|
||||
|
||||
fragment = memoryFragment;
|
||||
}
|
||||
|
||||
if (fragment == null)
|
||||
return false;
|
||||
|
||||
XRGrabInteractable grab = fragment.GetComponent<XRGrabInteractable>();
|
||||
|
||||
if (grab == null)
|
||||
return !biteFragmentOnlyWhenGrabbed;
|
||||
|
||||
if (biteFragmentOnlyWhenGrabbed)
|
||||
return grab.isSelected;
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
167
Assets/02_Scripts/Cave/FallingStalactite.cs
Normal file
167
Assets/02_Scripts/Cave/FallingStalactite.cs
Normal file
@@ -0,0 +1,167 @@
|
||||
using System.Collections;
|
||||
using UnityEngine;
|
||||
|
||||
public class FallingStalactite : MonoBehaviour
|
||||
{
|
||||
[Header("References")]
|
||||
[SerializeField] private Rigidbody rb;
|
||||
[SerializeField] private Collider damageCollider;
|
||||
[SerializeField] private DamageObstacle damageObstacle;
|
||||
|
||||
[Header("Fall Settings")]
|
||||
[SerializeField] private float fallDelay = 0.0f;
|
||||
|
||||
[Tooltip("떨어질 때 아래 방향으로 추가 속도를 줍니다.")]
|
||||
[SerializeField] private float initialDownVelocity = 0f;
|
||||
|
||||
[Tooltip("떨어질 때 약간 회전시키고 싶으면 값을 넣습니다.")]
|
||||
[SerializeField] private Vector3 initialAngularVelocity = new Vector3(0f, 0f, 0f);
|
||||
|
||||
[Header("Damage")]
|
||||
[SerializeField] private int damage = 10;
|
||||
|
||||
[Tooltip("떨어지기 전에는 데미지를 끄고, 떨어질 때 켭니다.")]
|
||||
[SerializeField] private bool damageOnlyWhileFalling = true;
|
||||
|
||||
[Header("Reset Option")]
|
||||
[SerializeField] private bool resetAfterFall = true;
|
||||
|
||||
[Tooltip("떨어진 뒤 몇 초 후 원래 위치로 돌아갈지 설정합니다.")]
|
||||
[SerializeField] private float resetDelay = 4.0f;
|
||||
|
||||
[Tooltip("리셋할 때 종유석을 다시 숨기지 않고 원위치에 고정합니다.")]
|
||||
[SerializeField] private bool readyAgainAfterReset = true;
|
||||
|
||||
[Header("Debug")]
|
||||
[SerializeField] private bool showDebugLog = true;
|
||||
|
||||
private Vector3 startPosition;
|
||||
private Quaternion startRotation;
|
||||
private bool hasFallen;
|
||||
private Coroutine fallRoutine;
|
||||
|
||||
public bool HasFallen => hasFallen;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
ResolveReferences();
|
||||
|
||||
startPosition = transform.position;
|
||||
startRotation = transform.rotation;
|
||||
|
||||
PrepareStalactite();
|
||||
}
|
||||
|
||||
private void ResolveReferences()
|
||||
{
|
||||
if (rb == null)
|
||||
rb = GetComponent<Rigidbody>();
|
||||
|
||||
if (damageCollider == null)
|
||||
damageCollider = GetComponent<Collider>();
|
||||
|
||||
if (damageObstacle == null)
|
||||
damageObstacle = GetComponent<DamageObstacle>();
|
||||
}
|
||||
|
||||
private void PrepareStalactite()
|
||||
{
|
||||
if (rb != null)
|
||||
{
|
||||
rb.useGravity = false;
|
||||
rb.isKinematic = true;
|
||||
rb.linearVelocity = Vector3.zero;
|
||||
rb.angularVelocity = Vector3.zero;
|
||||
}
|
||||
|
||||
if (damageObstacle != null)
|
||||
{
|
||||
damageObstacle.SetDamage(damage);
|
||||
damageObstacle.SetCanDamage(!damageOnlyWhileFalling);
|
||||
}
|
||||
|
||||
if (damageCollider != null)
|
||||
{
|
||||
damageCollider.enabled = true;
|
||||
}
|
||||
|
||||
hasFallen = false;
|
||||
}
|
||||
|
||||
public void TriggerFall()
|
||||
{
|
||||
if (hasFallen)
|
||||
return;
|
||||
|
||||
if (fallRoutine != null)
|
||||
StopCoroutine(fallRoutine);
|
||||
|
||||
fallRoutine = StartCoroutine(FallRoutine());
|
||||
}
|
||||
|
||||
private IEnumerator FallRoutine()
|
||||
{
|
||||
hasFallen = true;
|
||||
|
||||
if (fallDelay > 0f)
|
||||
yield return new WaitForSeconds(fallDelay);
|
||||
|
||||
if (damageObstacle != null)
|
||||
{
|
||||
damageObstacle.SetDamage(damage);
|
||||
damageObstacle.SetCanDamage(true);
|
||||
}
|
||||
|
||||
if (rb != null)
|
||||
{
|
||||
rb.isKinematic = false;
|
||||
rb.useGravity = true;
|
||||
|
||||
if (initialDownVelocity > 0f)
|
||||
{
|
||||
rb.linearVelocity = Vector3.down * initialDownVelocity;
|
||||
}
|
||||
|
||||
rb.angularVelocity = initialAngularVelocity;
|
||||
}
|
||||
|
||||
if (showDebugLog)
|
||||
Debug.Log($"[FallingStalactite] {name} 낙하 시작. 데미지 {damage}", this);
|
||||
|
||||
if (resetAfterFall)
|
||||
{
|
||||
yield return new WaitForSeconds(resetDelay);
|
||||
ResetStalactite();
|
||||
}
|
||||
|
||||
fallRoutine = null;
|
||||
}
|
||||
|
||||
public void ResetStalactite()
|
||||
{
|
||||
if (rb != null)
|
||||
{
|
||||
rb.linearVelocity = Vector3.zero;
|
||||
rb.angularVelocity = Vector3.zero;
|
||||
rb.useGravity = false;
|
||||
rb.isKinematic = true;
|
||||
}
|
||||
|
||||
transform.position = startPosition;
|
||||
transform.rotation = startRotation;
|
||||
|
||||
if (damageObstacle != null)
|
||||
{
|
||||
damageObstacle.SetDamage(damage);
|
||||
damageObstacle.SetCanDamage(!damageOnlyWhileFalling);
|
||||
}
|
||||
|
||||
if (readyAgainAfterReset)
|
||||
{
|
||||
hasFallen = false;
|
||||
}
|
||||
|
||||
if (showDebugLog)
|
||||
Debug.Log($"[FallingStalactite] {name} 원위치 리셋", this);
|
||||
}
|
||||
}
|
||||
2
Assets/02_Scripts/Cave/FallingStalactite.cs.meta
Normal file
2
Assets/02_Scripts/Cave/FallingStalactite.cs.meta
Normal file
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ba858a5e5caeb144d91cb3020852ad0f
|
||||
@@ -18,12 +18,41 @@ public class RaftRideEndHandler : MonoBehaviour
|
||||
[Tooltip("도착 후 활성화할 조개 미션 오브젝트")]
|
||||
[SerializeField] private GameObject clamMissionObject;
|
||||
|
||||
[Tooltip("처음에는 꺼두었다가 나중에 기억의 조각 획득 후 켤 문")]
|
||||
[Tooltip("기억의 조각 획득 후 켤 다음 문 오브젝트")]
|
||||
[SerializeField] private GameObject nextDoorObject;
|
||||
|
||||
[Header("Clam Bite Mission")]
|
||||
[Tooltip("도착 후 조개 물림 판정을 시작할지 여부")]
|
||||
[SerializeField] private bool startClamBiteMissionOnArrive = true;
|
||||
|
||||
[Tooltip("직접 연결할 조개 물림 판정 스크립트들입니다. 비워두면 Clam Mission Object 아래에서 자동 탐색합니다.")]
|
||||
[SerializeField] private ClamBiteDetector[] clamBiteDetectors;
|
||||
|
||||
[Header("Clear Options")]
|
||||
[Tooltip("조개 미션 성공 시 조개 물림 판정을 정지합니다.")]
|
||||
[SerializeField] private bool stopClamBiteMissionOnClear = true;
|
||||
|
||||
[Tooltip("조개 미션 성공 시 조개 오브젝트를 계속 유지할지 여부입니다.")]
|
||||
[SerializeField] private bool keepClamMissionObjectAfterClear = true;
|
||||
|
||||
[Tooltip("조개 미션 성공 시 Next Door Object를 켭니다.")]
|
||||
[SerializeField] private bool activateNextDoorOnClear = true;
|
||||
|
||||
[Header("Debug")]
|
||||
[SerializeField] private bool showDebugLog = true;
|
||||
|
||||
private bool hasArrived;
|
||||
private bool clamMissionCleared;
|
||||
|
||||
public void OnRaftArrived()
|
||||
{
|
||||
Debug.Log("[RaftRideEndHandler] 뗏목 도착 처리 시작.");
|
||||
if (hasArrived)
|
||||
return;
|
||||
|
||||
hasArrived = true;
|
||||
|
||||
if (showDebugLog)
|
||||
Debug.Log("[RaftRideEndHandler] 뗏목 도착 처리 시작.");
|
||||
|
||||
if (detachPlayerFromRaft && xrOrigin != null)
|
||||
{
|
||||
@@ -32,7 +61,8 @@ public void OnRaftArrived()
|
||||
|
||||
if (exitPoint != null && xrOrigin != null)
|
||||
{
|
||||
// 강제로 이동시키고 싶지 않으면 이 부분은 주석 처리해도 됨.
|
||||
// 현재는 강제 이동하지 않음.
|
||||
// 필요하면 아래 두 줄을 활성화.
|
||||
// xrOrigin.position = exitPoint.position;
|
||||
// xrOrigin.rotation = exitPoint.rotation;
|
||||
}
|
||||
@@ -52,6 +82,126 @@ public void OnRaftArrived()
|
||||
nextDoorObject.SetActive(false);
|
||||
}
|
||||
|
||||
Debug.Log("[RaftRideEndHandler] 이제 플레이어가 육지로 이동해 조개 미션을 진행할 수 있습니다.");
|
||||
if (startClamBiteMissionOnArrive)
|
||||
{
|
||||
StartClamBiteMission();
|
||||
}
|
||||
|
||||
if (showDebugLog)
|
||||
Debug.Log("[RaftRideEndHandler] 도착 처리 완료. 육지/조개 미션 진행 가능.");
|
||||
}
|
||||
|
||||
public void OnClamMissionCleared()
|
||||
{
|
||||
if (clamMissionCleared)
|
||||
return;
|
||||
|
||||
clamMissionCleared = true;
|
||||
|
||||
if (showDebugLog)
|
||||
Debug.Log("[RaftRideEndHandler] 조개 미션 클리어. 다음 문을 엽니다.");
|
||||
|
||||
if (stopClamBiteMissionOnClear)
|
||||
{
|
||||
StopClamBiteMission();
|
||||
}
|
||||
|
||||
if (clamMissionObject != null && !keepClamMissionObjectAfterClear)
|
||||
{
|
||||
clamMissionObject.SetActive(false);
|
||||
}
|
||||
|
||||
if (activateNextDoorOnClear && nextDoorObject != null)
|
||||
{
|
||||
nextDoorObject.SetActive(true);
|
||||
}
|
||||
else if (activateNextDoorOnClear && nextDoorObject == null)
|
||||
{
|
||||
Debug.LogWarning("[RaftRideEndHandler] Next Door Object가 연결되지 않았습니다.", this);
|
||||
}
|
||||
}
|
||||
|
||||
public void OpenNextDoor()
|
||||
{
|
||||
if (nextDoorObject == null)
|
||||
{
|
||||
Debug.LogWarning("[RaftRideEndHandler] Next Door Object가 연결되지 않았습니다.", this);
|
||||
return;
|
||||
}
|
||||
|
||||
nextDoorObject.SetActive(true);
|
||||
|
||||
if (showDebugLog)
|
||||
Debug.Log("[RaftRideEndHandler] Next Door Object 활성화.");
|
||||
}
|
||||
|
||||
public void CloseNextDoor()
|
||||
{
|
||||
if (nextDoorObject == null)
|
||||
return;
|
||||
|
||||
nextDoorObject.SetActive(false);
|
||||
|
||||
if (showDebugLog)
|
||||
Debug.Log("[RaftRideEndHandler] Next Door Object 비활성화.");
|
||||
}
|
||||
|
||||
private void StartClamBiteMission()
|
||||
{
|
||||
ResolveClamBiteDetectors();
|
||||
|
||||
if (clamBiteDetectors == null || clamBiteDetectors.Length == 0)
|
||||
{
|
||||
if (showDebugLog)
|
||||
Debug.LogWarning("[RaftRideEndHandler] ClamBiteDetector를 찾지 못했습니다.", this);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
foreach (ClamBiteDetector detector in clamBiteDetectors)
|
||||
{
|
||||
if (detector == null)
|
||||
continue;
|
||||
|
||||
detector.StartBiteMission();
|
||||
}
|
||||
|
||||
if (showDebugLog)
|
||||
Debug.Log("[RaftRideEndHandler] 조개 물림 미션 시작.");
|
||||
}
|
||||
|
||||
private void StopClamBiteMission()
|
||||
{
|
||||
ResolveClamBiteDetectors();
|
||||
|
||||
if (clamBiteDetectors == null || clamBiteDetectors.Length == 0)
|
||||
return;
|
||||
|
||||
foreach (ClamBiteDetector detector in clamBiteDetectors)
|
||||
{
|
||||
if (detector == null)
|
||||
continue;
|
||||
|
||||
detector.StopBiteMission();
|
||||
}
|
||||
|
||||
if (showDebugLog)
|
||||
Debug.Log("[RaftRideEndHandler] 조개 물림 미션 정지.");
|
||||
}
|
||||
|
||||
private void ResolveClamBiteDetectors()
|
||||
{
|
||||
if (clamBiteDetectors != null && clamBiteDetectors.Length > 0)
|
||||
return;
|
||||
|
||||
if (clamMissionObject != null)
|
||||
{
|
||||
clamBiteDetectors = clamMissionObject.GetComponentsInChildren<ClamBiteDetector>(true);
|
||||
}
|
||||
|
||||
if (clamBiteDetectors == null || clamBiteDetectors.Length == 0)
|
||||
{
|
||||
clamBiteDetectors = FindObjectsByType<ClamBiteDetector>(FindObjectsSortMode.None);
|
||||
}
|
||||
}
|
||||
}
|
||||
143
Assets/02_Scripts/Cave/StalactiteFallTrigger.cs
Normal file
143
Assets/02_Scripts/Cave/StalactiteFallTrigger.cs
Normal file
@@ -0,0 +1,143 @@
|
||||
using System.Collections;
|
||||
using UnityEngine;
|
||||
|
||||
public class StalactiteFallTrigger : MonoBehaviour
|
||||
{
|
||||
[Header("References")]
|
||||
[SerializeField] private FallingStalactite[] stalactites;
|
||||
|
||||
[Header("Trigger Settings")]
|
||||
[SerializeField] private bool triggerOnce = true;
|
||||
|
||||
[Tooltip("RaftDamageReceiver가 붙은 RaftHitBox가 들어왔을 때만 작동합니다.")]
|
||||
[SerializeField] private bool requireRaftDamageReceiver = true;
|
||||
|
||||
[Tooltip("특정 태그가 들어왔을 때도 작동시키고 싶으면 입력합니다. 비워두면 태그 검사를 하지 않습니다.")]
|
||||
[SerializeField] private string targetTag = "";
|
||||
|
||||
[Tooltip("트리거 후 종유석이 떨어지기까지의 추가 지연 시간입니다.")]
|
||||
[SerializeField] private float triggerDelay = 0f;
|
||||
|
||||
[Tooltip("여러 종유석을 순차적으로 떨어뜨릴 때 간격입니다.")]
|
||||
[SerializeField] private float intervalBetweenStalactites = 0.15f;
|
||||
|
||||
[Header("Debug")]
|
||||
[SerializeField] private bool showDebugLog = true;
|
||||
|
||||
private bool hasTriggered;
|
||||
private Coroutine triggerRoutine;
|
||||
|
||||
private void Reset()
|
||||
{
|
||||
Collider col = GetComponent<Collider>();
|
||||
|
||||
if (col != null)
|
||||
col.isTrigger = true;
|
||||
}
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
Collider col = GetComponent<Collider>();
|
||||
|
||||
if (col != null)
|
||||
col.isTrigger = true;
|
||||
|
||||
if (stalactites == null || stalactites.Length == 0)
|
||||
{
|
||||
stalactites = GetComponentsInChildren<FallingStalactite>(true);
|
||||
}
|
||||
}
|
||||
|
||||
private void OnTriggerEnter(Collider other)
|
||||
{
|
||||
TryTrigger(other);
|
||||
}
|
||||
|
||||
private void TryTrigger(Collider other)
|
||||
{
|
||||
if (triggerOnce && hasTriggered)
|
||||
return;
|
||||
|
||||
if (!IsValidTarget(other))
|
||||
return;
|
||||
|
||||
hasTriggered = true;
|
||||
|
||||
if (triggerRoutine != null)
|
||||
StopCoroutine(triggerRoutine);
|
||||
|
||||
triggerRoutine = StartCoroutine(TriggerRoutine());
|
||||
|
||||
if (showDebugLog)
|
||||
Debug.Log($"[StalactiteFallTrigger] {name} 작동. 감지 대상: {other.name}", this);
|
||||
}
|
||||
|
||||
private bool IsValidTarget(Collider other)
|
||||
{
|
||||
if (other == null)
|
||||
return false;
|
||||
|
||||
bool valid = false;
|
||||
|
||||
if (requireRaftDamageReceiver)
|
||||
{
|
||||
RaftDamageReceiver receiver = other.GetComponentInParent<RaftDamageReceiver>();
|
||||
if (receiver != null)
|
||||
valid = true;
|
||||
}
|
||||
|
||||
if (!string.IsNullOrEmpty(targetTag))
|
||||
{
|
||||
if (other.CompareTag(targetTag))
|
||||
valid = true;
|
||||
}
|
||||
|
||||
if (!requireRaftDamageReceiver && string.IsNullOrEmpty(targetTag))
|
||||
{
|
||||
valid = true;
|
||||
}
|
||||
|
||||
return valid;
|
||||
}
|
||||
|
||||
private IEnumerator TriggerRoutine()
|
||||
{
|
||||
if (triggerDelay > 0f)
|
||||
yield return new WaitForSeconds(triggerDelay);
|
||||
|
||||
if (stalactites == null || stalactites.Length == 0)
|
||||
{
|
||||
if (showDebugLog)
|
||||
Debug.LogWarning("[StalactiteFallTrigger] 연결된 FallingStalactite가 없습니다.", this);
|
||||
|
||||
yield break;
|
||||
}
|
||||
|
||||
foreach (FallingStalactite stalactite in stalactites)
|
||||
{
|
||||
if (stalactite == null)
|
||||
continue;
|
||||
|
||||
stalactite.TriggerFall();
|
||||
|
||||
if (intervalBetweenStalactites > 0f)
|
||||
yield return new WaitForSeconds(intervalBetweenStalactites);
|
||||
}
|
||||
|
||||
triggerRoutine = null;
|
||||
}
|
||||
|
||||
public void ResetTrigger()
|
||||
{
|
||||
hasTriggered = false;
|
||||
|
||||
if (triggerRoutine != null)
|
||||
{
|
||||
StopCoroutine(triggerRoutine);
|
||||
triggerRoutine = null;
|
||||
}
|
||||
|
||||
if (showDebugLog)
|
||||
Debug.Log($"[StalactiteFallTrigger] {name} 리셋", this);
|
||||
}
|
||||
}
|
||||
2
Assets/02_Scripts/Cave/StalactiteFallTrigger.cs.meta
Normal file
2
Assets/02_Scripts/Cave/StalactiteFallTrigger.cs.meta
Normal file
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8d76523d73ab7184fa82d121e34448bd
|
||||
8
Assets/07_Data/Communication/DialogGraph/Cave.meta
Normal file
8
Assets/07_Data/Communication/DialogGraph/Cave.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e9866be40e3155b43a9769b5afcc0c88
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
406
Assets/07_Data/Communication/DialogGraph/Cave/Fairy_CaveEnd.wdg
Normal file
406
Assets/07_Data/Communication/DialogGraph/Cave/Fairy_CaveEnd.wdg
Normal file
@@ -0,0 +1,406 @@
|
||||
%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: 11500000, guid: 790b4d75d92f4b0984310a268dbd952f, type: 3}
|
||||
m_Name: Fairy_CaveEnd
|
||||
m_EditorClassIdentifier: Unity.GraphToolkit.Editor::Unity.GraphToolkit.Editor.Implementation.GraphObjectImp
|
||||
m_GraphModel:
|
||||
rid: 6595524353106116630
|
||||
references:
|
||||
version: 2
|
||||
RefIds:
|
||||
- rid: -2
|
||||
type: {class: , ns: , asm: }
|
||||
- rid: 6595524353106116630
|
||||
type: {class: GraphModelImp, ns: Unity.GraphToolkit.Editor.Implementation, asm: Unity.GraphToolkit.Editor}
|
||||
data:
|
||||
m_Guid:
|
||||
m_Value0: 13819889836145151562
|
||||
m_Value1: 2645381255326452780
|
||||
m_HashGuid:
|
||||
serializedVersion: 2
|
||||
Hash: 4a8e76c6951ccabf2ccc35633c48b624
|
||||
m_Name: Fairy_CaveEnd
|
||||
m_GraphNodeModels:
|
||||
- rid: 6595524353106116633
|
||||
- rid: 6595524353106116635
|
||||
- rid: 6595524353106116646
|
||||
m_GraphWireModels:
|
||||
- rid: 6595524353106116636
|
||||
- rid: 8414246349295583368
|
||||
m_GraphStickyNoteModels: []
|
||||
m_GraphPlacematModels: []
|
||||
m_GraphVariableModels: []
|
||||
m_GraphPortalModels: []
|
||||
m_SectionModels:
|
||||
- rid: 6595524353106116631
|
||||
m_LocalSubgraphs: []
|
||||
m_LastKnownBounds:
|
||||
serializedVersion: 2
|
||||
x: 222
|
||||
y: 76
|
||||
width: 1015
|
||||
height: 562
|
||||
m_GraphElementMetaData:
|
||||
- m_Guid:
|
||||
m_Value0: 14845512388065122572
|
||||
m_Value1: 17804268460506216482
|
||||
m_HashGuid:
|
||||
serializedVersion: 2
|
||||
Hash: 0c5948afdcda05ce22f82972d57715f7
|
||||
m_Category: 0
|
||||
m_Index: 0
|
||||
- m_Guid:
|
||||
m_Value0: 7989713923298697385
|
||||
m_Value1: 15604869423937906234
|
||||
m_HashGuid:
|
||||
serializedVersion: 2
|
||||
Hash: a920365f7b2ae16e3a662c1c10a28fd8
|
||||
m_Category: 0
|
||||
m_Index: 1
|
||||
- m_Guid:
|
||||
m_Value0: 5269650743910428719
|
||||
m_Value1: 257959026697812224
|
||||
m_HashGuid:
|
||||
serializedVersion: 2
|
||||
Hash: 2f7027896e8f214900b9ed385e749403
|
||||
m_Category: 2
|
||||
m_Index: 0
|
||||
- m_Guid:
|
||||
m_Value0: 7697830479301862552
|
||||
m_Value1: 13043115897654624489
|
||||
m_HashGuid:
|
||||
serializedVersion: 2
|
||||
Hash: 9864f63b0930d46ae940f4b3cd7402b5
|
||||
m_Category: 0
|
||||
m_Index: 2
|
||||
- m_Guid:
|
||||
m_Value0: 9676839463197748057
|
||||
m_Value1: 16416879655357221472
|
||||
m_HashGuid:
|
||||
serializedVersion: 2
|
||||
Hash: 592b62c0380a4b86608ae7f11079d4e3
|
||||
m_Category: 2
|
||||
m_Index: 1
|
||||
m_EntryPoint:
|
||||
rid: 6595524353106116633
|
||||
m_Graph:
|
||||
rid: 6595524353106116632
|
||||
- rid: 6595524353106116631
|
||||
type: {class: SectionModel, ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
||||
data:
|
||||
m_Guid:
|
||||
m_Value0: 13482299192089173763
|
||||
m_Value1: 8100932157345530803
|
||||
m_HashGuid:
|
||||
serializedVersion: 2
|
||||
Hash: 03df02d4aebf1abbb3831e64e04a6c70
|
||||
m_Version: 2
|
||||
m_Items: []
|
||||
m_Title:
|
||||
- rid: 6595524353106116632
|
||||
type: {class: DialogGraph, ns: WhaleAdventure.Dialog.GraphTool.Editor, asm: Assembly-CSharp-Editor}
|
||||
data:
|
||||
- rid: 6595524353106116633
|
||||
type: {class: UserNodeModelImp, ns: Unity.GraphToolkit.Editor.Implementation, asm: Unity.GraphToolkit.Editor}
|
||||
data:
|
||||
m_Guid:
|
||||
m_Value0: 14845512388065122572
|
||||
m_Value1: 17804268460506216482
|
||||
m_HashGuid:
|
||||
serializedVersion: 2
|
||||
Hash: 0c5948afdcda05ce22f82972d57715f7
|
||||
m_Version: 2
|
||||
m_Position: {x: 222.2174, y: 116.434784}
|
||||
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: 6595524353106116634
|
||||
- rid: 6595524353106116634
|
||||
type: {class: DialogStartNode, ns: WhaleAdventure.Dialog.GraphTool.Editor, asm: Assembly-CSharp-Editor}
|
||||
data:
|
||||
- rid: 6595524353106116635
|
||||
type: {class: UserNodeModelImp, ns: Unity.GraphToolkit.Editor.Implementation, asm: Unity.GraphToolkit.Editor}
|
||||
data:
|
||||
m_Guid:
|
||||
m_Value0: 7989713923298697385
|
||||
m_Value1: 15604869423937906234
|
||||
m_HashGuid:
|
||||
serializedVersion: 2
|
||||
Hash: a920365f7b2ae16e3a662c1c10a28fd8
|
||||
m_Version: 2
|
||||
m_Position: {x: 445.68893, y: 76.47801}
|
||||
m_Title:
|
||||
m_Tooltip:
|
||||
m_NodePreviewModel:
|
||||
rid: -2
|
||||
m_State: 0
|
||||
m_InputConstantsById:
|
||||
m_KeyList:
|
||||
- __option_ChoiceCount
|
||||
- Speaker
|
||||
- TalkText
|
||||
- Gesture
|
||||
- Expression
|
||||
- Voice
|
||||
- LineDuration
|
||||
- LookAtPlayer
|
||||
m_ValueList:
|
||||
- rid: 6595524353106116637
|
||||
- rid: 6595524353106116638
|
||||
- rid: 6595524353106116639
|
||||
- rid: 6595524353106116640
|
||||
- rid: 6595524353106116641
|
||||
- rid: 6595524353106116642
|
||||
- rid: 6595524353106116643
|
||||
- rid: 6595524353106116644
|
||||
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: 6595524353106116645
|
||||
- rid: 6595524353106116636
|
||||
type: {class: WireModel, ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
||||
data:
|
||||
m_Guid:
|
||||
m_Value0: 5269650743910428719
|
||||
m_Value1: 257959026697812224
|
||||
m_HashGuid:
|
||||
serializedVersion: 2
|
||||
Hash: 2f7027896e8f214900b9ed385e749403
|
||||
m_Version: 2
|
||||
m_FromPortReference:
|
||||
m_NodeModelGuid:
|
||||
m_Value0: 14845512388065122572
|
||||
m_Value1: 17804268460506216482
|
||||
m_NodeModelHashGuid:
|
||||
serializedVersion: 2
|
||||
Hash: 0c5948afdcda05ce22f82972d57715f7
|
||||
m_UniqueId: Out
|
||||
m_PortDirection: 2
|
||||
m_PortOrientation: 0
|
||||
m_Title:
|
||||
m_ToPortReference:
|
||||
m_NodeModelGuid:
|
||||
m_Value0: 7989713923298697385
|
||||
m_Value1: 15604869423937906234
|
||||
m_NodeModelHashGuid:
|
||||
serializedVersion: 2
|
||||
Hash: a920365f7b2ae16e3a662c1c10a28fd8
|
||||
m_UniqueId: In
|
||||
m_PortDirection: 1
|
||||
m_PortOrientation: 0
|
||||
m_Title:
|
||||
- rid: 6595524353106116637
|
||||
type: {class: 'Constant`1[[System.Int32, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
||||
data:
|
||||
m_Value: 0
|
||||
- rid: 6595524353106116638
|
||||
type: {class: 'Constant`1[[CharacterData, Assembly-CSharp]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
||||
data:
|
||||
m_Value: {fileID: 11400000, guid: 816884903bb3c4d478520286d768c304, type: 2}
|
||||
- rid: 6595524353106116639
|
||||
type: {class: 'Constant`1[[WhaleAdventure.Dialog.GraphTool.Editor.DialogText, Assembly-CSharp-Editor]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
||||
data:
|
||||
m_Value:
|
||||
Value: "\uD574\uB0C8\uC5B4, \uD53C\uB178\uD0A4\uC624! \r\n\uAE30\uC5B5\uC758
|
||||
\uC870\uAC01\uC744 \uCC3E\uC558\uC5B4.\r\n"
|
||||
- rid: 6595524353106116640
|
||||
type: {class: 'Constant`1[[GestureData, Assembly-CSharp]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
||||
data:
|
||||
m_Value: {fileID: 0}
|
||||
- rid: 6595524353106116641
|
||||
type: {class: 'Constant`1[[ExpressionData, Assembly-CSharp]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
||||
data:
|
||||
m_Value: {fileID: 0}
|
||||
- rid: 6595524353106116642
|
||||
type: {class: 'Constant`1[[VoiceClip, Assembly-CSharp]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
||||
data:
|
||||
m_Value: {fileID: 0}
|
||||
- rid: 6595524353106116643
|
||||
type: {class: 'Constant`1[[System.Single, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
||||
data:
|
||||
m_Value: 5
|
||||
- rid: 6595524353106116644
|
||||
type: {class: 'Constant`1[[System.Boolean, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
||||
data:
|
||||
m_Value: 1
|
||||
- rid: 6595524353106116645
|
||||
type: {class: DialogLineNode, ns: WhaleAdventure.Dialog.GraphTool.Editor, asm: Assembly-CSharp-Editor}
|
||||
data:
|
||||
- rid: 6595524353106116646
|
||||
type: {class: UserNodeModelImp, ns: Unity.GraphToolkit.Editor.Implementation, asm: Unity.GraphToolkit.Editor}
|
||||
data:
|
||||
m_Guid:
|
||||
m_Value0: 7697830479301862552
|
||||
m_Value1: 13043115897654624489
|
||||
m_HashGuid:
|
||||
serializedVersion: 2
|
||||
Hash: 9864f63b0930d46ae940f4b3cd7402b5
|
||||
m_Version: 2
|
||||
m_Position: {x: 830.3975, y: 76.96198}
|
||||
m_Title:
|
||||
m_Tooltip:
|
||||
m_NodePreviewModel:
|
||||
rid: -2
|
||||
m_State: 0
|
||||
m_InputConstantsById:
|
||||
m_KeyList:
|
||||
- __option_ChoiceCount
|
||||
- Speaker
|
||||
- TalkText
|
||||
- Gesture
|
||||
- Expression
|
||||
- Voice
|
||||
- LineDuration
|
||||
- LookAtPlayer
|
||||
- ChoiceQuestion
|
||||
- Choice0Text
|
||||
- Choice1Text
|
||||
m_ValueList:
|
||||
- rid: 6595524353106116648
|
||||
- rid: 6595524353106116649
|
||||
- rid: 6595524353106116650
|
||||
- rid: 6595524353106116651
|
||||
- rid: 6595524353106116652
|
||||
- rid: 6595524353106116653
|
||||
- rid: 6595524353106116654
|
||||
- rid: 6595524353106116655
|
||||
- rid: 8414246349295583420
|
||||
- rid: 8414246349295583421
|
||||
- rid: 8414246349295583422
|
||||
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: 6595524353106116656
|
||||
- rid: 6595524353106116648
|
||||
type: {class: 'Constant`1[[System.Int32, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
||||
data:
|
||||
m_Value: 2
|
||||
- rid: 6595524353106116649
|
||||
type: {class: 'Constant`1[[CharacterData, Assembly-CSharp]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
||||
data:
|
||||
m_Value: {fileID: 11400000, guid: 816884903bb3c4d478520286d768c304, type: 2}
|
||||
- rid: 6595524353106116650
|
||||
type: {class: 'Constant`1[[WhaleAdventure.Dialog.GraphTool.Editor.DialogText, Assembly-CSharp-Editor]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
||||
data:
|
||||
m_Value:
|
||||
Value: "\uC774\uBC88\uC5D4 \uC5B4\uB514\uB85C \uAC00\uBCFC\uAE4C?\r\n"
|
||||
- rid: 6595524353106116651
|
||||
type: {class: 'Constant`1[[GestureData, Assembly-CSharp]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
||||
data:
|
||||
m_Value: {fileID: 0}
|
||||
- rid: 6595524353106116652
|
||||
type: {class: 'Constant`1[[ExpressionData, Assembly-CSharp]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
||||
data:
|
||||
m_Value: {fileID: 0}
|
||||
- rid: 6595524353106116653
|
||||
type: {class: 'Constant`1[[VoiceClip, Assembly-CSharp]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
||||
data:
|
||||
m_Value: {fileID: 0}
|
||||
- rid: 6595524353106116654
|
||||
type: {class: 'Constant`1[[System.Single, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
||||
data:
|
||||
m_Value: 5
|
||||
- rid: 6595524353106116655
|
||||
type: {class: 'Constant`1[[System.Boolean, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
||||
data:
|
||||
m_Value: 1
|
||||
- rid: 6595524353106116656
|
||||
type: {class: DialogLineNode, ns: WhaleAdventure.Dialog.GraphTool.Editor, asm: Assembly-CSharp-Editor}
|
||||
data:
|
||||
- rid: 8414246349295583368
|
||||
type: {class: WireModel, ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
||||
data:
|
||||
m_Guid:
|
||||
m_Value0: 9676839463197748057
|
||||
m_Value1: 16416879655357221472
|
||||
m_HashGuid:
|
||||
serializedVersion: 2
|
||||
Hash: 592b62c0380a4b86608ae7f11079d4e3
|
||||
m_Version: 2
|
||||
m_FromPortReference:
|
||||
m_NodeModelGuid:
|
||||
m_Value0: 7989713923298697385
|
||||
m_Value1: 15604869423937906234
|
||||
m_NodeModelHashGuid:
|
||||
serializedVersion: 2
|
||||
Hash: a920365f7b2ae16e3a662c1c10a28fd8
|
||||
m_UniqueId: Out
|
||||
m_PortDirection: 2
|
||||
m_PortOrientation: 0
|
||||
m_Title:
|
||||
m_ToPortReference:
|
||||
m_NodeModelGuid:
|
||||
m_Value0: 7697830479301862552
|
||||
m_Value1: 13043115897654624489
|
||||
m_NodeModelHashGuid:
|
||||
serializedVersion: 2
|
||||
Hash: 9864f63b0930d46ae940f4b3cd7402b5
|
||||
m_UniqueId: In
|
||||
m_PortDirection: 1
|
||||
m_PortOrientation: 0
|
||||
m_Title:
|
||||
- rid: 8414246349295583420
|
||||
type: {class: 'Constant`1[[WhaleAdventure.Dialog.GraphTool.Editor.DialogText, Assembly-CSharp-Editor]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
||||
data:
|
||||
m_Value:
|
||||
Value:
|
||||
- rid: 8414246349295583421
|
||||
type: {class: 'Constant`1[[WhaleAdventure.Dialog.GraphTool.Editor.DialogText, Assembly-CSharp-Editor]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
||||
data:
|
||||
m_Value:
|
||||
Value:
|
||||
- rid: 8414246349295583422
|
||||
type: {class: 'Constant`1[[WhaleAdventure.Dialog.GraphTool.Editor.DialogText, Assembly-CSharp-Editor]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
||||
data:
|
||||
m_Value:
|
||||
Value:
|
||||
@@ -0,0 +1,10 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 933ac3f32496ef947b565cafab251cb6
|
||||
ScriptedImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
script: {fileID: 11500000, guid: 2ae5ca89bbed445479d9023586f0c041, type: 3}
|
||||
@@ -0,0 +1,525 @@
|
||||
%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: 11500000, guid: 790b4d75d92f4b0984310a268dbd952f, type: 3}
|
||||
m_Name: Fairy_CaveStart
|
||||
m_EditorClassIdentifier: Unity.GraphToolkit.Editor::Unity.GraphToolkit.Editor.Implementation.GraphObjectImp
|
||||
m_GraphModel:
|
||||
rid: 6595524353106116630
|
||||
references:
|
||||
version: 2
|
||||
RefIds:
|
||||
- rid: -2
|
||||
type: {class: , ns: , asm: }
|
||||
- rid: 6595524353106116630
|
||||
type: {class: GraphModelImp, ns: Unity.GraphToolkit.Editor.Implementation, asm: Unity.GraphToolkit.Editor}
|
||||
data:
|
||||
m_Guid:
|
||||
m_Value0: 13819889836145151562
|
||||
m_Value1: 2645381255326452780
|
||||
m_HashGuid:
|
||||
serializedVersion: 2
|
||||
Hash: 4a8e76c6951ccabf2ccc35633c48b624
|
||||
m_Name: Fairy_CaveStart
|
||||
m_GraphNodeModels:
|
||||
- rid: 6595524353106116633
|
||||
- rid: 6595524353106116635
|
||||
- rid: 6595524353106116646
|
||||
- rid: 8414246349295583386
|
||||
m_GraphWireModels:
|
||||
- rid: 6595524353106116636
|
||||
- rid: 8414246349295583368
|
||||
- rid: 8414246349295583396
|
||||
m_GraphStickyNoteModels: []
|
||||
m_GraphPlacematModels: []
|
||||
m_GraphVariableModels: []
|
||||
m_GraphPortalModels: []
|
||||
m_SectionModels:
|
||||
- rid: 6595524353106116631
|
||||
m_LocalSubgraphs: []
|
||||
m_LastKnownBounds:
|
||||
serializedVersion: 2
|
||||
x: 222
|
||||
y: 76
|
||||
width: 1337
|
||||
height: 340
|
||||
m_GraphElementMetaData:
|
||||
- m_Guid:
|
||||
m_Value0: 14845512388065122572
|
||||
m_Value1: 17804268460506216482
|
||||
m_HashGuid:
|
||||
serializedVersion: 2
|
||||
Hash: 0c5948afdcda05ce22f82972d57715f7
|
||||
m_Category: 0
|
||||
m_Index: 0
|
||||
- m_Guid:
|
||||
m_Value0: 7989713923298697385
|
||||
m_Value1: 15604869423937906234
|
||||
m_HashGuid:
|
||||
serializedVersion: 2
|
||||
Hash: a920365f7b2ae16e3a662c1c10a28fd8
|
||||
m_Category: 0
|
||||
m_Index: 1
|
||||
- m_Guid:
|
||||
m_Value0: 5269650743910428719
|
||||
m_Value1: 257959026697812224
|
||||
m_HashGuid:
|
||||
serializedVersion: 2
|
||||
Hash: 2f7027896e8f214900b9ed385e749403
|
||||
m_Category: 2
|
||||
m_Index: 0
|
||||
- m_Guid:
|
||||
m_Value0: 7697830479301862552
|
||||
m_Value1: 13043115897654624489
|
||||
m_HashGuid:
|
||||
serializedVersion: 2
|
||||
Hash: 9864f63b0930d46ae940f4b3cd7402b5
|
||||
m_Category: 0
|
||||
m_Index: 2
|
||||
- m_Guid:
|
||||
m_Value0: 9676839463197748057
|
||||
m_Value1: 16416879655357221472
|
||||
m_HashGuid:
|
||||
serializedVersion: 2
|
||||
Hash: 592b62c0380a4b86608ae7f11079d4e3
|
||||
m_Category: 2
|
||||
m_Index: 1
|
||||
- m_Guid:
|
||||
m_Value0: 165892771380819058
|
||||
m_Value1: 3661599737597125745
|
||||
m_HashGuid:
|
||||
serializedVersion: 2
|
||||
Hash: 7274f5bc985e4d0271e423b58f9dd032
|
||||
m_Category: 0
|
||||
m_Index: 3
|
||||
- m_Guid:
|
||||
m_Value0: 12805069808161808465
|
||||
m_Value1: 3672582199730454926
|
||||
m_HashGuid:
|
||||
serializedVersion: 2
|
||||
Hash: 5160907725bfb4b18e415b6f0da2f732
|
||||
m_Category: 2
|
||||
m_Index: 2
|
||||
m_EntryPoint:
|
||||
rid: 6595524353106116633
|
||||
m_Graph:
|
||||
rid: 6595524353106116632
|
||||
- rid: 6595524353106116631
|
||||
type: {class: SectionModel, ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
||||
data:
|
||||
m_Guid:
|
||||
m_Value0: 13482299192089173763
|
||||
m_Value1: 8100932157345530803
|
||||
m_HashGuid:
|
||||
serializedVersion: 2
|
||||
Hash: 03df02d4aebf1abbb3831e64e04a6c70
|
||||
m_Version: 2
|
||||
m_Items: []
|
||||
m_Title:
|
||||
- rid: 6595524353106116632
|
||||
type: {class: DialogGraph, ns: WhaleAdventure.Dialog.GraphTool.Editor, asm: Assembly-CSharp-Editor}
|
||||
data:
|
||||
- rid: 6595524353106116633
|
||||
type: {class: UserNodeModelImp, ns: Unity.GraphToolkit.Editor.Implementation, asm: Unity.GraphToolkit.Editor}
|
||||
data:
|
||||
m_Guid:
|
||||
m_Value0: 14845512388065122572
|
||||
m_Value1: 17804268460506216482
|
||||
m_HashGuid:
|
||||
serializedVersion: 2
|
||||
Hash: 0c5948afdcda05ce22f82972d57715f7
|
||||
m_Version: 2
|
||||
m_Position: {x: 222.2174, y: 116.434784}
|
||||
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: 6595524353106116634
|
||||
- rid: 6595524353106116634
|
||||
type: {class: DialogStartNode, ns: WhaleAdventure.Dialog.GraphTool.Editor, asm: Assembly-CSharp-Editor}
|
||||
data:
|
||||
- rid: 6595524353106116635
|
||||
type: {class: UserNodeModelImp, ns: Unity.GraphToolkit.Editor.Implementation, asm: Unity.GraphToolkit.Editor}
|
||||
data:
|
||||
m_Guid:
|
||||
m_Value0: 7989713923298697385
|
||||
m_Value1: 15604869423937906234
|
||||
m_HashGuid:
|
||||
serializedVersion: 2
|
||||
Hash: a920365f7b2ae16e3a662c1c10a28fd8
|
||||
m_Version: 2
|
||||
m_Position: {x: 445.68893, y: 76.47801}
|
||||
m_Title:
|
||||
m_Tooltip:
|
||||
m_NodePreviewModel:
|
||||
rid: -2
|
||||
m_State: 0
|
||||
m_InputConstantsById:
|
||||
m_KeyList:
|
||||
- __option_ChoiceCount
|
||||
- Speaker
|
||||
- TalkText
|
||||
- Gesture
|
||||
- Expression
|
||||
- Voice
|
||||
- LineDuration
|
||||
- LookAtPlayer
|
||||
m_ValueList:
|
||||
- rid: 6595524353106116637
|
||||
- rid: 6595524353106116638
|
||||
- rid: 6595524353106116639
|
||||
- rid: 6595524353106116640
|
||||
- rid: 6595524353106116641
|
||||
- rid: 6595524353106116642
|
||||
- rid: 6595524353106116643
|
||||
- rid: 6595524353106116644
|
||||
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: 6595524353106116645
|
||||
- rid: 6595524353106116636
|
||||
type: {class: WireModel, ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
||||
data:
|
||||
m_Guid:
|
||||
m_Value0: 5269650743910428719
|
||||
m_Value1: 257959026697812224
|
||||
m_HashGuid:
|
||||
serializedVersion: 2
|
||||
Hash: 2f7027896e8f214900b9ed385e749403
|
||||
m_Version: 2
|
||||
m_FromPortReference:
|
||||
m_NodeModelGuid:
|
||||
m_Value0: 14845512388065122572
|
||||
m_Value1: 17804268460506216482
|
||||
m_NodeModelHashGuid:
|
||||
serializedVersion: 2
|
||||
Hash: 0c5948afdcda05ce22f82972d57715f7
|
||||
m_UniqueId: Out
|
||||
m_PortDirection: 2
|
||||
m_PortOrientation: 0
|
||||
m_Title:
|
||||
m_ToPortReference:
|
||||
m_NodeModelGuid:
|
||||
m_Value0: 7989713923298697385
|
||||
m_Value1: 15604869423937906234
|
||||
m_NodeModelHashGuid:
|
||||
serializedVersion: 2
|
||||
Hash: a920365f7b2ae16e3a662c1c10a28fd8
|
||||
m_UniqueId: In
|
||||
m_PortDirection: 1
|
||||
m_PortOrientation: 0
|
||||
m_Title:
|
||||
- rid: 6595524353106116637
|
||||
type: {class: 'Constant`1[[System.Int32, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
||||
data:
|
||||
m_Value: 0
|
||||
- rid: 6595524353106116638
|
||||
type: {class: 'Constant`1[[CharacterData, Assembly-CSharp]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
||||
data:
|
||||
m_Value: {fileID: 11400000, guid: 816884903bb3c4d478520286d768c304, type: 2}
|
||||
- rid: 6595524353106116639
|
||||
type: {class: 'Constant`1[[WhaleAdventure.Dialog.GraphTool.Editor.DialogText, Assembly-CSharp-Editor]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
||||
data:
|
||||
m_Value:
|
||||
Value: "\uD53C\uB178\uD0A4\uC624, \n\uC5EC\uAE30\uB294 \uAC70\uAFB8\uB85C
|
||||
\uACC4\uACE1\uC774\uC57C.\r\n\uB9CE\uC740 \uC704\uD5D8\uC774 \uC228\uC5B4\uC788\uB294
|
||||
\uACF3\uC774\uC9C0."
|
||||
- rid: 6595524353106116640
|
||||
type: {class: 'Constant`1[[GestureData, Assembly-CSharp]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
||||
data:
|
||||
m_Value: {fileID: 0}
|
||||
- rid: 6595524353106116641
|
||||
type: {class: 'Constant`1[[ExpressionData, Assembly-CSharp]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
||||
data:
|
||||
m_Value: {fileID: 0}
|
||||
- rid: 6595524353106116642
|
||||
type: {class: 'Constant`1[[VoiceClip, Assembly-CSharp]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
||||
data:
|
||||
m_Value: {fileID: 0}
|
||||
- rid: 6595524353106116643
|
||||
type: {class: 'Constant`1[[System.Single, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
||||
data:
|
||||
m_Value: 5
|
||||
- rid: 6595524353106116644
|
||||
type: {class: 'Constant`1[[System.Boolean, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
||||
data:
|
||||
m_Value: 1
|
||||
- rid: 6595524353106116645
|
||||
type: {class: DialogLineNode, ns: WhaleAdventure.Dialog.GraphTool.Editor, asm: Assembly-CSharp-Editor}
|
||||
data:
|
||||
- rid: 6595524353106116646
|
||||
type: {class: UserNodeModelImp, ns: Unity.GraphToolkit.Editor.Implementation, asm: Unity.GraphToolkit.Editor}
|
||||
data:
|
||||
m_Guid:
|
||||
m_Value0: 7697830479301862552
|
||||
m_Value1: 13043115897654624489
|
||||
m_HashGuid:
|
||||
serializedVersion: 2
|
||||
Hash: 9864f63b0930d46ae940f4b3cd7402b5
|
||||
m_Version: 2
|
||||
m_Position: {x: 830.3975, y: 76.96198}
|
||||
m_Title:
|
||||
m_Tooltip:
|
||||
m_NodePreviewModel:
|
||||
rid: -2
|
||||
m_State: 0
|
||||
m_InputConstantsById:
|
||||
m_KeyList:
|
||||
- __option_ChoiceCount
|
||||
- Speaker
|
||||
- TalkText
|
||||
- Gesture
|
||||
- Expression
|
||||
- Voice
|
||||
- LineDuration
|
||||
- LookAtPlayer
|
||||
m_ValueList:
|
||||
- rid: 6595524353106116648
|
||||
- rid: 6595524353106116649
|
||||
- rid: 6595524353106116650
|
||||
- rid: 6595524353106116651
|
||||
- rid: 6595524353106116652
|
||||
- rid: 6595524353106116653
|
||||
- rid: 6595524353106116654
|
||||
- rid: 6595524353106116655
|
||||
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: 6595524353106116656
|
||||
- rid: 6595524353106116648
|
||||
type: {class: 'Constant`1[[System.Int32, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
||||
data:
|
||||
m_Value: 0
|
||||
- rid: 6595524353106116649
|
||||
type: {class: 'Constant`1[[CharacterData, Assembly-CSharp]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
||||
data:
|
||||
m_Value: {fileID: 11400000, guid: 816884903bb3c4d478520286d768c304, type: 2}
|
||||
- rid: 6595524353106116650
|
||||
type: {class: 'Constant`1[[WhaleAdventure.Dialog.GraphTool.Editor.DialogText, Assembly-CSharp-Editor]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
||||
data:
|
||||
m_Value:
|
||||
Value: "\uC800\uAE30 \uAC15\uB05D, \uC870\uAC1C \uC548\uC5D0\uC11C \uAE30\uC5B5\uC758
|
||||
\uC870\uAC01\uC774 \uC788\uC5B4. \n\uC870\uAC1C\uAC00 \uB2EB\uD788\uAE30
|
||||
\uC804\uC5D0 \uAEBC\uB0B4\uC57C \uD574."
|
||||
- rid: 6595524353106116651
|
||||
type: {class: 'Constant`1[[GestureData, Assembly-CSharp]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
||||
data:
|
||||
m_Value: {fileID: 0}
|
||||
- rid: 6595524353106116652
|
||||
type: {class: 'Constant`1[[ExpressionData, Assembly-CSharp]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
||||
data:
|
||||
m_Value: {fileID: 0}
|
||||
- rid: 6595524353106116653
|
||||
type: {class: 'Constant`1[[VoiceClip, Assembly-CSharp]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
||||
data:
|
||||
m_Value: {fileID: 0}
|
||||
- rid: 6595524353106116654
|
||||
type: {class: 'Constant`1[[System.Single, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
||||
data:
|
||||
m_Value: 5
|
||||
- rid: 6595524353106116655
|
||||
type: {class: 'Constant`1[[System.Boolean, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
||||
data:
|
||||
m_Value: 1
|
||||
- rid: 6595524353106116656
|
||||
type: {class: DialogLineNode, ns: WhaleAdventure.Dialog.GraphTool.Editor, asm: Assembly-CSharp-Editor}
|
||||
data:
|
||||
- rid: 8414246349295583368
|
||||
type: {class: WireModel, ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
||||
data:
|
||||
m_Guid:
|
||||
m_Value0: 9676839463197748057
|
||||
m_Value1: 16416879655357221472
|
||||
m_HashGuid:
|
||||
serializedVersion: 2
|
||||
Hash: 592b62c0380a4b86608ae7f11079d4e3
|
||||
m_Version: 2
|
||||
m_FromPortReference:
|
||||
m_NodeModelGuid:
|
||||
m_Value0: 7989713923298697385
|
||||
m_Value1: 15604869423937906234
|
||||
m_NodeModelHashGuid:
|
||||
serializedVersion: 2
|
||||
Hash: a920365f7b2ae16e3a662c1c10a28fd8
|
||||
m_UniqueId: Out
|
||||
m_PortDirection: 2
|
||||
m_PortOrientation: 0
|
||||
m_Title:
|
||||
m_ToPortReference:
|
||||
m_NodeModelGuid:
|
||||
m_Value0: 7697830479301862552
|
||||
m_Value1: 13043115897654624489
|
||||
m_NodeModelHashGuid:
|
||||
serializedVersion: 2
|
||||
Hash: 9864f63b0930d46ae940f4b3cd7402b5
|
||||
m_UniqueId: In
|
||||
m_PortDirection: 1
|
||||
m_PortOrientation: 0
|
||||
m_Title:
|
||||
- rid: 8414246349295583386
|
||||
type: {class: UserNodeModelImp, ns: Unity.GraphToolkit.Editor.Implementation, asm: Unity.GraphToolkit.Editor}
|
||||
data:
|
||||
m_Guid:
|
||||
m_Value0: 165892771380819058
|
||||
m_Value1: 3661599737597125745
|
||||
m_HashGuid:
|
||||
serializedVersion: 2
|
||||
Hash: 7274f5bc985e4d0271e423b58f9dd032
|
||||
m_Version: 2
|
||||
m_Position: {x: 1219.72, y: 76.582504}
|
||||
m_Title: DialogLineNode
|
||||
m_Tooltip:
|
||||
m_NodePreviewModel:
|
||||
rid: -2
|
||||
m_State: 0
|
||||
m_InputConstantsById:
|
||||
m_KeyList:
|
||||
- __option_ChoiceCount
|
||||
- Speaker
|
||||
- TalkText
|
||||
- Gesture
|
||||
- Expression
|
||||
- Voice
|
||||
- LineDuration
|
||||
- LookAtPlayer
|
||||
m_ValueList:
|
||||
- rid: 8414246349295583387
|
||||
- rid: 8414246349295583388
|
||||
- rid: 8414246349295583389
|
||||
- rid: 8414246349295583390
|
||||
- rid: 8414246349295583391
|
||||
- rid: 8414246349295583392
|
||||
- rid: 8414246349295583393
|
||||
- rid: 8414246349295583394
|
||||
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: 8414246349295583395
|
||||
- rid: 8414246349295583387
|
||||
type: {class: 'Constant`1[[System.Int32, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
||||
data:
|
||||
m_Value: 0
|
||||
- rid: 8414246349295583388
|
||||
type: {class: 'Constant`1[[CharacterData, Assembly-CSharp]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
||||
data:
|
||||
m_Value: {fileID: 11400000, guid: 816884903bb3c4d478520286d768c304, type: 2}
|
||||
- rid: 8414246349295583389
|
||||
type: {class: 'Constant`1[[WhaleAdventure.Dialog.GraphTool.Editor.DialogText, Assembly-CSharp-Editor]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
||||
data:
|
||||
m_Value:
|
||||
Value: "\uC624\uB978\uC190 \uC544\uB798 \uD0A4\uB97C \uC7A1\uC544.\n\uC790,
|
||||
\uCD9C\uBC1C\uD558\uC790!!"
|
||||
- rid: 8414246349295583390
|
||||
type: {class: 'Constant`1[[GestureData, Assembly-CSharp]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
||||
data:
|
||||
m_Value: {fileID: 0}
|
||||
- rid: 8414246349295583391
|
||||
type: {class: 'Constant`1[[ExpressionData, Assembly-CSharp]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
||||
data:
|
||||
m_Value: {fileID: 0}
|
||||
- rid: 8414246349295583392
|
||||
type: {class: 'Constant`1[[VoiceClip, Assembly-CSharp]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
||||
data:
|
||||
m_Value: {fileID: 0}
|
||||
- rid: 8414246349295583393
|
||||
type: {class: 'Constant`1[[System.Single, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
||||
data:
|
||||
m_Value: 5
|
||||
- rid: 8414246349295583394
|
||||
type: {class: 'Constant`1[[System.Boolean, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
||||
data:
|
||||
m_Value: 0
|
||||
- rid: 8414246349295583395
|
||||
type: {class: DialogLineNode, ns: WhaleAdventure.Dialog.GraphTool.Editor, asm: Assembly-CSharp-Editor}
|
||||
data:
|
||||
- rid: 8414246349295583396
|
||||
type: {class: WireModel, ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
|
||||
data:
|
||||
m_Guid:
|
||||
m_Value0: 12805069808161808465
|
||||
m_Value1: 3672582199730454926
|
||||
m_HashGuid:
|
||||
serializedVersion: 2
|
||||
Hash: 5160907725bfb4b18e415b6f0da2f732
|
||||
m_Version: 2
|
||||
m_FromPortReference:
|
||||
m_NodeModelGuid:
|
||||
m_Value0: 7697830479301862552
|
||||
m_Value1: 13043115897654624489
|
||||
m_NodeModelHashGuid:
|
||||
serializedVersion: 2
|
||||
Hash: 9864f63b0930d46ae940f4b3cd7402b5
|
||||
m_UniqueId: Out
|
||||
m_PortDirection: 2
|
||||
m_PortOrientation: 0
|
||||
m_Title:
|
||||
m_ToPortReference:
|
||||
m_NodeModelGuid:
|
||||
m_Value0: 165892771380819058
|
||||
m_Value1: 3661599737597125745
|
||||
m_NodeModelHashGuid:
|
||||
serializedVersion: 2
|
||||
Hash: 7274f5bc985e4d0271e423b58f9dd032
|
||||
m_UniqueId: In
|
||||
m_PortDirection: 1
|
||||
m_PortOrientation: 0
|
||||
m_Title:
|
||||
@@ -0,0 +1,10 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1b6a698bc20e6604286457901cb51e77
|
||||
ScriptedImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
script: {fileID: 11500000, guid: 2ae5ca89bbed445479d9023586f0c041, type: 3}
|
||||
Binary file not shown.
@@ -322,7 +322,7 @@ Material:
|
||||
- _ZClip: 1
|
||||
- _ZWrite: 0
|
||||
m_Colors:
|
||||
- _BaseColor: {r: 0, g: 0.16451614, b: 0.34, a: 0.9647059}
|
||||
- _BaseColor: {r: 0.20265219, g: 0.4339623, b: 0.27534965, a: 0.9647059}
|
||||
- _Color: {r: 0.5, g: 0.5, b: 0.5, a: 1}
|
||||
- _DepthMapBounds: {r: -402.3, g: -459.43, b: 0.0012693577, a: 0}
|
||||
- _Direction: {r: 1, g: 1, b: 0, a: 0}
|
||||
@@ -336,7 +336,7 @@ Material:
|
||||
- _IntersectionColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _NormalTiling: {r: 0.3, g: 0.3, b: 0, a: 0}
|
||||
- _RimColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _ShallowColor: {r: 0, g: 1, b: 0.98136926, a: 0.3764706}
|
||||
- _ShallowColor: {r: 0.045389812, g: 1.9245284, b: 1.5720304, a: 0.3764706}
|
||||
- _SpecColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
|
||||
- _WaterColor: {r: 0.21176466, g: 0.6745098, b: 1, a: 1}
|
||||
- _WaterShallowColor: {r: 0, g: 0.9394503, b: 1, a: 1}
|
||||
|
||||
Reference in New Issue
Block a user