diff --git a/Assets/01_Scenes/Cave_Test_2.unity b/Assets/01_Scenes/Cave_Test_2.unity index a858149c..7a4e23a8 100644 --- a/Assets/01_Scenes/Cave_Test_2.unity +++ b/Assets/01_Scenes/Cave_Test_2.unity @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:01dc71f932eb55a37ad06c3233ec111ee46eecac67233d26fc9f71e43746c237 -size 1056085 +oid sha256:1772e755e8f9662001c6ac3b0dab414981cd77f927d74389fe73ef29f41dd307 +size 1077526 diff --git a/Assets/02_Scripts/Cave/ClamOpenClose.cs b/Assets/02_Scripts/Cave/ClamOpenClose.cs index b88ae29b..1ea75db0 100644 --- a/Assets/02_Scripts/Cave/ClamOpenClose.cs +++ b/Assets/02_Scripts/Cave/ClamOpenClose.cs @@ -38,6 +38,36 @@ public class ClamOpenClose : MonoBehaviour [Tooltip("쾅 하고 닫힌 뒤 원래 닫힌 위치로 돌아오는 시간입니다.")] [SerializeField] private float snapCloseOvershootDuration = 0.02f; + [Header("Sound")] + [SerializeField] private AudioSource audioSource; + + [Tooltip("조개가 닫히며 입이 부딪힐 때 재생할 사운드입니다. 여러 개를 넣으면 랜덤 재생됩니다.")] + [SerializeField] private AudioClip[] closeImpactSounds; + + [Tooltip("조개가 닫히기 시작할 때 재생할 예고/마찰 사운드입니다. 필요 없으면 비워두세요.")] + [SerializeField] private AudioClip closeStartSound; + + [Range(0f, 1f)] + [SerializeField] private float closeImpactVolume = 1f; + + [Range(0f, 1f)] + [SerializeField] private float closeStartVolume = 0.5f; + + [Tooltip("닫힘 충격음의 최소 피치입니다.")] + [SerializeField] private float minImpactPitch = 0.9f; + + [Tooltip("닫힘 충격음의 최대 피치입니다.")] + [SerializeField] private float maxImpactPitch = 1.1f; + + [Tooltip("닫힘 충격음의 볼륨을 살짝 랜덤하게 줄지 여부입니다.")] + [SerializeField] private bool randomizeImpactVolume = true; + + [Tooltip("볼륨 랜덤 적용 시 최소 배율입니다.")] + [SerializeField] private float minImpactVolumeMultiplier = 0.85f; + + [Tooltip("볼륨 랜덤 적용 시 최대 배율입니다.")] + [SerializeField] private float maxImpactVolumeMultiplier = 1.0f; + [Header("Start Option")] [SerializeField] private bool startAutomatically = true; [SerializeField] private bool startOpened = false; @@ -74,6 +104,17 @@ private void Awake() if (found != null) downShell = found; } + if (audioSource == null) + { + audioSource = GetComponent(); + } + + if (audioSource != null) + { + audioSource.playOnAwake = false; + audioSource.loop = false; + } + if (upShell == null) { Debug.LogWarning("[ClamOpenClose] UpShell이 연결되지 않았습니다.", this); @@ -145,6 +186,7 @@ private IEnumerator OpenCloseRoutine() yield return new WaitForSeconds(openWait); isClosing = true; + PlayCloseStartSound(); onCloseStarted?.Invoke(); yield return MoveShells( @@ -158,6 +200,10 @@ private IEnumerator OpenCloseRoutine() isOpen = false; + // 실제 입이 맞닿는 타이밍. + // 랜덤으로 닫혀도 항상 닫힘 동작이 끝난 직후 실행됨. + PlayCloseImpactSound(); + if (useSnapClose) { yield return SnapCloseEffect(); @@ -225,6 +271,47 @@ private IEnumerator SnapCloseEffect() downShell.localRotation = downClosedRot; } + private void PlayCloseStartSound() + { + if (audioSource == null || closeStartSound == null) + return; + + audioSource.pitch = 1f; + audioSource.PlayOneShot(closeStartSound, closeStartVolume); + } + + private void PlayCloseImpactSound() + { + if (audioSource == null) + return; + + if (closeImpactSounds == null || closeImpactSounds.Length == 0) + return; + + AudioClip clip = closeImpactSounds[Random.Range(0, closeImpactSounds.Length)]; + + if (clip == null) + return; + + float originalPitch = audioSource.pitch; + + audioSource.pitch = Random.Range(minImpactPitch, maxImpactPitch); + + float volume = closeImpactVolume; + + if (randomizeImpactVolume) + { + float volumeMultiplier = Random.Range(minImpactVolumeMultiplier, maxImpactVolumeMultiplier); + volume *= volumeMultiplier; + } + + audioSource.PlayOneShot(clip, volume); + + // PlayOneShot은 재생 직후 피치를 바꿔도 이미 재생 중인 소리에 영향이 적지만, + // 다음 사운드 재생을 위해 기본 피치로 복구. + audioSource.pitch = originalPitch; + } + private void SetClosedImmediately() { if (upShell != null) diff --git a/Assets/02_Scripts/Cave/FallingStalactite.cs b/Assets/02_Scripts/Cave/FallingStalactite.cs index 71aabb1f..a7554be1 100644 --- a/Assets/02_Scripts/Cave/FallingStalactite.cs +++ b/Assets/02_Scripts/Cave/FallingStalactite.cs @@ -23,6 +23,24 @@ public class FallingStalactite : MonoBehaviour [Tooltip("떨어지기 전에는 데미지를 끄고, 떨어질 때 켭니다.")] [SerializeField] private bool damageOnlyWhileFalling = true; + [Header("Sound")] + [SerializeField] private AudioSource audioSource; + + [Tooltip("종유석이 떨어지기 시작할 때 재생할 소리입니다.")] + [SerializeField] private AudioClip fallSound; + + [Range(0f, 1f)] + [SerializeField] private float fallSoundVolume = 1f; + + [Tooltip("리셋 후 다시 떨어질 때도 소리를 재생할지 여부입니다.")] + [SerializeField] private bool playSoundEveryFall = true; + + [Tooltip("Play through the shared 2D SFX pool when available so the fall cue is always audible.")] + [SerializeField] private bool playThroughSoundManager = true; + + [Tooltip("Force the fallback AudioSource to 2D playback.")] + [SerializeField] private bool playFallSoundAs2D = true; + [Header("Reset Option")] [SerializeField] private bool resetAfterFall = true; @@ -38,6 +56,7 @@ public class FallingStalactite : MonoBehaviour private Vector3 startPosition; private Quaternion startRotation; private bool hasFallen; + private bool hasPlayedSound; private Coroutine fallRoutine; public bool HasFallen => hasFallen; @@ -62,6 +81,9 @@ private void ResolveReferences() if (damageObstacle == null) damageObstacle = GetComponent(); + + if (audioSource == null) + audioSource = GetComponent(); } private void PrepareStalactite() @@ -85,7 +107,21 @@ private void PrepareStalactite() damageCollider.enabled = true; } + if (audioSource != null) + { + audioSource.playOnAwake = false; + audioSource.mute = false; + + if (playFallSoundAs2D) + audioSource.spatialBlend = 0f; + } + + PreloadFallSound(); + hasFallen = false; + + if (playSoundEveryFall) + hasPlayedSound = false; } public void TriggerFall() @@ -106,6 +142,8 @@ private IEnumerator FallRoutine() if (fallDelay > 0f) yield return new WaitForSeconds(fallDelay); + PlayFallSound(); + if (damageObstacle != null) { damageObstacle.SetDamage(damage); @@ -137,6 +175,71 @@ private IEnumerator FallRoutine() fallRoutine = null; } + private AudioClip GetFallClip() + { + if (fallSound != null) + return fallSound; + + if (audioSource != null) + return audioSource.clip; + + return null; + } + + private void PreloadFallSound() + { + AudioClip clipToLoad = GetFallClip(); + + if (clipToLoad != null && clipToLoad.loadState == AudioDataLoadState.Unloaded) + clipToLoad.LoadAudioData(); + } + + private void PlayFallSound() + { + if (hasPlayedSound && !playSoundEveryFall) + return; + + AudioClip clipToPlay = GetFallClip(); + + if (clipToPlay == null) + { + if (showDebugLog) + Debug.LogWarning($"[FallingStalactite] {name} Fall Sound가 연결되지 않았습니다.", this); + + return; + } + + if (clipToPlay.loadState == AudioDataLoadState.Unloaded) + clipToPlay.LoadAudioData(); + + if (playThroughSoundManager && SoundManager.Instance != null) + { + SoundManager.Instance.PlaySFX(clipToPlay, fallSoundVolume); + } + else if (audioSource != null) + { + audioSource.enabled = true; + audioSource.mute = false; + audioSource.playOnAwake = false; + + if (audioSource.volume <= 0f) + audioSource.volume = 1f; + + if (playFallSoundAs2D) + audioSource.spatialBlend = 0f; + + audioSource.PlayOneShot(clipToPlay, fallSoundVolume); + } + else + { + AudioSource.PlayClipAtPoint(clipToPlay, transform.position, fallSoundVolume); + } + + hasPlayedSound = true; + + if (showDebugLog) + Debug.Log($"[FallingStalactite] {name} 낙하 사운드 재생: {clipToPlay.name}", this); + } public void ResetStalactite() { if (rb != null) @@ -161,6 +264,11 @@ public void ResetStalactite() hasFallen = false; } + if (playSoundEveryFall) + { + hasPlayedSound = false; + } + if (showDebugLog) Debug.Log($"[FallingStalactite] {name} 원위치 리셋", this); } diff --git a/Assets/02_Scripts/Cave/SteeringKeyGrabMusic.cs b/Assets/02_Scripts/Cave/SteeringKeyGrabMusic.cs new file mode 100644 index 00000000..3684f29f --- /dev/null +++ b/Assets/02_Scripts/Cave/SteeringKeyGrabMusic.cs @@ -0,0 +1,158 @@ +using System.Collections; +using UnityEngine; +using UnityEngine.XR.Interaction.Toolkit; +using UnityEngine.XR.Interaction.Toolkit.Interactables; + +public class SteeringKeyGrabMusic : MonoBehaviour +{ + [Header("References")] + [SerializeField] private XRGrabInteractable grabInteractable; + [SerializeField] private AudioSource audioSource; + + [Header("Playback")] + [SerializeField] private bool playOnGrab = true; + [SerializeField] private bool stopOnRelease = true; + + [Tooltip("키를 잡았을 때 음악을 처음부터 다시 재생할지 여부입니다.")] + [SerializeField] private bool restartFromBeginningOnGrab = false; + + [Header("Fade")] + [SerializeField] private bool useFade = true; + [SerializeField] private float fadeInDuration = 0.4f; + [SerializeField] private float fadeOutDuration = 0.5f; + + [Range(0f, 1f)] + [SerializeField] private float targetVolume = 1f; + + [Header("Debug")] + [SerializeField] private bool showDebugLog = true; + + private Coroutine fadeRoutine; + private bool isGrabbed; + + private void Awake() + { + if (grabInteractable == null) + grabInteractable = GetComponentInChildren(true); + + if (audioSource == null) + audioSource = GetComponent(); + + if (audioSource != null) + { + audioSource.playOnAwake = false; + audioSource.loop = true; + + if (useFade) + audioSource.volume = 0f; + else + audioSource.volume = targetVolume; + } + } + + private void OnEnable() + { + if (grabInteractable != null) + { + grabInteractable.selectEntered.AddListener(OnKeyGrabbed); + grabInteractable.selectExited.AddListener(OnKeyReleased); + } + } + + private void OnDisable() + { + if (grabInteractable != null) + { + grabInteractable.selectEntered.RemoveListener(OnKeyGrabbed); + grabInteractable.selectExited.RemoveListener(OnKeyReleased); + } + } + + private void OnKeyGrabbed(SelectEnterEventArgs args) + { + isGrabbed = true; + + if (!playOnGrab) + return; + + if (audioSource == null) + { + if (showDebugLog) + Debug.LogWarning("[SteeringKeyGrabMusic] AudioSource가 연결되지 않았습니다.", this); + + return; + } + + if (restartFromBeginningOnGrab) + audioSource.time = 0f; + + if (!audioSource.isPlaying) + audioSource.Play(); + + if (useFade) + StartFade(targetVolume, fadeInDuration); + else + audioSource.volume = targetVolume; + + if (showDebugLog) + Debug.Log("[SteeringKeyGrabMusic] 키 잡음. 음악 재생.", this); + } + + private void OnKeyReleased(SelectExitEventArgs args) + { + isGrabbed = false; + + if (!stopOnRelease) + return; + + if (audioSource == null) + return; + + if (useFade) + StartFade(0f, fadeOutDuration, stopAfterFade: true); + else + audioSource.Stop(); + + if (showDebugLog) + Debug.Log("[SteeringKeyGrabMusic] 키 놓음. 음악 정지.", this); + } + + private void StartFade(float target, float duration, bool stopAfterFade = false) + { + if (fadeRoutine != null) + StopCoroutine(fadeRoutine); + + fadeRoutine = StartCoroutine(FadeRoutine(target, duration, stopAfterFade)); + } + + private IEnumerator FadeRoutine(float target, float duration, bool stopAfterFade) + { + if (audioSource == null) + yield break; + + float startVolume = audioSource.volume; + float timer = 0f; + float safeDuration = Mathf.Max(0.01f, duration); + + while (timer < safeDuration) + { + timer += Time.deltaTime; + + float t = Mathf.Clamp01(timer / safeDuration); + float smoothT = t * t * (3f - 2f * t); + + audioSource.volume = Mathf.Lerp(startVolume, target, smoothT); + + yield return null; + } + + audioSource.volume = target; + + if (stopAfterFade && !isGrabbed) + { + audioSource.Stop(); + } + + fadeRoutine = null; + } +} diff --git a/Assets/02_Scripts/Cave/SteeringKeyGrabMusic.cs.meta b/Assets/02_Scripts/Cave/SteeringKeyGrabMusic.cs.meta new file mode 100644 index 00000000..c4b6f780 --- /dev/null +++ b/Assets/02_Scripts/Cave/SteeringKeyGrabMusic.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 3a3e3221faafc724c82b5b177b84072e \ No newline at end of file diff --git a/Assets/02_Scripts/Managers/GameClear.cs b/Assets/02_Scripts/Managers/GameClear.cs index c0e7e3ee..840eb45d 100644 --- a/Assets/02_Scripts/Managers/GameClear.cs +++ b/Assets/02_Scripts/Managers/GameClear.cs @@ -66,8 +66,10 @@ public void Relocate(GameObject target, Transform destination) if (target.TryGetComponent(out NavMeshAgent agent) && agent.isOnNavMesh) { + Debug.Log($"엔드포지션 : {destination.position}"); agent.Warp(destination.position); target.transform.rotation = destination.rotation; + Debug.Log($"이동한포지션 : {target.transform.position}"); } else { diff --git a/Assets/04_Models/Cave/Sound.meta b/Assets/04_Models/Cave/Sound.meta new file mode 100644 index 00000000..b32a509b --- /dev/null +++ b/Assets/04_Models/Cave/Sound.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: dee9cf61a8aadaf429e8bbc70324fdd0 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/04_Models/Cave/Sound/Kim Lightyear - Now Or Never.mp3 b/Assets/04_Models/Cave/Sound/Kim Lightyear - Now Or Never.mp3 new file mode 100644 index 00000000..582d4cbf --- /dev/null +++ b/Assets/04_Models/Cave/Sound/Kim Lightyear - Now Or Never.mp3 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:64f260361b370023ef06a86d21aa222f5371c7ef90546a47063748d2f8eda398 +size 7516597 diff --git a/Assets/04_Models/Cave/Sound/Kim Lightyear - Now Or Never.mp3.meta b/Assets/04_Models/Cave/Sound/Kim Lightyear - Now Or Never.mp3.meta new file mode 100644 index 00000000..97ec9aa7 --- /dev/null +++ b/Assets/04_Models/Cave/Sound/Kim Lightyear - Now Or Never.mp3.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 0d93a658fb069d14b94baf8f6370e4d2 +AudioImporter: + externalObjects: {} + serializedVersion: 8 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/04_Models/Cave/Sound/Kim Lightyear - Waltz No. I.mp3 b/Assets/04_Models/Cave/Sound/Kim Lightyear - Waltz No. I.mp3 new file mode 100644 index 00000000..b42a57e8 --- /dev/null +++ b/Assets/04_Models/Cave/Sound/Kim Lightyear - Waltz No. I.mp3 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:efba5bf812989383f587c8a17c0fd3bdfd9f12970be66fc5752a6cfeab916041 +size 5812304 diff --git a/Assets/04_Models/Cave/Sound/Kim Lightyear - Waltz No. I.mp3.meta b/Assets/04_Models/Cave/Sound/Kim Lightyear - Waltz No. I.mp3.meta new file mode 100644 index 00000000..2edb9521 --- /dev/null +++ b/Assets/04_Models/Cave/Sound/Kim Lightyear - Waltz No. I.mp3.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: e7d9d8354a2109f4ba357fc917160258 +AudioImporter: + externalObjects: {} + serializedVersion: 8 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/04_Models/Cave/Sound/countdown.ogg b/Assets/04_Models/Cave/Sound/countdown.ogg new file mode 100644 index 00000000..81dab392 --- /dev/null +++ b/Assets/04_Models/Cave/Sound/countdown.ogg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f60feb6d0e950b9075562c9ca185fa9fb2234e60db82ab98ea9b7736b3f8dd75 +size 86750 diff --git a/Assets/04_Models/Cave/Sound/countdown.ogg.meta b/Assets/04_Models/Cave/Sound/countdown.ogg.meta new file mode 100644 index 00000000..b39d26ab --- /dev/null +++ b/Assets/04_Models/Cave/Sound/countdown.ogg.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 412c85a028de51b4cafafae492cadcde +AudioImporter: + externalObjects: {} + serializedVersion: 8 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/04_Models/Cave/Sound/fullmoonmix.ogg b/Assets/04_Models/Cave/Sound/fullmoonmix.ogg new file mode 100644 index 00000000..0c385ac8 --- /dev/null +++ b/Assets/04_Models/Cave/Sound/fullmoonmix.ogg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6639abb11d89ffc399fac143c3f84a94e1b9652cbd7f4ecd3157f1d64cf1d2bb +size 6627833 diff --git a/Assets/04_Models/Cave/Sound/fullmoonmix.ogg.meta b/Assets/04_Models/Cave/Sound/fullmoonmix.ogg.meta new file mode 100644 index 00000000..9b5a992f --- /dev/null +++ b/Assets/04_Models/Cave/Sound/fullmoonmix.ogg.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: ee3d441de1fde154683ccc675676911b +AudioImporter: + externalObjects: {} + serializedVersion: 8 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/04_Models/Cave/Sound/handleSmallLeather.ogg b/Assets/04_Models/Cave/Sound/handleSmallLeather.ogg new file mode 100644 index 00000000..1afc2d53 --- /dev/null +++ b/Assets/04_Models/Cave/Sound/handleSmallLeather.ogg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ae3cbf695aa0a8b98b5a80a835be5a3ccbd5446a24db2235cd4c3cd6fc92ed96 +size 10492 diff --git a/Assets/04_Models/Cave/Sound/handleSmallLeather.ogg.meta b/Assets/04_Models/Cave/Sound/handleSmallLeather.ogg.meta new file mode 100644 index 00000000..ea2559b5 --- /dev/null +++ b/Assets/04_Models/Cave/Sound/handleSmallLeather.ogg.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 0291ad2a65220ce419ab44320662568d +AudioImporter: + externalObjects: {} + serializedVersion: 8 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/04_Models/Cave/Sound/handleSmallLeather2.ogg b/Assets/04_Models/Cave/Sound/handleSmallLeather2.ogg new file mode 100644 index 00000000..3be1b7da --- /dev/null +++ b/Assets/04_Models/Cave/Sound/handleSmallLeather2.ogg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a66f6db5918ad016c28a9f2768f127a7f39b5fa04481e5a3b4e78ebe2a1c282d +size 10028 diff --git a/Assets/04_Models/Cave/Sound/handleSmallLeather2.ogg.meta b/Assets/04_Models/Cave/Sound/handleSmallLeather2.ogg.meta new file mode 100644 index 00000000..9974f77f --- /dev/null +++ b/Assets/04_Models/Cave/Sound/handleSmallLeather2.ogg.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: ed3213baaf41a2c49855f4169e4335e6 +AudioImporter: + externalObjects: {} + serializedVersion: 8 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/04_Models/Cave/Sound/metalLatch.ogg b/Assets/04_Models/Cave/Sound/metalLatch.ogg new file mode 100644 index 00000000..08b6eea1 --- /dev/null +++ b/Assets/04_Models/Cave/Sound/metalLatch.ogg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ba9ba60b172b3ebc131a940f25793cd2e207aca7af73dc80d637277f060f1708 +size 10208 diff --git a/Assets/04_Models/Cave/Sound/metalLatch.ogg.meta b/Assets/04_Models/Cave/Sound/metalLatch.ogg.meta new file mode 100644 index 00000000..641ec193 --- /dev/null +++ b/Assets/04_Models/Cave/Sound/metalLatch.ogg.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 68eae6eb893a8a14ca5f9cf96bc4a3ca +AudioImporter: + externalObjects: {} + serializedVersion: 8 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/04_Models/Cave/Sound/race.mp3 b/Assets/04_Models/Cave/Sound/race.mp3 new file mode 100644 index 00000000..01af6e12 --- /dev/null +++ b/Assets/04_Models/Cave/Sound/race.mp3 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5653426689978a4d07f0b7703ef5c7f8e67544f220c155c9d30a9af5b0edc4ee +size 2200448 diff --git a/Assets/04_Models/Cave/Sound/race.mp3.meta b/Assets/04_Models/Cave/Sound/race.mp3.meta new file mode 100644 index 00000000..98e605c1 --- /dev/null +++ b/Assets/04_Models/Cave/Sound/race.mp3.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 32b693b7b610e06409cbeee291ac1891 +AudioImporter: + externalObjects: {} + serializedVersion: 8 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/04_Models/Cave/Sound/shake.flac b/Assets/04_Models/Cave/Sound/shake.flac new file mode 100644 index 00000000..686ce815 Binary files /dev/null and b/Assets/04_Models/Cave/Sound/shake.flac differ diff --git a/Assets/04_Models/Cave/Sound/shake.flac.meta b/Assets/04_Models/Cave/Sound/shake.flac.meta new file mode 100644 index 00000000..ac5fa375 --- /dev/null +++ b/Assets/04_Models/Cave/Sound/shake.flac.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: 405c61493d6a8bf49abb93262757461d +AudioImporter: + externalObjects: {} + serializedVersion: 8 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 1 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/04_Models/Cave/Sound/졸졸졸.mp3 b/Assets/04_Models/Cave/Sound/졸졸졸.mp3 new file mode 100644 index 00000000..99365c24 --- /dev/null +++ b/Assets/04_Models/Cave/Sound/졸졸졸.mp3 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6d6039fbf01f6b64191d813bfbc9ac70f6749e5bb183d2807fb5cb117c10fd94 +size 12260589 diff --git a/Assets/04_Models/Cave/Sound/졸졸졸.mp3.meta b/Assets/04_Models/Cave/Sound/졸졸졸.mp3.meta new file mode 100644 index 00000000..bf947114 --- /dev/null +++ b/Assets/04_Models/Cave/Sound/졸졸졸.mp3.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: c382f26bd2a3f1148a62c975bfa95e08 +AudioImporter: + externalObjects: {} + serializedVersion: 8 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/My project/Fonts/Pretendard-Black SDF.asset b/Assets/My project/Fonts/Pretendard-Black SDF.asset index 9c257fba..a842d9fb 100644 --- a/Assets/My project/Fonts/Pretendard-Black SDF.asset +++ b/Assets/My project/Fonts/Pretendard-Black SDF.asset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f264bc6f2f4f19ae7190a303f09463b8e579e62bccb0d29e67985d4d15956123 -size 41412569 +oid sha256:83885eb35863ca7f3308ba0e5c86226ffc23afd76d6a12770c7c5f3a63efac85 +size 41425717