9 Commits

Author SHA1 Message Date
dldydtn9755-crypto
595942fd2c Fix Pretendard SDF asset after rebase conflict 2026-06-23 17:49:52 +09:00
dldydtn9755-crypto
f4dcfdec8a Add blackjack dialog triggers and dialogue data 2026-06-23 17:37:45 +09:00
dldydtn9755-crypto
86e1b4ac24 Fix blackjack hook dialog placement 2026-06-23 17:37:44 +09:00
e56809e24b 페어리 빛 없을때 마테리얼 수정 2026-06-23 17:37:42 +09:00
67425b3f6c 2026-06-23 클리어시 문생성 (진행중) 2026-06-23 17:37:40 +09:00
18f24f990c 조개게임 완료 전 2026-06-23 17:33:33 +09:00
HIHIHIHIHIHIzz
acac3de7da 헤엄치는 고래별, 움직이는 해산물 2026-06-23 17:33:05 +09:00
bd208e9370 육지도착 2026-06-23 17:32:14 +09:00
e1fe59604a 시작전 2026-06-23 17:30:31 +09:00
99 changed files with 7764 additions and 84 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,242 @@
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.XR.Interaction.Toolkit.Interactables;
public class ClamBiteDetector : MonoBehaviour
{
[Header("References")]
[SerializeField] private ClamOpenClose clam;
[SerializeField] private RaftHealth health;
[SerializeField] private MemoryFragmentReset memoryFragment;
[Header("Bite Damage")]
[SerializeField] private int biteDamage = 20;
[Header("Bite Zone")]
[SerializeField] private Collider biteZoneCollider;
[Tooltip("조개 미션이 시작되었을 때만 물림 판정을 합니다.")]
[SerializeField] private bool missionActiveOnStart = false;
[Tooltip("조개가 닫히는 동안 이미 한 번 물렸으면 추가 판정을 막습니다.")]
[SerializeField] private bool biteOncePerClose = true;
[Header("Target Detection")]
[Tooltip("손 오브젝트에 붙일 태그입니다. 태그를 안 쓰면 XRHandMarker로도 판정합니다.")]
[SerializeField] private string handTag = "PlayerHand";
[Tooltip("기억의 조각 태그입니다. 단, 조각은 잡힌 상태일 때만 물림 대상으로 봅니다.")]
[SerializeField] private string fragmentTag = "MemoryFragment";
[Tooltip("기억의 조각은 플레이어가 잡고 있을 때만 물림 판정합니다.")]
[SerializeField] private bool biteFragmentOnlyWhenGrabbed = true;
[Header("Debug")]
[SerializeField] private bool showDebugLog = true;
private bool missionActive;
private bool hasBittenThisClose;
private readonly HashSet<Collider> collidersInside = new();
private void Awake()
{
if (biteZoneCollider == null)
biteZoneCollider = GetComponent<Collider>();
if (biteZoneCollider != null)
{
biteZoneCollider.isTrigger = true;
biteZoneCollider.enabled = false;
}
if (clam == null)
clam = GetComponentInParent<ClamOpenClose>();
if (health == null)
health = FindFirstObjectByType<RaftHealth>();
if (memoryFragment == null)
memoryFragment = FindFirstObjectByType<MemoryFragmentReset>();
missionActive = missionActiveOnStart;
}
private void OnEnable()
{
if (clam != null)
{
clam.onCloseStarted.AddListener(EnableBiteWindow);
clam.onClosed.AddListener(DisableBiteWindow);
clam.onOpened.AddListener(ResetBiteState);
}
}
private void OnDisable()
{
if (clam != null)
{
clam.onCloseStarted.RemoveListener(EnableBiteWindow);
clam.onClosed.RemoveListener(DisableBiteWindow);
clam.onOpened.RemoveListener(ResetBiteState);
}
}
private void OnTriggerEnter(Collider other)
{
collidersInside.Add(other);
if (IsBiteWindowOpen())
TryBite(other);
}
private void OnTriggerStay(Collider other)
{
collidersInside.Add(other);
if (IsBiteWindowOpen())
TryBite(other);
}
private void OnTriggerExit(Collider other)
{
collidersInside.Remove(other);
}
public void StartBiteMission()
{
missionActive = true;
hasBittenThisClose = false;
collidersInside.Clear();
if (showDebugLog)
Debug.Log("[ClamBiteDetector] 조개 미션 시작. 물림 판정 활성 준비.", this);
}
public void StopBiteMission()
{
missionActive = false;
hasBittenThisClose = false;
collidersInside.Clear();
if (biteZoneCollider != null)
biteZoneCollider.enabled = false;
if (showDebugLog)
Debug.Log("[ClamBiteDetector] 조개 미션 정지. 물림 판정 비활성.", this);
}
private void EnableBiteWindow()
{
if (!missionActive)
return;
hasBittenThisClose = false;
if (biteZoneCollider != null)
biteZoneCollider.enabled = true;
if (showDebugLog)
Debug.Log("[ClamBiteDetector] 조개 물림 판정 ON", this);
foreach (Collider col in collidersInside)
{
if (col != null)
TryBite(col);
}
}
private void DisableBiteWindow()
{
if (biteZoneCollider != null)
biteZoneCollider.enabled = false;
collidersInside.Clear();
if (showDebugLog && missionActive)
Debug.Log("[ClamBiteDetector] 조개 물림 판정 OFF", this);
}
private void ResetBiteState()
{
hasBittenThisClose = false;
}
private bool IsBiteWindowOpen()
{
if (!missionActive)
return false;
if (biteZoneCollider == null)
return false;
return biteZoneCollider.enabled;
}
private void TryBite(Collider other)
{
if (other == null)
return;
if (!missionActive)
return;
if (biteOncePerClose && hasBittenThisClose)
return;
bool isHand = IsHandCollider(other);
bool isGrabbedFragment = IsGrabbedMemoryFragment(other);
if (!isHand && !isGrabbedFragment)
return;
hasBittenThisClose = true;
if (health != null)
health.TakeDamage(biteDamage);
if (memoryFragment != null)
memoryFragment.ResetFragment();
if (showDebugLog)
{
Debug.Log($"[ClamBiteDetector] 조개에게 물림. 데미지 {biteDamage}, 기억의 조각 리셋", this);
}
}
private bool IsHandCollider(Collider other)
{
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;
}
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 9fc0bb91f57b5a74392435f20649c3e9

View File

@@ -1,5 +1,6 @@
using System.Collections;
using UnityEngine;
using UnityEngine.Events;
public class ClamOpenClose : MonoBehaviour
{
@@ -22,7 +23,7 @@ public class ClamOpenClose : MonoBehaviour
[SerializeField] private float maxOpenTime = 2.0f;
[SerializeField] private float openDuration = 1.5f;
[SerializeField] private float closeDuration = 0.18f;
[SerializeField] private float closeDuration = 0.2f;
[Header("Motion")]
[SerializeField] private AnimationCurve openCurve = AnimationCurve.EaseInOut(0, 0, 1, 1);
@@ -32,15 +33,20 @@ public class ClamOpenClose : MonoBehaviour
[SerializeField] private bool useSnapClose = true;
[Tooltip("닫힐 때 살짝 더 닫히는 오버슈트 각도입니다.")]
[SerializeField] private float snapCloseOvershootX = 5f;
[SerializeField] private float snapCloseOvershootX = 3f;
[Tooltip("쾅 하고 닫힌 뒤 원래 닫힌 위치로 돌아오는 시간입니다.")]
[SerializeField] private float snapCloseOvershootDuration = 0.06f;
[SerializeField] private float snapCloseOvershootDuration = 0.02f;
[Header("Start Option")]
[SerializeField] private bool startAutomatically = true;
[SerializeField] private bool startOpened = false;
[Header("Events")]
public UnityEvent onOpened;
public UnityEvent onCloseStarted;
public UnityEvent onClosed;
private Quaternion upClosedRot;
private Quaternion downClosedRot;
@@ -49,8 +55,10 @@ public class ClamOpenClose : MonoBehaviour
private Coroutine routine;
private bool isOpen;
private bool isClosing;
public bool IsOpen => isOpen;
public bool IsClosing => isClosing;
private void Awake()
{
@@ -72,13 +80,11 @@ private void Awake()
return;
}
// 현재 Scene에서 맞춰둔 로컬 회전을 닫힌 상태로 저장
upClosedRot = upShell.localRotation;
if (downShell != null)
downClosedRot = downShell.localRotation;
// 닫힌 상태 기준으로 X축 회전 추가
upOpenedRot = upClosedRot * Quaternion.Euler(upShellOpenX, 0f, 0f);
if (downShell != null)
@@ -120,7 +126,8 @@ private IEnumerator OpenCloseRoutine()
float closedWait = Random.Range(minClosedTime, maxClosedTime);
yield return new WaitForSeconds(closedWait);
// 천천히 열기
isClosing = false;
yield return MoveShells(
upClosedRot,
upOpenedRot,
@@ -131,11 +138,15 @@ private IEnumerator OpenCloseRoutine()
);
isOpen = true;
isClosing = false;
onOpened?.Invoke();
float openWait = Random.Range(minOpenTime, maxOpenTime);
yield return new WaitForSeconds(openWait);
// 빠르게 닫기
isClosing = true;
onCloseStarted?.Invoke();
yield return MoveShells(
upOpenedRot,
upClosedRot,
@@ -147,11 +158,13 @@ private IEnumerator OpenCloseRoutine()
isOpen = false;
// 쾅 닫히는 느낌
if (useSnapClose)
{
yield return SnapCloseEffect();
}
isClosing = false;
onClosed?.Invoke();
}
}
@@ -197,7 +210,6 @@ private IEnumerator SnapCloseEffect()
if (downShell != null)
downSnapRot = downClosedRot * Quaternion.Euler(-snapCloseOvershootX * 0.3f, 0f, 0f);
// 살짝 더 닫힘
if (upShell != null)
upShell.localRotation = upSnapRot;
@@ -206,7 +218,6 @@ private IEnumerator SnapCloseEffect()
yield return new WaitForSeconds(snapCloseOvershootDuration);
// 원래 닫힌 상태로 복귀
if (upShell != null)
upShell.localRotation = upClosedRot;
@@ -223,6 +234,7 @@ private void SetClosedImmediately()
downShell.localRotation = downClosedRot;
isOpen = false;
isClosing = false;
}
private void SetOpenedImmediately()
@@ -234,5 +246,6 @@ private void SetOpenedImmediately()
downShell.localRotation = downOpenedRot;
isOpen = true;
isClosing = false;
}
}

View File

@@ -0,0 +1,32 @@
using UnityEngine;
public class DamageObstacle : MonoBehaviour
{
public enum ObstacleType
{
Rock,
Rhino,
ClamBite
}
[Header("Damage")]
[SerializeField] private ObstacleType obstacleType = ObstacleType.Rock;
[SerializeField] private int damage = 10;
[Header("Options")]
[SerializeField] private bool canDamage = true;
public ObstacleType Type => obstacleType;
public int Damage => damage;
public bool CanDamage => canDamage;
public void SetCanDamage(bool value)
{
canDamage = value;
}
public void SetDamage(int value)
{
damage = Mathf.Max(0, value);
}
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 310877c91d22e1142b0ea9977b24d3dc

View File

@@ -0,0 +1,85 @@
using System.Collections;
using UnityEngine;
using UnityEngine.XR.Interaction.Toolkit.Interactables;
public class MemoryFragmentReset : MonoBehaviour
{
[Header("References")]
[SerializeField] private XRGrabInteractable grabInteractable;
[SerializeField] private Rigidbody rb;
[Header("Reset")]
[SerializeField] private Transform resetPoint;
[Tooltip("리셋 후 다시 잡을 수 있게 되기까지의 시간")]
[SerializeField] private float reEnableDelay = 0.15f;
[Header("Debug")]
[SerializeField] private bool showDebugLog = true;
private Vector3 startPosition;
private Quaternion startRotation;
private Transform startParent;
private Coroutine resetRoutine;
private void Awake()
{
if (grabInteractable == null)
grabInteractable = GetComponent<XRGrabInteractable>();
if (rb == null)
rb = GetComponent<Rigidbody>();
startPosition = transform.position;
startRotation = transform.rotation;
startParent = transform.parent;
}
public void ResetFragment()
{
if (resetRoutine != null)
StopCoroutine(resetRoutine);
resetRoutine = StartCoroutine(ResetRoutine());
}
private IEnumerator ResetRoutine()
{
if (grabInteractable != null)
grabInteractable.enabled = false;
if (rb != null)
{
rb.linearVelocity = Vector3.zero;
rb.angularVelocity = Vector3.zero;
rb.isKinematic = true;
}
transform.SetParent(startParent, true);
if (resetPoint != null)
{
transform.position = resetPoint.position;
transform.rotation = resetPoint.rotation;
}
else
{
transform.position = startPosition;
transform.rotation = startRotation;
}
yield return new WaitForSeconds(reEnableDelay);
if (rb != null)
rb.isKinematic = false;
if (grabInteractable != null)
grabInteractable.enabled = true;
if (showDebugLog)
Debug.Log("[MemoryFragmentReset] 기억의 조각을 원래 위치로 되돌렸습니다.", this);
resetRoutine = null;
}
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 7c8bb23fa35921f41b4e864bd95c0c77

View File

@@ -0,0 +1,156 @@
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.XR;
public class RaftDamageReceiver : MonoBehaviour
{
[Header("References")]
[SerializeField] private RaftHealth raftHealth;
[Header("Damage Cooldown")]
[SerializeField] private float sameObstacleDamageCooldown = 1.0f;
[SerializeField] private float globalDamageCooldown = 0.2f;
[Header("Haptic Feedback")]
[SerializeField] private bool useHapticFeedback = true;
[Range(0f, 1f)]
[SerializeField] private float hapticAmplitude = 0.6f;
[SerializeField] private float hapticDuration = 0.15f;
[Tooltip("체력 데미지 수치에 따라 햅틱 세기를 살짝 키웁니다.")]
[SerializeField] private bool scaleHapticByDamage = true;
[Header("Debug")]
[SerializeField] private bool showDebugLog = true;
private readonly Dictionary<DamageObstacle, float> lastDamageTimeByObstacle = new();
private float lastGlobalDamageTime = -999f;
private readonly List<InputDevice> hapticDevices = new();
private void Awake()
{
if (raftHealth == null)
{
raftHealth = GetComponentInParent<RaftHealth>();
}
if (raftHealth == null)
{
raftHealth = FindFirstObjectByType<RaftHealth>();
}
}
private void OnTriggerEnter(Collider other)
{
TryDamage(other);
}
private void OnTriggerStay(Collider other)
{
TryDamage(other);
}
private void TryDamage(Collider other)
{
if (raftHealth == null)
{
if (showDebugLog)
Debug.LogWarning("[RaftDamageReceiver] RaftHealth가 연결되지 않았습니다.", this);
return;
}
DamageObstacle obstacle = other.GetComponentInParent<DamageObstacle>();
if (obstacle == null)
return;
if (!obstacle.CanDamage)
return;
if (raftHealth.IsDead)
return;
float now = Time.time;
if (now < lastGlobalDamageTime + globalDamageCooldown)
return;
if (lastDamageTimeByObstacle.TryGetValue(obstacle, out float lastObstacleTime))
{
if (now < lastObstacleTime + sameObstacleDamageCooldown)
return;
}
int damage = obstacle.Damage;
if (damage <= 0)
return;
raftHealth.TakeDamage(damage);
lastGlobalDamageTime = now;
lastDamageTimeByObstacle[obstacle] = now;
PlayHaptic(damage);
if (showDebugLog)
{
Debug.Log($"[RaftDamageReceiver] {obstacle.name} 충돌. 데미지: {damage}");
}
}
private void PlayHaptic(int damage)
{
if (!useHapticFeedback)
return;
float amplitude = hapticAmplitude;
if (scaleHapticByDamage)
{
// 10 데미지 = 기본값, 15 이상 = 조금 더 강하게
float damageScale = Mathf.Clamp(damage / 10f, 1f, 1.5f);
amplitude *= damageScale;
}
amplitude = Mathf.Clamp01(amplitude);
SendHapticToDevice(XRNode.LeftHand, amplitude, hapticDuration);
SendHapticToDevice(XRNode.RightHand, amplitude, hapticDuration);
}
private void SendHapticToDevice(XRNode node, float amplitude, float duration)
{
InputDevice device = InputDevices.GetDeviceAtXRNode(node);
if (!device.isValid)
{
if (showDebugLog)
Debug.Log($"[RaftDamageReceiver] {node} 컨트롤러를 찾지 못했습니다.");
return;
}
if (!device.TryGetHapticCapabilities(out HapticCapabilities capabilities))
{
if (showDebugLog)
Debug.Log($"[RaftDamageReceiver] {node} 햅틱 기능을 확인할 수 없습니다.");
return;
}
if (!capabilities.supportsImpulse)
{
if (showDebugLog)
Debug.Log($"[RaftDamageReceiver] {node} 컨트롤러가 impulse 햅틱을 지원하지 않습니다.");
return;
}
device.SendHapticImpulse(0u, amplitude, duration);
}
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 4d64021aa9910eb4bb87691a2cdc6697

View File

@@ -0,0 +1,82 @@
using UnityEngine;
using UnityEngine.Events;
public class RaftHealth : MonoBehaviour
{
[Header("Health")]
[SerializeField] private int maxHealth = 100;
[SerializeField] private int currentHealth = 100;
[Header("Options")]
[SerializeField] private bool resetHealthOnStart = true;
[Header("Events")]
public UnityEvent<int, int> onHealthChanged;
public UnityEvent onDead;
public int MaxHealth => maxHealth;
public int CurrentHealth => currentHealth;
public bool IsDead => currentHealth <= 0;
private void Start()
{
if (resetHealthOnStart)
{
ResetHealth();
}
}
public void ResetHealth()
{
currentHealth = maxHealth;
currentHealth = Mathf.Clamp(currentHealth, 0, maxHealth);
Debug.Log($"[RaftHealth] 체력 초기화: {currentHealth}/{maxHealth}");
onHealthChanged?.Invoke(currentHealth, maxHealth);
}
public void TakeDamage(int damage)
{
if (damage <= 0)
return;
if (IsDead)
return;
currentHealth -= damage;
currentHealth = Mathf.Clamp(currentHealth, 0, maxHealth);
Debug.Log($"[RaftHealth] 데미지 {damage} 받음. 현재 체력: {currentHealth}/{maxHealth}");
onHealthChanged?.Invoke(currentHealth, maxHealth);
if (currentHealth <= 0)
{
Die();
}
}
public void Heal(int amount)
{
if (amount <= 0)
return;
if (IsDead)
return;
currentHealth += amount;
currentHealth = Mathf.Clamp(currentHealth, 0, maxHealth);
Debug.Log($"[RaftHealth] 회복 {amount}. 현재 체력: {currentHealth}/{maxHealth}");
onHealthChanged?.Invoke(currentHealth, maxHealth);
}
private void Die()
{
Debug.Log("[RaftHealth] 체력이 0이 되었습니다. 뗏목 실패 처리.");
onDead?.Invoke();
}
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: a21b5472b91813b44bf392e78726081a

View File

@@ -0,0 +1,77 @@
using UnityEngine;
using UnityEngine.UI;
using TMPro;
public class RaftHealthUI : MonoBehaviour
{
[Header("References")]
[SerializeField] private RaftHealth raftHealth;
[SerializeField] private Image hpFillImage;
[SerializeField] private TMP_Text hpText;
[Header("Text")]
[SerializeField] private string hpPrefix = "HP";
[Header("Options")]
[SerializeField] private bool autoFindHealth = true;
[SerializeField] private bool hideWhenNoHealth = false;
[Header("Debug")]
[SerializeField] private bool showDebugLog = true;
private void Awake()
{
if (autoFindHealth && raftHealth == null)
{
raftHealth = FindFirstObjectByType<RaftHealth>();
}
}
private void OnEnable()
{
if (raftHealth != null)
{
raftHealth.onHealthChanged.AddListener(UpdateHealthUI);
UpdateHealthUI(raftHealth.CurrentHealth, raftHealth.MaxHealth);
}
else
{
if (hideWhenNoHealth)
gameObject.SetActive(false);
if (showDebugLog)
Debug.LogWarning("[RaftHealthUI] RaftHealth가 연결되지 않았습니다.", this);
}
}
private void OnDisable()
{
if (raftHealth != null)
{
raftHealth.onHealthChanged.RemoveListener(UpdateHealthUI);
}
}
public void UpdateHealthUI(int currentHealth, int maxHealth)
{
if (maxHealth <= 0)
maxHealth = 1;
float ratio = Mathf.Clamp01((float)currentHealth / maxHealth);
if (hpFillImage != null)
{
hpFillImage.fillAmount = ratio;
}
if (hpText != null)
{
hpText.text = $"{currentHealth} / {maxHealth}";
}
if (showDebugLog)
{
Debug.Log($"[RaftHealthUI] 체력 UI 갱신: {currentHealth}/{maxHealth}");
}
}
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 33f1269210c01984da23f85d35082e80

View File

@@ -0,0 +1,97 @@
using System.Collections;
using UnityEngine;
using UnityEngine.SceneManagement;
public class RaftRestartManager : MonoBehaviour
{
[Header("References")]
[SerializeField] private RaftHealth raftHealth;
[Header("Restart")]
[SerializeField] private bool restartAutomatically = false;
[SerializeField] private float autoRestartDelay = 2.0f;
[Tooltip("키보드 테스트용입니다. VR 버튼 리스타트는 나중에 연결해도 됩니다.")]
[SerializeField] private KeyCode restartKey = KeyCode.R;
[Header("Debug")]
[SerializeField] private bool showDebugLog = true;
private bool waitingForRestart;
private Coroutine restartRoutine;
private void Awake()
{
if (raftHealth == null)
raftHealth = FindFirstObjectByType<RaftHealth>();
}
private void OnEnable()
{
if (raftHealth != null)
{
raftHealth.onDead.AddListener(OnRaftDead);
}
}
private void OnDisable()
{
if (raftHealth != null)
{
raftHealth.onDead.RemoveListener(OnRaftDead);
}
}
private void Update()
{
if (!waitingForRestart)
return;
#if ENABLE_LEGACY_INPUT_MANAGER
if (Input.GetKeyDown(restartKey))
{
RestartNow();
}
#endif
}
public void OnRaftDead()
{
if (waitingForRestart)
return;
waitingForRestart = true;
if (showDebugLog)
{
Debug.Log("[RaftRestartManager] 체력 0. 리스타트 대기 상태입니다. R 키 또는 RestartNow 호출로 재시작합니다.");
}
if (restartAutomatically)
{
if (restartRoutine != null)
StopCoroutine(restartRoutine);
restartRoutine = StartCoroutine(AutoRestartRoutine());
}
}
private IEnumerator AutoRestartRoutine()
{
yield return new WaitForSeconds(autoRestartDelay);
RestartNow();
}
public void RestartNow()
{
if (showDebugLog)
{
Debug.Log("[RaftRestartManager] 현재 씬을 다시 시작합니다.");
}
Time.timeScale = 1f;
Scene currentScene = SceneManager.GetActiveScene();
SceneManager.LoadScene(currentScene.buildIndex);
}
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 68a1b671a1769224bba0e6f62386a131

View File

@@ -16,6 +16,10 @@ public class RaftRiverController : MonoBehaviour
[SerializeField] private float forwardSpeed = 5f;
[SerializeField] private float turnSpeed = 4f;
[Header("Start Speed Control")]
[Tooltip("0이면 정지, 1이면 정상 속도입니다. 시작 가속용으로 사용합니다.")]
[SerializeField] private float speedMultiplier = 1f;
[Header("Side Control")]
[SerializeField] private float sideMoveSpeed = 16f;
[SerializeField] private float sideAcceleration = 40f;
@@ -25,8 +29,10 @@ public class RaftRiverController : MonoBehaviour
[Header("Path Follow Feel")]
[SerializeField] private float pathFollowSmoothTime = 0.28f;
[Range(0f, 1f)]
[SerializeField] private float rotationVelocityBlend = 0.45f;
[SerializeField] private float steeringYawAngle = 18f;
[Header("Manual Steering")]
@@ -38,10 +44,27 @@ public class RaftRiverController : MonoBehaviour
[SerializeField] private float arrivalSlowDownDistance = 12f;
[SerializeField] private float arrivalMinSpeed = 0.8f;
[Header("Final Stop Guard")]
[Tooltip("마지막 포인트에 가까워지면 거리 판정으로 도착 처리합니다.")]
[SerializeField] private float finalPointReachDistance = 3.0f;
[Tooltip("마지막 포인트 근처 몇 미터 안에서 지나침 감지를 할지 설정합니다.")]
[SerializeField] private float finalStopGuardDistance = 20f;
[Tooltip("목표점과의 X/Z 차이가 이 값 이상 다시 커지면 지나친 것으로 판단합니다.")]
[SerializeField] private float finalStopGuardAxisEpsilon = 0.05f;
[Tooltip("마지막 구간 방향 기준, 마지막 포인트를 넘어가면 즉시 도착 처리합니다.")]
[SerializeField] private bool stopWhenPassedFinalPlane = true;
[Tooltip("도착 처리 시 마지막 포인트 위치로 뗏목을 스냅할지 여부입니다.")]
[SerializeField] private bool snapToFinalPointOnArrive = true;
[Header("Events")]
public UnityEvent onArrived;
private int currentPointIndex = 0;
private float sideOffset = 0f;
private float sideVelocity = 0f;
private float currentSteeringInput = 0f;
@@ -53,6 +76,9 @@ public class RaftRiverController : MonoBehaviour
private Vector3 previousPosition;
private Vector3 startCenterPosition;
private Vector3 previousFinalDelta;
private bool hasPreviousFinalDelta;
private bool isFinished = false;
private bool warnedMissingSteeringKey;
@@ -76,10 +102,21 @@ private void Start()
currentCenterPosition = transform.position;
startCenterPosition = currentCenterPosition;
currentForward = transform.forward;
currentRight = transform.right;
currentForward.y = 0f;
if (currentForward.sqrMagnitude < 0.001f)
currentForward = Vector3.forward;
currentForward.Normalize();
currentRight = Vector3.Cross(Vector3.up, currentForward).normalized;
previousPosition = transform.position;
currentPointIndex = 0;
ResetFinalStopGuard();
}
private void Update()
@@ -88,24 +125,35 @@ private void Update()
return;
HandleSideControl();
MoveAlongPath();
bool arrived = MoveAlongPath();
if (arrived)
return;
ApplyRaftPositionAndRotation();
}
private void MoveAlongPath()
private bool MoveAlongPath()
{
SkipMissingPathPoints();
int lastPointIndex = GetLastValidPathPointIndex();
if (lastPointIndex < 0 || currentPointIndex >= pathPoints.Length)
{
FinishRaftRide();
return;
return true;
}
Transform targetPoint = pathPoints[currentPointIndex];
if (targetPoint == null)
return false;
Vector3 toTarget = GetFlatVectorTo(targetPoint.position);
float distance = toTarget.magnitude;
bool isLastTarget = currentPointIndex == lastPointIndex;
while (!isLastTarget && ShouldAdvancePathPoint(currentPointIndex, distance))
@@ -115,46 +163,56 @@ private void MoveAlongPath()
if (currentPointIndex >= pathPoints.Length)
{
SnapToPathPoint(targetPoint);
FinishRaftRide();
return;
FinishAtFinalPoint();
return true;
}
targetPoint = pathPoints[currentPointIndex];
if (targetPoint == null)
return false;
toTarget = GetFlatVectorTo(targetPoint.position);
distance = toTarget.magnitude;
isLastTarget = currentPointIndex == lastPointIndex;
}
if (isLastTarget && distance <= pointReachDistance)
if (isLastTarget && IsCloseEnoughToFinalPoint(distance))
{
SnapToPathPoint(targetPoint);
FinishRaftRide();
return;
FinishAtFinalPoint();
return true;
}
if (toTarget.sqrMagnitude < 0.001f)
return;
return false;
Vector3 pathForward = toTarget.normalized;
currentForward = GetTravelForward(pathForward);
float currentSpeed = GetCurrentForwardSpeed(distance);
float moveDistance = currentSpeed * Time.deltaTime;
if (isLastTarget && moveDistance >= distance)
{
SnapToPathPoint(targetPoint);
FinishRaftRide();
return;
FinishAtFinalPoint();
return true;
}
currentCenterPosition += currentForward * moveDistance;
currentRight = Vector3.Cross(Vector3.up, currentForward).normalized;
if (currentForward.sqrMagnitude > 0.001f)
currentRight = Vector3.Cross(Vector3.up, currentForward).normalized;
if (TryFinishAtFinalPointByGuards())
return true;
return false;
}
private void HandleSideControl()
{
float input = 0f;
ResolveSteeringKey();
if (steeringKey != null)
@@ -178,6 +236,7 @@ private void HandleSideControl()
currentSteeringInput = input;
float targetSideVelocity = input * sideMoveSpeed;
sideVelocity = Mathf.MoveTowards(
sideVelocity,
targetSideVelocity,
@@ -202,6 +261,7 @@ private void ApplyRaftPositionAndRotation()
targetPosition.y = transform.position.y;
float smoothTime = Mathf.Max(0.01f, pathFollowSmoothTime);
transform.position = Vector3.SmoothDamp(
transform.position,
targetPosition,
@@ -215,6 +275,7 @@ private void ApplyRaftPositionAndRotation()
frameVelocity.y = 0f;
Vector3 lookDirection = currentForward;
if (frameVelocity.sqrMagnitude > 0.0001f)
{
lookDirection = Vector3.Slerp(
@@ -224,6 +285,9 @@ private void ApplyRaftPositionAndRotation()
);
}
if (lookDirection.sqrMagnitude < 0.001f)
return;
Quaternion targetRotation =
Quaternion.LookRotation(lookDirection, Vector3.up) *
Quaternion.Euler(0f, currentSteeringInput * steeringYawAngle, 0f);
@@ -236,25 +300,179 @@ private void ApplyRaftPositionAndRotation()
}
}
private bool IsCloseEnoughToFinalPoint(float distance)
{
float reachDistance = Mathf.Max(pointReachDistance, finalPointReachDistance);
return distance <= reachDistance;
}
private bool TryFinishAtFinalPointByGuards()
{
int lastPointIndex = GetLastValidPathPointIndex();
if (lastPointIndex < 0)
return false;
if (currentPointIndex != lastPointIndex)
{
ResetFinalStopGuard();
return false;
}
Transform finalPoint = pathPoints[lastPointIndex];
if (finalPoint == null)
return false;
Vector3 finalDelta = finalPoint.position - currentCenterPosition;
finalDelta.y = 0f;
float distanceToFinal = finalDelta.magnitude;
if (distanceToFinal <= finalPointReachDistance)
{
Debug.Log("[RaftRiverController] Final point reach distance 안에 들어와 도착 처리합니다.");
FinishAtFinalPoint();
return true;
}
if (stopWhenPassedFinalPlane && HasPassedFinalPlane())
{
Debug.Log("[RaftRiverController] 마지막 도착 평면을 지나 도착 처리합니다.");
FinishAtFinalPoint();
return true;
}
if (TryFinishIfMovingAwayFromFinalPoint(finalDelta, distanceToFinal))
return true;
return false;
}
private bool HasPassedFinalPlane()
{
int lastPointIndex = GetLastValidPathPointIndex();
int penultimateIndex = GetPenultimateValidPathPointIndex();
if (lastPointIndex < 0 || penultimateIndex < 0 || lastPointIndex == penultimateIndex)
return false;
Transform finalPoint = pathPoints[lastPointIndex];
Transform previousPoint = pathPoints[penultimateIndex];
if (finalPoint == null || previousPoint == null)
return false;
Vector3 previousPos = previousPoint.position;
Vector3 finalPos = finalPoint.position;
Vector3 centerPos = currentCenterPosition;
previousPos.y = 0f;
finalPos.y = 0f;
centerPos.y = 0f;
Vector3 finalSegmentDirection = finalPos - previousPos;
if (finalSegmentDirection.sqrMagnitude < 0.001f)
return false;
finalSegmentDirection.Normalize();
Vector3 fromFinalToRaft = centerPos - finalPos;
float passedAmount = Vector3.Dot(fromFinalToRaft, finalSegmentDirection);
return passedAmount >= 0f;
}
private bool TryFinishIfMovingAwayFromFinalPoint(Vector3 finalDelta, float distanceToFinal)
{
if (distanceToFinal > finalStopGuardDistance)
{
previousFinalDelta = finalDelta;
hasPreviousFinalDelta = true;
return false;
}
if (!hasPreviousFinalDelta)
{
previousFinalDelta = finalDelta;
hasPreviousFinalDelta = true;
return false;
}
Vector3 previousAbs = new Vector3(
Mathf.Abs(previousFinalDelta.x),
0f,
Mathf.Abs(previousFinalDelta.z)
);
Vector3 currentAbs = new Vector3(
Mathf.Abs(finalDelta.x),
0f,
Mathf.Abs(finalDelta.z)
);
bool xMovingAway = currentAbs.x > previousAbs.x + finalStopGuardAxisEpsilon;
bool zMovingAway = currentAbs.z > previousAbs.z + finalStopGuardAxisEpsilon;
if (xMovingAway || zMovingAway)
{
Debug.Log("[RaftRiverController] 마지막 포인트에서 멀어지는 것으로 판단하여 도착 처리합니다.");
FinishAtFinalPoint();
return true;
}
previousFinalDelta = finalDelta;
return false;
}
private void FinishAtFinalPoint()
{
int lastPointIndex = GetLastValidPathPointIndex();
if (lastPointIndex >= 0 && pathPoints[lastPointIndex] != null && snapToFinalPointOnArrive)
{
SnapToPathPoint(pathPoints[lastPointIndex]);
}
FinishRaftRide();
}
private void FinishRaftRide()
{
if (isFinished)
return;
isFinished = true;
SetSpeedMultiplier(0f);
sideVelocity = 0f;
currentSteeringInput = 0f;
positionSmoothVelocity = Vector3.zero;
Debug.Log("[RaftRiverController] Arrived at destination. Raft stopped.");
onArrived?.Invoke();
}
public void StopRaft()
{
isFinished = true;
sideVelocity = 0f;
currentSteeringInput = 0f;
positionSmoothVelocity = Vector3.zero;
}
public void ResumeRaft()
{
isFinished = false;
ResetFinalStopGuard();
}
public void SetSpeedMultiplier(float value)
{
speedMultiplier = Mathf.Clamp01(value);
}
public void SetSteeringKey(SteeringKeyXR newSteeringKey)
@@ -286,7 +504,11 @@ private Vector3 GetTravelForward(Vector3 fallbackForward)
if (steeringKey != null && steeringKey.IsGrabbed)
{
float turnAmount = currentSteeringInput * Mathf.Max(0f, grabbedSteeringTurnSpeed) * Time.deltaTime;
float turnAmount =
currentSteeringInput *
Mathf.Max(0f, grabbedSteeringTurnSpeed) *
Time.deltaTime;
travelForward = Quaternion.Euler(0f, turnAmount, 0f) * travelForward.normalized;
}
@@ -307,15 +529,22 @@ private bool ShouldAdvancePathPoint(int targetIndex, float distanceToTarget)
private bool HasPassedPathPoint(int targetIndex)
{
if (pathPoints == null || targetIndex < 0 || targetIndex >= pathPoints.Length || pathPoints[targetIndex] == null)
if (pathPoints == null ||
targetIndex < 0 ||
targetIndex >= pathPoints.Length ||
pathPoints[targetIndex] == null)
{
return true;
}
Vector3 anchorPosition = GetPreviousPathAnchorPosition(targetIndex);
Vector3 targetPosition = pathPoints[targetIndex].position;
anchorPosition.y = currentCenterPosition.y;
targetPosition.y = currentCenterPosition.y;
Vector3 segment = targetPosition - anchorPosition;
if (segment.sqrMagnitude < 0.001f)
return false;
@@ -348,12 +577,16 @@ private void SnapToPathPoint(Transform point)
finalPosition.y = transform.position.y;
currentCenterPosition = finalPosition;
sideOffset = 0f;
sideVelocity = 0f;
currentSteeringInput = 0f;
positionSmoothVelocity = Vector3.zero;
previousPosition = finalPosition;
transform.position = finalPosition;
ResetFinalStopGuard();
}
private int GetPenultimateValidPathPointIndex()
@@ -383,18 +616,25 @@ private int GetPenultimateValidPathPointIndex()
private float GetArrivalSlowDownDistance()
{
float fallbackDistance = Mathf.Max(pointReachDistance + 0.01f, arrivalSlowDownDistance);
int penultimateIndex = GetPenultimateValidPathPointIndex();
int lastPointIndex = GetLastValidPathPointIndex();
if (penultimateIndex < 0 || lastPointIndex < 0 || penultimateIndex == lastPointIndex)
if (penultimateIndex < 0 ||
lastPointIndex < 0 ||
penultimateIndex == lastPointIndex)
{
return fallbackDistance;
}
Vector3 penultimatePosition = pathPoints[penultimateIndex].position;
Vector3 finalPosition = pathPoints[lastPointIndex].position;
penultimatePosition.y = 0f;
finalPosition.y = 0f;
float finalSegmentDistance = Vector3.Distance(penultimatePosition, finalPosition);
if (finalSegmentDistance <= pointReachDistance)
return fallbackDistance;
@@ -403,22 +643,46 @@ private float GetArrivalSlowDownDistance()
private float GetCurrentForwardSpeed(float distanceToTarget)
{
float baseSpeed;
if (currentPointIndex != GetLastValidPathPointIndex())
return forwardSpeed;
{
baseSpeed = forwardSpeed;
}
else
{
float maxSpeed = Mathf.Max(0f, forwardSpeed);
float maxSpeed = Mathf.Max(0f, forwardSpeed);
if (maxSpeed <= 0.01f)
return maxSpeed;
if (maxSpeed <= 0.01f)
{
baseSpeed = maxSpeed;
}
else
{
float slowDownDistance = GetArrivalSlowDownDistance();
float slowDownDistance = GetArrivalSlowDownDistance();
if (slowDownDistance <= pointReachDistance)
return maxSpeed;
if (slowDownDistance <= pointReachDistance)
{
baseSpeed = maxSpeed;
}
else
{
float minSpeed = Mathf.Clamp(arrivalMinSpeed, 0.01f, maxSpeed);
float minSpeed = Mathf.Clamp(arrivalMinSpeed, 0.01f, maxSpeed);
float speedRatio = Mathf.InverseLerp(pointReachDistance, slowDownDistance, distanceToTarget);
speedRatio = speedRatio * speedRatio * (3f - 2f * speedRatio);
float speedRatio = Mathf.InverseLerp(
pointReachDistance,
slowDownDistance,
distanceToTarget
);
return Mathf.Lerp(minSpeed, maxSpeed, speedRatio);
speedRatio = speedRatio * speedRatio * (3f - 2f * speedRatio);
baseSpeed = Mathf.Lerp(minSpeed, maxSpeed, speedRatio);
}
}
}
return baseSpeed * speedMultiplier;
}
private int GetLastValidPathPointIndex()
@@ -443,6 +707,12 @@ private void SkipMissingPathPoints()
}
}
private void ResetFinalStopGuard()
{
previousFinalDelta = Vector3.zero;
hasPreviousFinalDelta = false;
}
private float ReadLegacyHorizontalInput()
{
#if ENABLE_LEGACY_INPUT_MANAGER

View File

@@ -0,0 +1,238 @@
using System.Collections;
using UnityEngine;
public class RaftStartManager : MonoBehaviour
{
private enum StartState
{
Ready,
WaitingForKeyGrab,
Starting,
Riding,
Arrived,
Failed
}
[Header("References")]
[SerializeField] private RaftRiverController raftController;
[SerializeField] private SteeringKeyXR steeringKey;
[Tooltip("현재는 캡슐 요정. 나중에 요정 캐릭터 모델로 교체할 부모 오브젝트를 넣으면 됩니다.")]
[SerializeField] private GameObject fairyObject;
[Header("Obstacles")]
[Tooltip("뗏목 출발 시 함께 작동할 코뿔소들입니다.")]
[SerializeField] private RhinoObstacle[] rhinos;
[Header("Health")]
[SerializeField] private RaftHealth raftHealth;
[Header("Start Settings")]
[SerializeField] private bool waitForKeyGrab = true;
[Tooltip("키를 잡은 뒤 뗏목이 완전히 출발 속도에 도달하기까지 걸리는 시간")]
[SerializeField] private float startAccelerationDuration = 2.0f;
[Tooltip("출발 직후 바로 요정이 사라질지 여부")]
[SerializeField] private bool hideFairyOnStart = true;
[Header("Debug")]
[SerializeField] private bool showDebugLog = true;
private StartState state = StartState.Ready;
private Coroutine startRoutine;
private void Start()
{
SetupStartState();
}
private void Update()
{
if (state != StartState.WaitingForKeyGrab)
return;
if (!waitForKeyGrab)
return;
if (steeringKey != null && steeringKey.IsGrabbed)
{
BeginRaftRide();
}
}
private void SetupStartState()
{
ResolveReferences();
state = StartState.WaitingForKeyGrab;
if (raftController != null)
{
raftController.StopRaft();
raftController.SetSpeedMultiplier(0f);
}
if (raftHealth != null)
{
raftHealth.ResetHealth();
}
StopAllRhinos();
if (fairyObject != null)
{
fairyObject.SetActive(true);
}
if (showDebugLog)
{
Debug.Log("[RaftStartManager] 시작 준비 완료. 키를 잡으면 뗏목이 출발합니다.");
}
}
private void ResolveReferences()
{
if (raftController == null)
raftController = FindFirstObjectByType<RaftRiverController>();
if (steeringKey == null)
steeringKey = FindFirstObjectByType<SteeringKeyXR>();
if (raftHealth == null)
raftHealth = FindFirstObjectByType<RaftHealth>();
if (rhinos == null || rhinos.Length == 0)
rhinos = FindObjectsByType<RhinoObstacle>(FindObjectsSortMode.None);
}
public void BeginRaftRide()
{
if (state == StartState.Starting || state == StartState.Riding)
return;
state = StartState.Starting;
if (hideFairyOnStart && fairyObject != null)
{
fairyObject.SetActive(false);
}
if (startRoutine != null)
StopCoroutine(startRoutine);
startRoutine = StartCoroutine(StartRaftSmoothly());
}
private IEnumerator StartRaftSmoothly()
{
if (raftController == null)
{
Debug.LogWarning("[RaftStartManager] RaftRiverController가 연결되지 않았습니다.", this);
yield break;
}
raftController.SetSpeedMultiplier(0f);
raftController.ResumeRaft();
StartAllRhinos();
if (showDebugLog)
{
Debug.Log("[RaftStartManager] 뗏목 출발 시작. 코뿔소 장애물도 시작합니다.");
}
float timer = 0f;
float duration = Mathf.Max(0.01f, startAccelerationDuration);
while (timer < duration)
{
timer += Time.deltaTime;
float t = Mathf.Clamp01(timer / duration);
float smoothT = t * t * (3f - 2f * t);
raftController.SetSpeedMultiplier(smoothT);
yield return null;
}
raftController.SetSpeedMultiplier(1f);
state = StartState.Riding;
if (showDebugLog)
{
Debug.Log("[RaftStartManager] 뗏목 정상 운항 속도 도달.");
}
}
public void OnRaftArrived()
{
if (state == StartState.Arrived)
return;
state = StartState.Arrived;
if (raftController != null)
{
raftController.SetSpeedMultiplier(0f);
}
StopAllRhinos();
if (showDebugLog)
{
Debug.Log("[RaftStartManager] 목적지 도착. 뗏목 구간 종료. 코뿔소 장애물 정지.");
}
}
public void OnRaftFailed()
{
if (state == StartState.Failed)
return;
state = StartState.Failed;
if (raftController != null)
{
raftController.StopRaft();
raftController.SetSpeedMultiplier(0f);
}
StopAllRhinos();
if (showDebugLog)
{
Debug.Log("[RaftStartManager] 체력 0. 뗏목 구간 실패. 코뿔소 장애물 정지.");
}
}
private void StartAllRhinos()
{
if (rhinos == null)
return;
foreach (RhinoObstacle rhino in rhinos)
{
if (rhino == null)
continue;
rhino.StartRhino();
}
}
private void StopAllRhinos()
{
if (rhinos == null)
return;
foreach (RhinoObstacle rhino in rhinos)
{
if (rhino == null)
continue;
rhino.StopRhino();
}
}
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 24e1027c38bc1e34b9b4d80397ad481a

View File

@@ -0,0 +1,310 @@
using System.Collections;
using UnityEngine;
public class RhinoObstacle : MonoBehaviour
{
[Header("References")]
[SerializeField] private Transform rhinoRoot;
[SerializeField] private Animator animator;
[SerializeField] private DamageObstacle damageObstacle;
[Tooltip("수면 위에 있을 때만 켤 코뿔소 충돌 콜라이더들입니다. RhinoHitBox의 Collider를 넣으세요.")]
[SerializeField] private Collider[] damageColliders;
[Header("Position")]
[SerializeField] private Transform underwaterPoint;
[SerializeField] private Transform surfacePoint;
[Header("Timing")]
[SerializeField] private float minHiddenTime = 2.0f;
[SerializeField] private float maxHiddenTime = 5.0f;
[SerializeField] private float riseDuration = 0.8f;
[SerializeField] private float surfaceIdleTime = 0.4f;
[SerializeField] private float attackStayTime = 1.2f;
[SerializeField] private float diveDuration = 0.7f;
[Header("Animation")]
[SerializeField] private string idleStateName = "Idle";
[SerializeField] private string hitTriggerName = "Hit";
[SerializeField] private float idleCrossFadeDuration = 0.1f;
[Header("Options")]
[SerializeField] private bool startAutomatically = true;
[SerializeField] private bool loop = true;
[SerializeField] private bool showDebugLog = true;
private Coroutine routine;
private bool isRunning;
private bool isSurfaced;
public bool IsSurfaced => isSurfaced;
private void Awake()
{
ResolveReferences();
if (animator != null)
{
animator.applyRootMotion = false;
}
SetDamageActive(false);
}
private void Start()
{
MoveImmediatelyToUnderwater();
ForceIdleAnimation();
if (startAutomatically)
{
StartRhino();
}
}
private void ResolveReferences()
{
if (rhinoRoot == null)
rhinoRoot = transform;
if (animator == null)
animator = GetComponentInChildren<Animator>();
if (damageObstacle == null)
damageObstacle = GetComponentInChildren<DamageObstacle>();
if (damageColliders == null || damageColliders.Length == 0)
{
damageColliders = GetComponentsInChildren<Collider>(true);
}
}
public void StartRhino()
{
if (routine != null)
{
StopCoroutine(routine);
}
isRunning = true;
routine = StartCoroutine(RhinoRoutine());
Log("시작");
}
public void StopRhino()
{
isRunning = false;
if (routine != null)
{
StopCoroutine(routine);
routine = null;
}
SetDamageActive(false);
ForceIdleAnimation();
MoveImmediatelyToUnderwater();
Log("정지");
}
private IEnumerator RhinoRoutine()
{
while (isRunning)
{
// 1. 물속 대기
isSurfaced = false;
SetDamageActive(false);
ForceIdleAnimation();
float hiddenWait = Random.Range(minHiddenTime, maxHiddenTime);
Log($"물속 대기 {hiddenWait:0.0}초");
yield return new WaitForSeconds(hiddenWait);
if (!isRunning)
break;
// 2. 수면 위로 떠오름
Log("떠오름 시작");
yield return MoveToSurface();
if (!isRunning)
break;
// 3. 수면 위에 도착한 순간부터 충돌 가능
isSurfaced = true;
SetDamageActive(true);
ForceIdleAnimation();
Log("수면 위 도착 / 데미지 콜라이더 ON");
yield return new WaitForSeconds(surfaceIdleTime);
if (!isRunning)
break;
// 4. 공격 실행
Log("공격 시작");
PlayHitAnimation();
yield return new WaitForSeconds(attackStayTime);
// 5. 공격 종료 후 Idle 복귀
Log("공격 종료 / Idle 복귀");
ForceIdleAnimation();
if (!isRunning)
break;
// 6. 잠수 시작 전 충돌 끄기
isSurfaced = false;
SetDamageActive(false);
Log("잠수 시작 / 데미지 콜라이더 OFF");
yield return MoveToUnderwater();
if (!loop)
break;
}
routine = null;
}
private IEnumerator MoveToSurface()
{
if (rhinoRoot == null || surfacePoint == null)
yield break;
Vector3 startPos = rhinoRoot.position;
Vector3 endPos = surfacePoint.position;
float timer = 0f;
float duration = Mathf.Max(0.01f, riseDuration);
while (timer < duration)
{
timer += Time.deltaTime;
float t = Mathf.Clamp01(timer / duration);
float smoothT = Smooth01(t);
rhinoRoot.position = Vector3.Lerp(startPos, endPos, smoothT);
yield return null;
}
rhinoRoot.position = endPos;
}
private IEnumerator MoveToUnderwater()
{
if (rhinoRoot == null || underwaterPoint == null)
yield break;
Vector3 startPos = rhinoRoot.position;
Vector3 endPos = underwaterPoint.position;
float timer = 0f;
float duration = Mathf.Max(0.01f, diveDuration);
while (timer < duration)
{
timer += Time.deltaTime;
float t = Mathf.Clamp01(timer / duration);
float smoothT = Smooth01(t);
rhinoRoot.position = Vector3.Lerp(startPos, endPos, smoothT);
yield return null;
}
rhinoRoot.position = endPos;
isSurfaced = false;
SetDamageActive(false);
ForceIdleAnimation();
Log("잠수 완료");
}
private void PlayHitAnimation()
{
if (animator == null)
{
LogWarning("Animator가 없습니다.");
return;
}
if (string.IsNullOrEmpty(hitTriggerName))
return;
animator.ResetTrigger(hitTriggerName);
animator.SetTrigger(hitTriggerName);
}
private void ForceIdleAnimation()
{
if (animator == null)
return;
if (!string.IsNullOrEmpty(hitTriggerName))
{
animator.ResetTrigger(hitTriggerName);
}
if (!string.IsNullOrEmpty(idleStateName))
{
animator.CrossFade(idleStateName, idleCrossFadeDuration, 0, 0f);
}
}
private void MoveImmediatelyToUnderwater()
{
if (rhinoRoot == null || underwaterPoint == null)
return;
rhinoRoot.position = underwaterPoint.position;
isSurfaced = false;
SetDamageActive(false);
}
private void SetDamageActive(bool active)
{
if (damageObstacle != null)
{
damageObstacle.SetCanDamage(active);
}
if (damageColliders == null)
return;
foreach (Collider col in damageColliders)
{
if (col == null)
continue;
col.enabled = active;
}
}
private float Smooth01(float t)
{
return t * t * (3f - 2f * t);
}
private void Log(string message)
{
if (showDebugLog)
Debug.Log($"[RhinoObstacle] {name} / {message}");
}
private void LogWarning(string message)
{
if (showDebugLog)
Debug.LogWarning($"[RhinoObstacle] {name} / {message}", this);
}
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 1650344929a31bf469215ce025b8fd1d

View File

@@ -0,0 +1,5 @@
using UnityEngine;
public class XRHandMarker : MonoBehaviour
{
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 559f6e10a7fe4e2468ff96e9693b444e

View File

@@ -66,7 +66,11 @@ private string ResolveRegion()
}
// 영역 전환 (DialogRegion 트리거가 호출). 다음 Play()부터 해당 영역 대화가 재생됨.
public void SetRegion(string region) => _currentRegion = region;
public void SetRegion(string region)
{
Debug.Log($"[DialogPlayer] {gameObject.name} SetRegion: {_currentRegion} -> {region}");
_currentRegion = region;
}
public string CurrentRegion => _currentRegion;

View File

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

View File

@@ -0,0 +1,49 @@
using UnityEngine;
public class BlackjackDialogHudFix : MonoBehaviour
{
[Header("Anchor")]
public Transform speakerAnchor; // 후크 기준 위치
public Camera targetCamera; // 비워두면 Camera.main 사용
[Header("Panel Check")]
public GameObject dialoguePanel; // DialoguePanel 넣기
public bool onlyWhenPanelActive = true;
[Header("Placement")]
public float chestHeight = 2.0f;
public float forwardOffset = 0.7f;
public float lateralOffset = 0f;
private void LateUpdate()
{
if (speakerAnchor == null)
return;
if (onlyWhenPanelActive && dialoguePanel != null && !dialoguePanel.activeInHierarchy)
return;
Camera cam = targetCamera != null ? targetCamera : Camera.main;
if (cam == null)
return;
Vector3 toCam = cam.transform.position - speakerAnchor.position;
toCam.y = 0f;
if (toCam.sqrMagnitude < 0.0001f)
return;
Vector3 dir = toCam.normalized;
Vector3 right = Vector3.Cross(Vector3.up, dir).normalized;
Vector3 chestWorld = speakerAnchor.position + Vector3.up * chestHeight;
transform.position =
chestWorld +
dir * forwardOffset +
right * lateralOffset;
transform.rotation = Quaternion.LookRotation(-dir);
}
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 2b4bf258be179644ca6c223f911e15c7

View File

@@ -0,0 +1,34 @@
using UnityEngine;
[RequireComponent(typeof(Collider))]
public class BlackjackNpcRegionTrigger : MonoBehaviour
{
[Header("Target NPC")]
public Transform targetNpcRoot;
public DialogPlayer targetDialogPlayer;
[Header("Region")]
public string regionKey = "Area2";
private void Reset()
{
Collider col = GetComponent<Collider>();
if (col != null)
col.isTrigger = true;
}
private void OnTriggerEnter(Collider other)
{
if (targetDialogPlayer == null || targetNpcRoot == null)
{
Debug.LogWarning("[BlackjackNpcRegionTrigger] Target missing: " + gameObject.name);
return;
}
if (other.transform == targetNpcRoot || other.transform.IsChildOf(targetNpcRoot))
{
targetDialogPlayer.SetRegion(regionKey);
Debug.Log("[BlackjackNpcRegionTrigger] Set Hook Region: " + regionKey);
}
}
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 2c59f75021b6ffd4a9e401977eab2215

View File

@@ -0,0 +1,22 @@
using UnityEngine;
public class BlackjackSetDialogRegion : MonoBehaviour
{
[Header("Target Dialog Player")]
public DialogPlayer targetDialogPlayer;
[Header("Region")]
public string regionKey = "Area2";
public void SetRegion()
{
if (targetDialogPlayer == null)
{
Debug.LogWarning("[BlackjackSetDialogRegion] Target DialogPlayer is missing.");
return;
}
targetDialogPlayer.SetRegion(regionKey);
Debug.Log("[BlackjackSetDialogRegion] Set Region: " + regionKey);
}
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: cb97f33d4f1f90d45842cf1c2258fa83

View File

@@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Events;
using UnityEngine.InputSystem;
public enum Result { Perfect, Good, Bad, Miss }
@@ -40,6 +41,12 @@ public class RhythmManager : MonoBehaviour
[SerializeField] private AudioClip _countdownBeep; // 매초 카운트 효과음 (5,4,3,2,1)
[SerializeField] private AudioClip _countdownGoSfx; // 카운트 끝(GO) 효과음 (선택)
[Header("게임 종료 후 이벤트")]
[SerializeField] private int _targetScore = 1000; // 이 점수 이상이면 성공(OnCleared), 미만이면 실패(OnFailed)
[SerializeField] private float _postGameDelay = 3f; // 곡 종료 후 이벤트까지 대기 시간(초)
[SerializeField] private UnityEvent _onCleared; // 성공 시 (지연 후) 호출 — 인스펙터에서 연결
[SerializeField] private UnityEvent _onFailed; // 실패 시 (지연 후) 호출 — 인스펙터에서 연결
// 모든 타이밍의 기준. 오디오 클럭(dspTime) 기반이라 리드인 동안 음수(-leadTime→0)로 흐른다
public float SongTime => (float)(AudioSettings.dspTime - _dspSongStart);
@@ -341,12 +348,33 @@ public void StopSong()
OnSongFinished?.Invoke(Score); // 결과창 표시
// 게임 종료 후 지연 이벤트 (목표 점수 도달 여부로 성공/실패 분기)
_ = PostGameEventAsync(Score.Score >= _targetScore);
for(int i=0;i<_rhythmCats.Length;i++)
{
_rhythmCats[i].DanceStop();
}
}
// 곡 종료 후 _postGameDelay초 대기한 뒤 성공/실패 이벤트 호출.
// cleared는 종료 시점에 판정해서 넘긴다(지연 중 점수가 바뀌지 않지만 의도 명확화).
private async Awaitable PostGameEventAsync(bool cleared)
{
try
{
if (_postGameDelay > 0f)
await Awaitable.WaitForSecondsAsync(_postGameDelay, destroyCancellationToken);
}
catch (OperationCanceledException)
{
return; // 대기 중 오브젝트 파괴 시 이벤트 호출 안 함
}
if (cleared) _onCleared?.Invoke();
else _onFailed?.Invoke();
}
// 노트가 판정선을 지나쳐 스스로 Miss 처리될 때 호출 (노트는 이미 자기 파괴됨)
private void OnNoteMissed(RhythmNoteInstance note)
{

View File

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

View File

@@ -0,0 +1,51 @@
using UnityEngine;
public class SeaCreatureWaypoint : MonoBehaviour
{
[Header("Waypoint Settings")]
public Transform[] waypoints;
[Header("Movement Settings")]
public float moveSpeed = 2f;
public float rotationSpeed = 5f;
public float arriveDistance = 0.2f;
private int currentWaypoint = 0;
void Update()
{
if (waypoints == null || waypoints.Length == 0)
return;
Transform target = waypoints[currentWaypoint];
// 이동
transform.position = Vector3.MoveTowards(
transform.position,
target.position,
moveSpeed * Time.deltaTime);
// 바라보는 방향
Vector3 direction = target.position - transform.position;
if (direction != Vector3.zero)
{
Quaternion targetRotation = Quaternion.LookRotation(direction);
transform.rotation = Quaternion.Slerp(
transform.rotation,
targetRotation,
rotationSpeed * Time.deltaTime);
}
// 도착하면 다음 웨이포인트
if (Vector3.Distance(transform.position, target.position) < arriveDistance)
{
currentWaypoint++;
if (currentWaypoint >= waypoints.Length)
{
currentWaypoint = 0;
}
}
}
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: fb034270e545f1f42be49ca0557e2c46

View File

@@ -7,10 +7,11 @@ AnimatorState:
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: WhiteRhino_Skelmesh|Rhino_Combat_Atk_Hit
m_Name: Hit
m_Speed: 1
m_CycleOffset: 0
m_Transitions: []
m_Transitions:
- {fileID: 5211168254593058196}
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
@@ -35,7 +36,7 @@ AnimatorStateTransition:
m_Name:
m_Conditions:
- m_ConditionMode: 1
m_ConditionEvent: isIdle
m_ConditionEvent: Hit
m_EventTreshold: 0
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: -5762510348686555522}
@@ -46,7 +47,7 @@ AnimatorStateTransition:
m_TransitionDuration: 0.25
m_TransitionOffset: 0
m_ExitTime: 0.95
m_HasExitTime: 1
m_HasExitTime: 0
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1
@@ -62,7 +63,7 @@ AnimatorStateMachine:
m_ChildStates:
- serializedVersion: 1
m_State: {fileID: 2482721225991305447}
m_Position: {x: 330, y: 310, z: 0}
m_Position: {x: 300, y: 250, z: 0}
- serializedVersion: 1
m_State: {fileID: -5762510348686555522}
m_Position: {x: 670, y: 290, z: 0}
@@ -82,11 +83,11 @@ AnimatorController:
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: New Animator Controller
m_Name: Rhinos
serializedVersion: 5
m_AnimatorParameters:
- m_Name: isIdle
m_Type: 4
- m_Name: Hit
m_Type: 9
m_DefaultFloat: 0
m_DefaultInt: 0
m_DefaultBool: 0
@@ -111,7 +112,7 @@ AnimatorState:
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: WhiteRhino_Skelmesh|AA_WhiteRhino_Loco_Idle_Normal
m_Name: Idle
m_Speed: 1
m_CycleOffset: 0
m_Transitions:
@@ -131,3 +132,25 @@ AnimatorState:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1101 &5211168254593058196
AnimatorStateTransition:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name:
m_Conditions: []
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: 2482721225991305447}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0.25
m_TransitionOffset: 0
m_ExitTime: 0.8947368
m_HasExitTime: 1
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1

View File

@@ -14,6 +14,7 @@ Material:
m_ValidKeywords:
- N_F_DDMD_ON
- N_F_EAL_ON
- N_F_LLI_ON
- N_F_O_ON
- N_F_RDC_ON
- N_F_RELGI_ON
@@ -505,8 +506,8 @@ Material:
- _IDMaskPrior8: 0
- _IgnoreEncryption: 0
- _Invisible: 0
- _LLI_Max: 1
- _LLI_Min: 0
- _LLI_Max: 2
- _LLI_Min: 1
- _LigIgnoYNorDir: 0
- _LightAffectOutlineColor: 0
- _LightAffectRimLightColor: 0
@@ -596,7 +597,7 @@ Material:
- _N_F_GLOT: 0
- _N_F_HDLS: 0
- _N_F_HPSS: 0
- _N_F_LLI: 0
- _N_F_LLI: 1
- _N_F_MC: 0
- _N_F_MSSOLTFO: 0
- _N_F_NFD: 0

View File

@@ -14,6 +14,7 @@ Material:
m_ValidKeywords:
- N_F_DDMD_ON
- N_F_EAL_ON
- N_F_LLI_ON
- N_F_O_ON
- N_F_RDC_ON
- N_F_RELGI_ON
@@ -502,8 +503,8 @@ Material:
- _IDMaskPrior8: 0
- _IgnoreEncryption: 0
- _Invisible: 0
- _LLI_Max: 1
- _LLI_Min: 0
- _LLI_Max: 2
- _LLI_Min: 1
- _LigIgnoYNorDir: 0
- _LightAffectOutlineColor: 0
- _LightAffectRimLightColor: 0
@@ -593,7 +594,7 @@ Material:
- _N_F_GLOT: 0
- _N_F_HDLS: 0
- _N_F_HPSS: 0
- _N_F_LLI: 0
- _N_F_LLI: 1
- _N_F_MC: 0
- _N_F_MSSOLTFO: 0
- _N_F_NFD: 0

View File

@@ -14,6 +14,7 @@ Material:
m_ValidKeywords:
- N_F_DDMD_ON
- N_F_EAL_ON
- N_F_LLI_ON
- N_F_O_ON
- N_F_RDC_ON
- N_F_RELGI_ON
@@ -502,8 +503,8 @@ Material:
- _IDMaskPrior8: 0
- _IgnoreEncryption: 0
- _Invisible: 0
- _LLI_Max: 1
- _LLI_Min: 0
- _LLI_Max: 2
- _LLI_Min: 1
- _LigIgnoYNorDir: 0
- _LightAffectOutlineColor: 0
- _LightAffectRimLightColor: 0
@@ -593,7 +594,7 @@ Material:
- _N_F_GLOT: 0
- _N_F_HDLS: 0
- _N_F_HPSS: 0
- _N_F_LLI: 0
- _N_F_LLI: 1
- _N_F_MC: 0
- _N_F_MSSOLTFO: 0
- _N_F_NFD: 0

View File

@@ -14,6 +14,7 @@ Material:
m_ValidKeywords:
- N_F_DDMD_ON
- N_F_EAL_ON
- N_F_LLI_ON
- N_F_O_ON
- N_F_RDC_ON
- N_F_RELGI_ON
@@ -504,8 +505,8 @@ Material:
- _IDMaskPrior8: 0
- _IgnoreEncryption: 0
- _Invisible: 0
- _LLI_Max: 1
- _LLI_Min: 0
- _LLI_Max: 2
- _LLI_Min: 1
- _LigIgnoYNorDir: 0
- _LightAffectOutlineColor: 0
- _LightAffectRimLightColor: 0
@@ -595,7 +596,7 @@ Material:
- _N_F_GLOT: 0
- _N_F_HDLS: 0
- _N_F_HPSS: 0
- _N_F_LLI: 0
- _N_F_LLI: 1
- _N_F_MC: 0
- _N_F_MSSOLTFO: 0
- _N_F_NFD: 0

View File

@@ -14,6 +14,7 @@ Material:
m_ValidKeywords:
- N_F_DDMD_ON
- N_F_EAL_ON
- N_F_LLI_ON
- N_F_O_ON
- N_F_RDC_ON
- N_F_RELGI_ON
@@ -502,8 +503,8 @@ Material:
- _IDMaskPrior8: 0
- _IgnoreEncryption: 0
- _Invisible: 0
- _LLI_Max: 1
- _LLI_Min: 0
- _LLI_Max: 2
- _LLI_Min: 1
- _LigIgnoYNorDir: 0
- _LightAffectOutlineColor: 0
- _LightAffectRimLightColor: 0
@@ -593,7 +594,7 @@ Material:
- _N_F_GLOT: 0
- _N_F_HDLS: 0
- _N_F_HPSS: 0
- _N_F_LLI: 0
- _N_F_LLI: 1
- _N_F_MC: 0
- _N_F_MSSOLTFO: 0
- _N_F_NFD: 0

Binary file not shown.

View File

@@ -0,0 +1,28 @@
fileFormatVersion: 2
guid: 3a7143ba3efebd84fb2abb9a0df744d9
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 11500000, guid: 715df9372183c47e389bb6e19fbc3b52, type: 3}
editorImportSettings:
generateSecondaryUVSet: 0
importSettings:
nodeNameMethod: 1
animationMethod: 2
generateMipMaps: 1
texturesReadable: 0
defaultMinFilterMode: 9729
defaultMagFilterMode: 9729
anisotropicFilterLevel: 1
instantiationSettings:
mask: -1
layer: 0
skinUpdateWhenOffscreen: 1
lightIntensityFactor: 1
sceneObjectCreation: 2
assetDependencies: []
reportItems: []

View File

@@ -0,0 +1,72 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1107 &-5452897389391833622
AnimatorStateMachine:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Base Layer
m_ChildStates:
- serializedVersion: 1
m_State: {fileID: 728684528900698886}
m_Position: {x: 40, y: 180, z: 0}
m_ChildStateMachines: []
m_AnyStateTransitions: []
m_EntryTransitions: []
m_StateMachineTransitions: {}
m_StateMachineBehaviours: []
m_AnyStatePosition: {x: 50, y: 20, z: 0}
m_EntryPosition: {x: 50, y: 120, z: 0}
m_ExitPosition: {x: 800, y: 120, z: 0}
m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
m_DefaultState: {fileID: 728684528900698886}
--- !u!91 &9100000
AnimatorController:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: ray
serializedVersion: 5
m_AnimatorParameters: []
m_AnimatorLayers:
- serializedVersion: 5
m_Name: Base Layer
m_StateMachine: {fileID: -5452897389391833622}
m_Mask: {fileID: 0}
m_Motions: []
m_Behaviours: []
m_BlendingMode: 0
m_SyncedLayerIndex: -1
m_DefaultWeight: 0
m_IKPass: 0
m_SyncedLayerAffectsTiming: 0
m_Controller: {fileID: 9100000}
--- !u!1102 &728684528900698886
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Swim_F_IP
m_Speed: 1
m_CycleOffset: 0
m_Transitions: []
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
m_WriteDefaultValues: 1
m_Mirror: 0
m_SpeedParameterActive: 0
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: -1960022324658332933, guid: 3a7143ba3efebd84fb2abb9a0df744d9, type: 3}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:

View File

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

View File

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

View File

@@ -0,0 +1,140 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: PurpleSeaUrchinSpine_Skin_Mat
m_Shader: {fileID: -6465566751694194690, guid: 9a07dad0f3c4e43ff8312e3b5fa42300, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords:
- _ALPHATEST_ON
- _SPECULAR_SETUP
m_InvalidKeywords:
- _UV_CHANNEL_SELECT
m_LightmapFlags: 2
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 1
m_CustomRenderQueue: 2450
stringTagMap:
RenderType: TransparentCutout
disabledShaderPasses:
- MOTIONVECTORS
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- diffuseTexture:
m_Texture: {fileID: -7656184459702003963, guid: 5ce0bf3e9ff464e4c94634b42afdc801, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- emissiveTexture:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- normalTexture:
m_Texture: {fileID: -6511799899745677353, guid: 5ce0bf3e9ff464e4c94634b42afdc801, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- occlusionTexture:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- specularGlossinessTexture:
m_Texture: {fileID: -7418166437116789001, guid: 5ce0bf3e9ff464e4c94634b42afdc801, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_Lightmaps:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_LightmapsInd:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_ShadowMasks:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _AlphaClip: 1
- _AlphaToMask: 1
- _BUILTIN_AlphaClip: 0
- _BUILTIN_Blend: 0
- _BUILTIN_CullMode: 2
- _BUILTIN_DstBlend: 0
- _BUILTIN_QueueControl: 1
- _BUILTIN_QueueOffset: 0
- _BUILTIN_SrcBlend: 1
- _BUILTIN_Surface: 0
- _BUILTIN_ZTest: 4
- _BUILTIN_ZWrite: 1
- _BUILTIN_ZWriteControl: 0
- _Blend: 0
- _BlendModePreserveSpecular: 0
- _CastShadows: 1
- _Cull: 0
- _DstBlend: 0
- _DstBlendAlpha: 0
- _QueueControl: 1
- _QueueOffset: 0
- _ReceiveShadows: 1
- _SrcBlend: 1
- _SrcBlendAlpha: 1
- _Surface: 0
- _WorkflowMode: 0
- _ZTest: 4
- _ZWrite: 1
- _ZWriteControl: 0
- alphaCutoff: 0.85790735
- diffuseTexture_texCoord: 0
- emissiveExposureWeight: 0
- emissiveTexture_texCoord: 0
- glossinessFactor: 0.016
- normalTexture_scale: 2.9
- normalTexture_texCoord: 0.04
- occlusionTexture_strength: 1
- occlusionTexture_texCoord: 0
- specularGlossinessTexture_texCoord: 0
m_Colors:
- diffuseFactor: {r: 1, g: 1, b: 1, a: 1}
- diffuseTexture_Rotation: {r: 0, g: 0, b: 0, a: 0}
- emissiveFactor: {r: 0, g: 0, b: 0, a: 1}
- emissiveTexture_Rotation: {r: 0, g: 0, b: 0, a: 0}
- normalTexture_Rotation: {r: 0, g: 0, b: 0, a: 0}
- occlusionTexture_Rotation: {r: 0, g: 0, b: 0, a: 0}
- specularFactor: {r: 1, g: 1, b: 1, a: 1}
- specularGlossinessTexture_Rotation: {r: 0, g: 0, b: 0, a: 0}
m_BuildTextureStacks: []
m_AllowLocking: 1
--- !u!114 &2763539547839732862
MonoBehaviour:
m_ObjectHideFlags: 11
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
m_Name:
m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Editor::UnityEditor.Rendering.Universal.AssetVersion
version: 10
--- !u!114 &8766856155088287134
MonoBehaviour:
m_ObjectHideFlags: 11
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 639247ca83abc874e893eb93af2b5e44, type: 3}
m_Name:
m_EditorClassIdentifier: Unity.ShaderGraph.Editor::UnityEditor.Rendering.BuiltIn.AssetVersion
version: 0

View File

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

View File

@@ -0,0 +1,28 @@
fileFormatVersion: 2
guid: 5ce0bf3e9ff464e4c94634b42afdc801
ScriptedImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 2
userData:
assetBundleName:
assetBundleVariant:
script: {fileID: 11500000, guid: 715df9372183c47e389bb6e19fbc3b52, type: 3}
editorImportSettings:
generateSecondaryUVSet: 0
importSettings:
nodeNameMethod: 1
animationMethod: 2
generateMipMaps: 1
texturesReadable: 0
defaultMinFilterMode: 9729
defaultMagFilterMode: 9729
anisotropicFilterLevel: 1
instantiationSettings:
mask: -1
layer: 0
skinUpdateWhenOffscreen: 1
lightIntensityFactor: 1
sceneObjectCreation: 2
assetDependencies: []
reportItems: []

Binary file not shown.

View File

@@ -0,0 +1,149 @@
fileFormatVersion: 2
guid: ee6d4e1a208dd944994e36319208c280
ModelImporter:
serializedVersion: 24200
internalIDToNameTable: []
externalObjects:
- first:
type: UnityEngine:Material
assembly: UnityEngine.CoreModule
name: body
second: {fileID: 2100000, guid: 6eeeaff13d346f74687b272014b748b9, type: 2}
- first:
type: UnityEngine:Material
assembly: UnityEngine.CoreModule
name: eyes.outer
second: {fileID: 2100000, guid: e8b334bac1680f74291e4934edf1a9fb, type: 2}
materials:
materialImportMode: 2
materialName: 0
materialSearch: 1
materialLocation: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
removeConstantScaleCurves: 0
motionNodeName:
animationImportErrors:
animationImportWarnings:
animationRetargetingWarnings:
animationDoRetargetingWarnings: 0
importAnimatedCustomProperties: 0
importConstraints: 0
animationCompression: 1
animationRotationError: 0.5
animationPositionError: 0.5
animationScaleError: 0.5
animationWrapMode: 0
extraExposedTransformPaths: []
extraUserProperties: []
clipAnimations:
- serializedVersion: 16
name: loggerhead.armature|loggerhead.armature|loggerhead.armature|Armature.loggerheadActi
takeName: loggerhead.armature|loggerhead.armature|loggerhead.armature|Armature.loggerheadActi
internalID: -8471657963069062191
firstFrame: 0
lastFrame: 84
wrapMode: 0
orientationOffsetY: 0
level: 0
cycleOffset: 0
loop: 0
hasAdditiveReferencePose: 0
loopTime: 1
loopBlend: 0
loopBlendOrientation: 0
loopBlendPositionY: 0
loopBlendPositionXZ: 0
keepOriginalOrientation: 0
keepOriginalPositionY: 1
keepOriginalPositionXZ: 0
heightFromFeet: 0
mirror: 0
bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000
curves: []
events: []
transformMask: []
maskType: 3
maskSource: {instanceID: 0}
additiveReferencePoseFrame: 0
isReadable: 0
meshes:
lODScreenPercentages: []
globalScale: 1
meshCompression: 0
addColliders: 0
useSRGBMaterialColor: 1
sortHierarchyByName: 1
importPhysicalCameras: 1
importVisibility: 1
importBlendShapes: 1
importCameras: 1
importLights: 1
nodeNameCollisionStrategy: 1
fileIdsGeneration: 2
swapUVChannels: 0
generateSecondaryUV: 0
useFileUnits: 1
keepQuads: 0
weldVertices: 1
bakeAxisConversion: 0
preserveHierarchy: 0
skinWeightsMode: 0
maxBonesPerVertex: 4
minBoneWeight: 0.001
optimizeBones: 1
generateMeshLods: 0
meshLodGenerationFlags: 0
maximumMeshLod: -1
meshOptimizationFlags: -1
indexFormat: 0
secondaryUVAngleDistortion: 8
secondaryUVAreaDistortion: 15.000001
secondaryUVHardAngle: 88
secondaryUVMarginMethod: 1
secondaryUVMinLightmapResolution: 40
secondaryUVMinObjectScale: 1
secondaryUVPackMargin: 4
useFileScale: 1
strictVertexDataChecks: 0
tangentSpace:
normalSmoothAngle: 60
normalImportMode: 0
tangentImportMode: 3
normalCalculationMode: 4
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
blendShapeNormalImportMode: 1
normalSmoothingSource: 0
referencedClips: []
importAnimation: 1
humanDescription:
serializedVersion: 3
human: []
skeleton: []
armTwist: 0.5
foreArmTwist: 0.5
upperLegTwist: 0.5
legTwist: 0.5
armStretch: 0.05
legStretch: 0.05
feetSpacing: 0
globalScale: 1
rootMotionBoneName:
hasTranslationDoF: 0
hasExtraRoot: 0
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
autoGenerateAvatarMappingIfUnspecified: 1
animationType: 2
humanoidOversampling: 1
avatarSetup: 0
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
importBlendShapeDeformPercent: 1
remapMaterialsIfMaterialImportModeIsNone: 0
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -0,0 +1,72 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1107 &-2050967685884158223
AnimatorStateMachine:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Base Layer
m_ChildStates:
- serializedVersion: 1
m_State: {fileID: 9128732723549387039}
m_Position: {x: 200, y: 0, z: 0}
m_ChildStateMachines: []
m_AnyStateTransitions: []
m_EntryTransitions: []
m_StateMachineTransitions: {}
m_StateMachineBehaviours: []
m_AnyStatePosition: {x: 50, y: 20, z: 0}
m_EntryPosition: {x: 50, y: 120, z: 0}
m_ExitPosition: {x: 800, y: 120, z: 0}
m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
m_DefaultState: {fileID: 9128732723549387039}
--- !u!91 &9100000
AnimatorController:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: turtle
serializedVersion: 5
m_AnimatorParameters: []
m_AnimatorLayers:
- serializedVersion: 5
m_Name: Base Layer
m_StateMachine: {fileID: -2050967685884158223}
m_Mask: {fileID: 0}
m_Motions: []
m_Behaviours: []
m_BlendingMode: 0
m_SyncedLayerIndex: -1
m_DefaultWeight: 0
m_IKPass: 0
m_SyncedLayerAffectsTiming: 0
m_Controller: {fileID: 9100000}
--- !u!1102 &9128732723549387039
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: loggerhead_armature|loggerhead_armature|loggerhead_armature|Armature_loggerheadActi
m_Speed: 1
m_CycleOffset: 0
m_Transitions: []
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
m_WriteDefaultValues: 1
m_Mirror: 0
m_SpeedParameterActive: 0
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: -8471657963069062191, guid: ee6d4e1a208dd944994e36319208c280, type: 3}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:

View File

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

Binary file not shown.

View File

@@ -0,0 +1,139 @@
fileFormatVersion: 2
guid: 4c1b79df8e7d9cf409474a151a3e337e
ModelImporter:
serializedVersion: 24200
internalIDToNameTable: []
externalObjects: {}
materials:
materialImportMode: 2
materialName: 0
materialSearch: 1
materialLocation: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
removeConstantScaleCurves: 0
motionNodeName:
animationImportErrors:
animationImportWarnings:
animationRetargetingWarnings:
animationDoRetargetingWarnings: 0
importAnimatedCustomProperties: 0
importConstraints: 0
animationCompression: 1
animationRotationError: 0.5
animationPositionError: 0.5
animationScaleError: 0.5
animationWrapMode: 0
extraExposedTransformPaths: []
extraUserProperties: []
clipAnimations:
- serializedVersion: 16
name: Take 001
takeName: Take 001
internalID: 1827226128182048838
firstFrame: 1
lastFrame: 573
wrapMode: 0
orientationOffsetY: 0
level: 0
cycleOffset: 0
loop: 0
hasAdditiveReferencePose: 0
loopTime: 1
loopBlend: 0
loopBlendOrientation: 0
loopBlendPositionY: 0
loopBlendPositionXZ: 0
keepOriginalOrientation: 0
keepOriginalPositionY: 1
keepOriginalPositionXZ: 0
heightFromFeet: 0
mirror: 0
bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000
curves: []
events: []
transformMask: []
maskType: 3
maskSource: {instanceID: 0}
additiveReferencePoseFrame: 1
isReadable: 1
meshes:
lODScreenPercentages: []
globalScale: 100
meshCompression: 0
addColliders: 0
useSRGBMaterialColor: 1
sortHierarchyByName: 1
importPhysicalCameras: 1
importVisibility: 1
importBlendShapes: 1
importCameras: 1
importLights: 1
nodeNameCollisionStrategy: 1
fileIdsGeneration: 2
swapUVChannels: 0
generateSecondaryUV: 0
useFileUnits: 1
keepQuads: 0
weldVertices: 1
bakeAxisConversion: 0
preserveHierarchy: 0
skinWeightsMode: 0
maxBonesPerVertex: 4
minBoneWeight: 0.001
optimizeBones: 1
generateMeshLods: 0
meshLodGenerationFlags: 0
maximumMeshLod: -1
meshOptimizationFlags: -1
indexFormat: 0
secondaryUVAngleDistortion: 8
secondaryUVAreaDistortion: 15.000001
secondaryUVHardAngle: 88
secondaryUVMarginMethod: 1
secondaryUVMinLightmapResolution: 40
secondaryUVMinObjectScale: 1
secondaryUVPackMargin: 4
useFileScale: 1
strictVertexDataChecks: 0
tangentSpace:
normalSmoothAngle: 60
normalImportMode: 0
tangentImportMode: 3
normalCalculationMode: 4
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
blendShapeNormalImportMode: 1
normalSmoothingSource: 0
referencedClips: []
importAnimation: 1
humanDescription:
serializedVersion: 3
human: []
skeleton: []
armTwist: 0.5
foreArmTwist: 0.5
upperLegTwist: 0.5
legTwist: 0.5
armStretch: 0.05
legStretch: 0.05
feetSpacing: 0
globalScale: 100
rootMotionBoneName:
hasTranslationDoF: 0
hasExtraRoot: 0
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
autoGenerateAvatarMappingIfUnspecified: 1
animationType: 2
humanoidOversampling: 1
avatarSetup: 0
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
importBlendShapeDeformPercent: 1
remapMaterialsIfMaterialImportModeIsNone: 0
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,15 @@
fileFormatVersion: 2
guid: 0beb3e6eabb1ff840b03dd2e914e52bf
VisualEffectImporter:
externalObjects: {}
serializedVersion: 2
template:
name:
category:
description:
icon: {instanceID: 0}
thumbnail: {instanceID: 0}
useAsTemplate: 0
userData:
assetBundleName:
assetBundleVariant:

View File

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

View File

@@ -0,0 +1,72 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1102 &-5837695779828438234
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Take 001
m_Speed: 1
m_CycleOffset: 0
m_Transitions: []
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
m_WriteDefaultValues: 1
m_Mirror: 0
m_SpeedParameterActive: 0
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 1827226128182048838, guid: 4c1b79df8e7d9cf409474a151a3e337e, type: 3}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!91 &9100000
AnimatorController:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: whaleEffect
serializedVersion: 5
m_AnimatorParameters: []
m_AnimatorLayers:
- serializedVersion: 5
m_Name: Base Layer
m_StateMachine: {fileID: 8452649227519629683}
m_Mask: {fileID: 0}
m_Motions: []
m_Behaviours: []
m_BlendingMode: 0
m_SyncedLayerIndex: -1
m_DefaultWeight: 0
m_IKPass: 0
m_SyncedLayerAffectsTiming: 0
m_Controller: {fileID: 9100000}
--- !u!1107 &8452649227519629683
AnimatorStateMachine:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Base Layer
m_ChildStates:
- serializedVersion: 1
m_State: {fileID: -5837695779828438234}
m_Position: {x: 40, y: 190, z: 0}
m_ChildStateMachines: []
m_AnyStateTransitions: []
m_EntryTransitions: []
m_StateMachineTransitions: {}
m_StateMachineBehaviours: []
m_AnyStatePosition: {x: 50, y: 20, z: 0}
m_EntryPosition: {x: 50, y: 120, z: 0}
m_ExitPosition: {x: 800, y: 120, z: 0}
m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
m_DefaultState: {fileID: -5837695779828438234}

View File

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

View File

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

View File

@@ -0,0 +1,124 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1101 &-4003792395039448407
AnimatorStateTransition:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name:
m_Conditions: []
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: -2253200448960290738}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0.25
m_TransitionOffset: 0
m_ExitTime: 0.875
m_HasExitTime: 1
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1102 &-2253200448960290738
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: whale_end
m_Speed: 1
m_CycleOffset: 0
m_Transitions: []
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
m_WriteDefaultValues: 1
m_Mirror: 0
m_SpeedParameterActive: 0
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 7400000, guid: c8c96d8a67837e44b9a8e69b608a0b2a, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!91 &9100000
AnimatorController:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: WhaleEffect
serializedVersion: 5
m_AnimatorParameters: []
m_AnimatorLayers:
- serializedVersion: 5
m_Name: Base Layer
m_StateMachine: {fileID: 3951180931840378623}
m_Mask: {fileID: 0}
m_Motions: []
m_Behaviours: []
m_BlendingMode: 0
m_SyncedLayerIndex: -1
m_DefaultWeight: 0
m_IKPass: 0
m_SyncedLayerAffectsTiming: 0
m_Controller: {fileID: 9100000}
--- !u!1102 &3917308015830472450
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: whale_start
m_Speed: 1
m_CycleOffset: 0
m_Transitions:
- {fileID: -4003792395039448407}
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
m_WriteDefaultValues: 1
m_Mirror: 0
m_SpeedParameterActive: 0
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 7400000, guid: 5e9c9e5aef54f8441a972cd6971e9f49, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1107 &3951180931840378623
AnimatorStateMachine:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Base Layer
m_ChildStates:
- serializedVersion: 1
m_State: {fileID: 3917308015830472450}
m_Position: {x: 230, y: 120, z: 0}
- serializedVersion: 1
m_State: {fileID: -2253200448960290738}
m_Position: {x: 480, y: 90, z: 0}
m_ChildStateMachines: []
m_AnyStateTransitions: []
m_EntryTransitions: []
m_StateMachineTransitions: {}
m_StateMachineBehaviours: []
m_AnyStatePosition: {x: 50, y: 20, z: 0}
m_EntryPosition: {x: 50, y: 120, z: 0}
m_ExitPosition: {x: 800, y: 120, z: 0}
m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
m_DefaultState: {fileID: 3917308015830472450}

View File

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

View File

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

View File

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

View File

@@ -0,0 +1,386 @@
%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: BlackJack fairy_Area 1
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: BlackJack fairy_Area 1
m_GraphNodeModels:
- rid: 6595524353106116633
- rid: 6595524353106116635
- rid: 6595524353106116646
m_GraphWireModels:
- rid: 6595524353106116636
- rid: 6595524353106116647
m_GraphStickyNoteModels: []
m_GraphPlacematModels: []
m_GraphVariableModels: []
m_GraphPortalModels: []
m_SectionModels:
- rid: 6595524353106116631
m_LocalSubgraphs: []
m_LastKnownBounds:
serializedVersion: 2
x: 222
y: 84
width: 923
height: 341
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: 13678802302849805841
m_Value1: 5869810211712229956
m_HashGuid:
serializedVersion: 2
Hash: 116e289638ded4bd446211b849c17551
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: 430.9063, y: 86.04323}
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, \uC800\uAE38 \uBD10.\v\uC800\uAE30\uC11C
\uAE30\uC5B5\uC758 \uC870\uAC01 \uAE30\uC6B4\uC774 \uB290\uAEF4\uC838.\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: 0
- 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: 806, y: 84}
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: 6595524353106116647
type: {class: WireModel, ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
data:
m_Guid:
m_Value0: 13678802302849805841
m_Value1: 5869810211712229956
m_HashGuid:
serializedVersion: 2
Hash: 116e289638ded4bd446211b849c17551
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: 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: "\uD558\uC9C0\uB9CC \uC870\uC2EC\uD574.\v\uC800\uACF3\uC5D0\uB294
\uBB34\uC2DC\uBB34\uC2DC\uD55C \uC120\uC7A5\uC774 \uC0B4\uACE0 \uC788\uC5B4.\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: 0
- rid: 6595524353106116656
type: {class: DialogLineNode, ns: WhaleAdventure.Dialog.GraphTool.Editor, asm: Assembly-CSharp-Editor}
data:

View File

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

View File

@@ -0,0 +1,387 @@
%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: BlackJack fairy_Area2
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: BlackJack fairy_Area2
m_GraphNodeModels:
- rid: 6595524353106116633
- rid: 6595524353106116635
- rid: 6595524353106116646
m_GraphWireModels:
- rid: 6595524353106116636
- rid: 6595524353106116647
m_GraphStickyNoteModels: []
m_GraphPlacematModels: []
m_GraphVariableModels: []
m_GraphPortalModels: []
m_SectionModels:
- rid: 6595524353106116631
m_LocalSubgraphs: []
m_LastKnownBounds:
serializedVersion: 2
x: 222
y: 84
width: 923
height: 342
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: 13678802302849805841
m_Value1: 5869810211712229956
m_HashGuid:
serializedVersion: 2
Hash: 116e289638ded4bd446211b849c17551
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: 430.9063, y: 87.19322}
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: "\uBE14\uB799\uC7AD\uC740 \uCE74\uB4DC \uC22B\uC790\uC758 \uD569\uC744
21\uC5D0 \uAC00\uAE5D\uAC8C \uB9CC\uB4DC\uB294 \uAC8C\uC784\uC774\uC57C."
- 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: 0
- 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: 806, y: 84}
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: 6595524353106116647
type: {class: WireModel, ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
data:
m_Guid:
m_Value0: 13678802302849805841
m_Value1: 5869810211712229956
m_HashGuid:
serializedVersion: 2
Hash: 116e289638ded4bd446211b849c17551
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: 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: "\uCE74\uB4DC\uB97C \uB354 \uBC1B\uC73C\uB824\uBA74 Hit. \r\n\uBA48\uCD94\uB824\uBA74
Stand.\r\n\uD558\uC9C0\uB9CC 21\uC744 \uB118\uC73C\uBA74 \uBC14\uB85C
\uC9C0\uB2C8\uAE4C \uC870\uC2EC\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: 0
- rid: 6595524353106116656
type: {class: DialogLineNode, ns: WhaleAdventure.Dialog.GraphTool.Editor, asm: Assembly-CSharp-Editor}
data:

View File

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

View File

@@ -0,0 +1,387 @@
%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: BlackJack fairy_Area3
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: BlackJack fairy_Area3
m_GraphNodeModels:
- rid: 6595524353106116633
- rid: 6595524353106116635
- rid: 6595524353106116646
m_GraphWireModels:
- rid: 6595524353106116636
- rid: 6595524353106116647
m_GraphStickyNoteModels: []
m_GraphPlacematModels: []
m_GraphVariableModels: []
m_GraphPortalModels: []
m_SectionModels:
- rid: 6595524353106116631
m_LocalSubgraphs: []
m_LastKnownBounds:
serializedVersion: 2
x: 222
y: 84
width: 923
height: 342
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: 13678802302849805841
m_Value1: 5869810211712229956
m_HashGuid:
serializedVersion: 2
Hash: 116e289638ded4bd446211b849c17551
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: 430.9063, y: 87.19322}
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: "\uBE14\uB799\uC7AD\uC740 \uCE74\uB4DC \uC22B\uC790\uC758 \uD569\uC744
21\uC5D0 \uAC00\uAE5D\uAC8C \uB9CC\uB4DC\uB294 \uAC8C\uC784\uC774\uC57C."
- 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: 0
- 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: 806, y: 84}
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: 6595524353106116647
type: {class: WireModel, ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
data:
m_Guid:
m_Value0: 13678802302849805841
m_Value1: 5869810211712229956
m_HashGuid:
serializedVersion: 2
Hash: 116e289638ded4bd446211b849c17551
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: 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: "\uCE74\uB4DC\uB97C \uB354 \uBC1B\uC73C\uB824\uBA74 Hit. \r\n\uBA48\uCD94\uB824\uBA74
Stand.\r\n\uD558\uC9C0\uB9CC 21\uC744 \uB118\uC73C\uBA74 \uBC14\uB85C
\uC9C0\uB2C8\uAE4C \uC870\uC2EC\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: 0
- rid: 6595524353106116656
type: {class: DialogLineNode, ns: WhaleAdventure.Dialog.GraphTool.Editor, asm: Assembly-CSharp-Editor}
data:

View File

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

View File

@@ -0,0 +1,389 @@
%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: BlackJack_Area1 2
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: BlackJack_Area1 2
m_GraphNodeModels:
- rid: 6595524353106116633
- rid: 6595524353106116635
- rid: 6595524353106116646
m_GraphWireModels:
- rid: 6595524353106116636
- rid: 6595524353106116647
m_GraphStickyNoteModels: []
m_GraphPlacematModels: []
m_GraphVariableModels: []
m_GraphPortalModels: []
m_SectionModels:
- rid: 6595524353106116631
m_LocalSubgraphs: []
m_LastKnownBounds:
serializedVersion: 2
x: 222
y: 84
width: 1010
height: 341
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: 13678802302849805841
m_Value1: 5869810211712229956
m_HashGuid:
serializedVersion: 2
Hash: 116e289638ded4bd446211b849c17551
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: 430.9063, y: 86.04323}
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: 1d6b39c817bbede42872d2fbf6b7f1a3, 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: "\uD5C8\uD5C8\u2026 \uC81C\uBC95\uC774\uAD70. \uB0A0 \uC774\uAE30\uB2E4\uB2C8.\r\n\uC57D\uC18D\uC740
\uC57D\uC18D\uC774\uC9C0. \uAE30\uC5B5\uC758 \uC870\uAC01\uC740 \uC774\uC81C
\uB124 \uAC83\uC774\uB2E4.\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: 0
- 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: 806, y: 84}
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: 6595524353106116647
type: {class: WireModel, ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
data:
m_Guid:
m_Value0: 13678802302849805841
m_Value1: 5869810211712229956
m_HashGuid:
serializedVersion: 2
Hash: 116e289638ded4bd446211b849c17551
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: 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: 1d6b39c817bbede42872d2fbf6b7f1a3, 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: "\uB9D0\uC774 \uB108\uBB34 \uB2EC\uCF64\uD55C \uC790\uB97C \uC870\uC2EC\uD574\uB77C.\r\n\uBC30\uAC00
\uC0BC\uCF1C\uC9C0\uB358 \uB0A0, \r\uAC00\uC7A5 \uBA3C\uC800 \uB4F1\uC744
\uB3CC\uB9B0 \uB140\uC11D\uB3C4 \uADF8\uB7F0 \uBAA9\uC18C\uB9AC\uB97C
\uAC00\uC84C\uC9C0."
- rid: 6595524353106116651
type: {class: 'Constant`1[[GestureData, Assembly-CSharp]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
data:
m_Value: {fileID: 11400000, guid: 070cb4cfa8407c248a8b0642120a48d4, type: 2}
- 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: 0
- rid: 6595524353106116656
type: {class: DialogLineNode, ns: WhaleAdventure.Dialog.GraphTool.Editor, asm: Assembly-CSharp-Editor}
data:

View File

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

View File

@@ -240,7 +240,9 @@ MonoBehaviour:
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: aaaaaaaaaaaaaaaaa
Value: "\uD750\uD750.. \uC190\uB2D8\uC774 \uC654\uAD70.\r\n\uC774 \uC870\uAC01\uC744
\uCC3E\uC544 \uC628 \uAC74\uAC00?\r\n\uACE0\uB798\uC758 \uAE30\uC5B5
\uC870\uAC01... \uAF64 \uADC0\uD55C \uBB3C\uAC74\uC774\uC9C0."
- rid: 6595524353106116640
type: {class: 'Constant`1[[GestureData, Assembly-CSharp]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
data:
@@ -260,7 +262,7 @@ MonoBehaviour:
- rid: 6595524353106116644
type: {class: 'Constant`1[[System.Boolean, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
data:
m_Value: 1
m_Value: 0
- rid: 6595524353106116645
type: {class: DialogLineNode, ns: WhaleAdventure.Dialog.GraphTool.Editor, asm: Assembly-CSharp-Editor}
data:
@@ -358,7 +360,8 @@ MonoBehaviour:
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: bbbbbbbbbbbbbb
Value: "\uC6D0\uD55C\uB2E4\uBA74 \uC2B9\uBD80\uB85C \uAC00\uC838\uAC00\uAC8C.
\r\n\uB0B4 \uBC30\uC5D0\uC11C\uB294 \uCE74\uB4DC\uAC00 \uACE7 \uBC95\uC774\uB2C8\uAE4C.\n\uD750\uD750\uD750..."
- rid: 6595524353106116651
type: {class: 'Constant`1[[GestureData, Assembly-CSharp]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor}
data:

View File

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

View File

@@ -14,9 +14,6 @@ Material:
m_ValidKeywords:
- _EMISSION
- _ENVIRONMENTREFLECTIONS_OFF
- _METALLICSPECGLOSSMAP
- _NORMALMAP
- _OCCLUSIONMAP
m_InvalidKeywords:
- _GLOSSYREFLECTIONS_OFF
- _METALLICGLOSSMAP
@@ -57,7 +54,7 @@ Material:
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 2800000, guid: d24d9daec71459c4590bcf2a7dffd1fe, type: 3}
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:

View File

@@ -32,6 +32,7 @@
"com.unity.testtools.codecoverage": "1.2.7",
"com.unity.timeline": "1.8.12",
"com.unity.ugui": "2.0.0",
"com.unity.visualeffectgraph": "17.3.0",
"com.unity.xr.androidxr-openxr": "1.2.0",
"com.unity.xr.arfoundation": "6.4.1",
"com.unity.xr.compositionlayers": "2.4.0",

View File

@@ -307,6 +307,15 @@
"com.unity.modules.imgui": "1.0.0"
}
},
"com.unity.visualeffectgraph": {
"version": "17.3.0",
"depth": 0,
"source": "builtin",
"dependencies": {
"com.unity.shadergraph": "17.3.0",
"com.unity.render-pipelines.core": "17.3.0"
}
},
"com.unity.xr.androidxr-openxr": {
"version": "1.2.0",
"depth": 0,

Binary file not shown.

Binary file not shown.