diff --git a/Assets/01_Scenes/MyProject/GameScene.unity b/Assets/01_Scenes/MyProject/GameScene.unity index 09e540a8..73623898 100644 --- a/Assets/01_Scenes/MyProject/GameScene.unity +++ b/Assets/01_Scenes/MyProject/GameScene.unity @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d8072848c56e353a8d007a84be3d25ed2506805cb63aecfa6e2199aa49bf8a33 -size 13014695 +oid sha256:1c57bb97df957d16f70cb5d33e9ca9662c5f82f900e1cd5c55d0afe7945b521d +size 13014866 diff --git a/Assets/01_Scenes/MyProject/GameStartScene.unity b/Assets/01_Scenes/MyProject/GameStartScene.unity new file mode 100644 index 00000000..8ebe1063 --- /dev/null +++ b/Assets/01_Scenes/MyProject/GameStartScene.unity @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b24f34daf03483a7550c86f8747638bd4425b6ac597addcf97e54940255ee9e7 +size 49150 diff --git a/Assets/01_Scenes/MyProject/GameStartScene.unity.meta b/Assets/01_Scenes/MyProject/GameStartScene.unity.meta new file mode 100644 index 00000000..4bfc2dfb --- /dev/null +++ b/Assets/01_Scenes/MyProject/GameStartScene.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 1939e0bd696758f4ca3c0705858847e9 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/02_Scripts/Core.meta b/Assets/02_Scripts/Core.meta new file mode 100644 index 00000000..8298485f --- /dev/null +++ b/Assets/02_Scripts/Core.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 733e83836bb077c49bc004782151d904 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/02_Scripts/Core/Util.cs b/Assets/02_Scripts/Core/Util.cs new file mode 100644 index 00000000..b6ed2837 --- /dev/null +++ b/Assets/02_Scripts/Core/Util.cs @@ -0,0 +1,43 @@ +using System; +using System.Threading; +using UnityEngine; + +public static class Util +{ + /// 특정 시간(초) 후에 액션을 실행 + public static async Awaitable RunDelayed(float delay, Action action, CancellationToken token = default) + { + try + { + // 유니티 전용 비동기 대기 + await Awaitable.WaitForSecondsAsync(delay, token); + + // 함수 실행 + action?.Invoke(); + } + catch (OperationCanceledException) + { + // 취소되었을 때의 처리 (필요 시) + } + } + + /// 다음 프레임에 액션을 실행 + public static async Awaitable RunNextFrame(Action action, CancellationToken token = default) + { + try + { + await Awaitable.EndOfFrameAsync(token); + action?.Invoke(); + } + catch (OperationCanceledException) { } + } + + public static float NormalizeAngle(float angle) + { + while (angle > 180) + angle -= 360; + while (angle < -180) + angle += 360; + return angle; + } +} diff --git a/Assets/02_Scripts/Core/Util.cs.meta b/Assets/02_Scripts/Core/Util.cs.meta new file mode 100644 index 00000000..1ceb2db7 --- /dev/null +++ b/Assets/02_Scripts/Core/Util.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: ecdc55c0184e3fc44a49245b82ac1449 \ No newline at end of file diff --git a/Assets/02_Scripts/GlobalObject.cs b/Assets/02_Scripts/GlobalObject.cs new file mode 100644 index 00000000..ee777125 --- /dev/null +++ b/Assets/02_Scripts/GlobalObject.cs @@ -0,0 +1,18 @@ +using UnityEngine; + +public class GlobalObject : MonoBehaviour +{ + private static GlobalObject _instance; + void Awake() + { + if (_instance == null) + { + _instance = this; + DontDestroyOnLoad(gameObject); + } + else + { + Destroy(gameObject); + } + } +} diff --git a/Assets/02_Scripts/GlobalObject.cs.meta b/Assets/02_Scripts/GlobalObject.cs.meta new file mode 100644 index 00000000..6e3b3374 --- /dev/null +++ b/Assets/02_Scripts/GlobalObject.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 5730f2ce7e804634783f0d9808222a34 \ No newline at end of file diff --git a/Assets/02_Scripts/Managers.meta b/Assets/02_Scripts/Managers.meta new file mode 100644 index 00000000..e5c8efde --- /dev/null +++ b/Assets/02_Scripts/Managers.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: cf9904a0c2c0c1c4997d3a0256aa87c2 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/02_Scripts/Managers/GameManager.cs b/Assets/02_Scripts/Managers/GameManager.cs new file mode 100644 index 00000000..b118158f --- /dev/null +++ b/Assets/02_Scripts/Managers/GameManager.cs @@ -0,0 +1,22 @@ +using System; +using UnityEngine; +using UnityEngine.InputSystem; +using UnityEngine.SceneManagement; +using UnityEngine.UI; + +public class GameManager : MonoBehaviour +{ + public static GameManager Instance; + + private void Awake() + { + if (Instance == null) + { + Instance = this; //만들어진 자신을 인스턴스로 설정 + } + else + { + Destroy(gameObject); //이미 인스턴스가 있으면 자신을 파괴 + } + } +} diff --git a/Assets/02_Scripts/Managers/GameManager.cs.meta b/Assets/02_Scripts/Managers/GameManager.cs.meta new file mode 100644 index 00000000..dbdc8c0a --- /dev/null +++ b/Assets/02_Scripts/Managers/GameManager.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: dd21571511bbe3444871551dcd8fc777 \ No newline at end of file diff --git a/Assets/02_Scripts/Managers/SceneLoadManager.cs b/Assets/02_Scripts/Managers/SceneLoadManager.cs new file mode 100644 index 00000000..92e4ba4a --- /dev/null +++ b/Assets/02_Scripts/Managers/SceneLoadManager.cs @@ -0,0 +1,146 @@ +using System; +using System.Threading.Tasks; +using UnityEngine; +using UnityEngine.SceneManagement; + +public class SceneLoadManager : MonoBehaviour +{ + public static SceneLoadManager Instance; + + [SerializeField] private Camera _loadingCam; + [SerializeField] private Transform _loadingCamTargetTransform; + [SerializeField] private LoadingScreen _loadingScreen; + + private void Awake() + { + if (Instance == null) + { + Instance = this; //만들어진 자신을 인스턴스로 설정 + } + else + { + Destroy(gameObject); //이미 인스턴스가 있으면 자신을 파괴 + } + + _loadingScreen = _loadingCam.GetComponentInChildren(); + } + + private void Start() + { + SceneManager.sceneLoaded += OnSceneLoaded; + } + + private void OnSceneLoaded(Scene scene, LoadSceneMode mode) + { + // 씬이 로드될 때마다 + + } + + public async Awaitable FadeLoadingCanvas(bool isOut,float fadeTime) + { + float startAlpha = isOut ? 1f : 0f; + float endAlpha = isOut ? 0f : 1f; + + float timer = 0; + _loadingScreen.LoadingScreenCanvasGroup.alpha = startAlpha; + + while(timer < fadeTime) + { + timer += Time.deltaTime; + _loadingScreen.LoadingScreenCanvasGroup.alpha = Mathf.Lerp(startAlpha, endAlpha, timer / fadeTime); + await Awaitable.NextFrameAsync(this.destroyCancellationToken); + } + + _loadingScreen.LoadingScreenCanvasGroup.alpha = endAlpha; + } + + public async Task SetSceneLoadingActive(bool isActive,float alphaTime) + { + + if(alphaTime > 0f) + { + await FadeLoadingCanvas(!isActive,alphaTime); + } + + _loadingScreen.gameObject.SetActive(isActive); + } + + public void SetSceneLoadingActive(bool isActive) + { + _ = SetSceneLoadingActive(isActive, 0f); + } + + public void SetSceneLoadingProgressValue(float value) + { + _loadingScreen.LoadingImage.fillAmount = value; + _loadingScreen.LoadingTextMeshProUGUI.text = $"{(value * 100):F0}% 로딩 중..."; + } + public void SetSceneLoadingProgressValue(float value,string loadingText) + { + _loadingScreen.LoadingImage.fillAmount = value; + _loadingScreen.LoadingTextMeshProUGUI.text = loadingText; + } + + public void RequestSceneChange(string sceneName) + { + _ = SceneChange(sceneName); + } + + private async Awaitable SceneChange(string sceneName) + { + try + { + await SetSceneLoadingActive(true,2f); + + AsyncOperation op = SceneManager.LoadSceneAsync(sceneName); + + //자동 전환을 하고 싶지 않을 경우 해당값을 false로 두었다가 true로 바꾸면 그 때 전환됨 + op.allowSceneActivation = false; + + //화면에 보여줄 로딩 수치 + float displayProgress = 0f; + + //op.progress 0.9가 데이터 로딩이 끝난 기준 allowSceneActivation이 트루면 바로 다음으로 넘어가면서 op.isDone이 true가 된다. + while (op.progress < 0.9f) + { + //실제 로딩 수치 + float realProgress = Mathf.Clamp01(op.progress / 0.9f); + + //보여줄 값을 실제값을 향해 부드럽게 이동 + displayProgress = Mathf.MoveTowards(displayProgress, realProgress, Time.deltaTime * 0.5f); + + // UI에 적용 + SetSceneLoadingProgressValue(displayProgress); + + await Awaitable.NextFrameAsync(this.destroyCancellationToken); //자기자신이 파괴될때 토큰에 취소요청을 보냄 + } + + SetSceneLoadingProgressValue(1); + + // 잠시 대기했다가 전환 + await Awaitable.WaitForSecondsAsync(1.0f, this.destroyCancellationToken); + + //로딩 끝 + op.allowSceneActivation = true; + + // 씬 활성화가 완전히 끝날 때까지 대기 + // allowSceneActivation가 true가 되고 완전히 전환되기까지는 몇프레임 걸림. op.isDone 은 이 과정이 끝난 뒤에 true가 됨. + while(!op.isDone) + { + await Awaitable.NextFrameAsync(this.destroyCancellationToken); + } + + //VR용 로직 + //트래킹이 중단되면 안되기 때문에 카메라를 유지해야 한다 + _loadingCamTargetTransform = Camera.main.transform; // 새로운 씬의 메인카메라를 따라가게끔 설정 + await SetSceneLoadingActive(false,2f); + //------------------------------------------------------------------------------- + + Debug.Log("씬 전환됨"); + } + catch (OperationCanceledException) + { + Debug.Log("씬 전환 작업이 취소됨"); + } + } +} diff --git a/Assets/02_Scripts/Managers/SceneLoadManager.cs.meta b/Assets/02_Scripts/Managers/SceneLoadManager.cs.meta new file mode 100644 index 00000000..67acb295 --- /dev/null +++ b/Assets/02_Scripts/Managers/SceneLoadManager.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 1bb2fdf9537239e4f968be4954a998d7 \ No newline at end of file diff --git a/Assets/02_Scripts/UI/LoadingScreen.cs b/Assets/02_Scripts/UI/LoadingScreen.cs new file mode 100644 index 00000000..727798ea --- /dev/null +++ b/Assets/02_Scripts/UI/LoadingScreen.cs @@ -0,0 +1,16 @@ +using TMPro; +using UnityEngine; +using UnityEngine.UI; + +public class LoadingScreen : MonoBehaviour +{ + public Image LoadingImage; + public Image BackgroundImage; + public TextMeshProUGUI LoadingTextMeshProUGUI; + public CanvasGroup LoadingScreenCanvasGroup; + + private void Awake() + { + LoadingScreenCanvasGroup = GetComponent(); + } +} diff --git a/Assets/02_Scripts/UI/LoadingScreen.cs.meta b/Assets/02_Scripts/UI/LoadingScreen.cs.meta new file mode 100644 index 00000000..5bebf0a8 --- /dev/null +++ b/Assets/02_Scripts/UI/LoadingScreen.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 8cfa3149f37cd3844882b0f2135cf423 \ No newline at end of file diff --git a/Assets/04_Textures.meta b/Assets/04_Textures.meta new file mode 100644 index 00000000..44cae728 --- /dev/null +++ b/Assets/04_Textures.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: fa83c048bd83e744b910054dee5674a3 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/04_Textures/Background.meta b/Assets/04_Textures/Background.meta new file mode 100644 index 00000000..e8b72067 --- /dev/null +++ b/Assets/04_Textures/Background.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a4193d34c308d7248a8a1645e7db1a96 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/04_Textures/Background/Supermarket.png b/Assets/04_Textures/Background/Supermarket.png new file mode 100644 index 00000000..ff60b66b --- /dev/null +++ b/Assets/04_Textures/Background/Supermarket.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c1c693e028bed241a69921a5e37be4dc6ec2914a1042080b5be51d55a870b509 +size 1353735 diff --git a/Assets/04_Textures/Background/Supermarket.png.meta b/Assets/04_Textures/Background/Supermarket.png.meta new file mode 100644 index 00000000..f77f0fa8 --- /dev/null +++ b/Assets/04_Textures/Background/Supermarket.png.meta @@ -0,0 +1,143 @@ +fileFormatVersion: 2 +guid: 8a038ca5a2c64eb40a269866bac668d9 +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: 1 + 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 + - serializedVersion: 4 + buildTarget: Android + 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: iOS + 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: diff --git a/Assets/04_Textures/Loading.meta b/Assets/04_Textures/Loading.meta new file mode 100644 index 00000000..9117b731 --- /dev/null +++ b/Assets/04_Textures/Loading.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0bc73f643d91cee42ba97d1872b527ce +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/04_Textures/Loading/LoadingBar_Shopping.png b/Assets/04_Textures/Loading/LoadingBar_Shopping.png new file mode 100644 index 00000000..42220ae0 --- /dev/null +++ b/Assets/04_Textures/Loading/LoadingBar_Shopping.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:60c76ee3471da4bb4b2dafbb3afb347e557b4e0b13751317f7381fd65bf05cbd +size 628959 diff --git a/Assets/04_Textures/Loading/LoadingBar_Shopping.png.meta b/Assets/04_Textures/Loading/LoadingBar_Shopping.png.meta new file mode 100644 index 00000000..e256831c --- /dev/null +++ b/Assets/04_Textures/Loading/LoadingBar_Shopping.png.meta @@ -0,0 +1,143 @@ +fileFormatVersion: 2 +guid: 5e1fae4c597198c4ea5871c8e5537892 +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: 1 + 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 + - serializedVersion: 4 + buildTarget: Android + 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: iOS + 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: diff --git a/Assets/04_Textures/ShoppingCart.png b/Assets/04_Textures/ShoppingCart.png new file mode 100644 index 00000000..5d096dd9 --- /dev/null +++ b/Assets/04_Textures/ShoppingCart.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e9c895ac0e05380c168bc28155c164d02852f9a28d9a8c860406b30c30e993d0 +size 31125 diff --git a/Assets/04_Textures/ShoppingCart.png.meta b/Assets/04_Textures/ShoppingCart.png.meta new file mode 100644 index 00000000..5caabcec --- /dev/null +++ b/Assets/04_Textures/ShoppingCart.png.meta @@ -0,0 +1,143 @@ +fileFormatVersion: 2 +guid: 7ef0d6fc764feb0438fc445023c656f6 +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: 1 + 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 + - serializedVersion: 4 + buildTarget: Android + 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: iOS + 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: diff --git a/Assets/05_Materials.meta b/Assets/05_Materials.meta new file mode 100644 index 00000000..287f1bfb --- /dev/null +++ b/Assets/05_Materials.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3ad5aeecf63f2d24983bd35d694a2916 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/06_Font.meta b/Assets/06_Font.meta new file mode 100644 index 00000000..1238010e --- /dev/null +++ b/Assets/06_Font.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 00ddf97aa3bd3a14da1b5521338c2061 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/06_Font/Hakgyoansim_OcarinaOTFR.otf b/Assets/06_Font/Hakgyoansim_OcarinaOTFR.otf new file mode 100644 index 00000000..8124eba1 Binary files /dev/null and b/Assets/06_Font/Hakgyoansim_OcarinaOTFR.otf differ diff --git a/Assets/06_Font/Hakgyoansim_OcarinaOTFR.otf.meta b/Assets/06_Font/Hakgyoansim_OcarinaOTFR.otf.meta new file mode 100644 index 00000000..ff4f6876 --- /dev/null +++ b/Assets/06_Font/Hakgyoansim_OcarinaOTFR.otf.meta @@ -0,0 +1,21 @@ +fileFormatVersion: 2 +guid: ba8c535d02599714aa3aa9c86f2fea83 +TrueTypeFontImporter: + externalObjects: {} + serializedVersion: 4 + fontSize: 16 + forceTextureCase: -2 + characterSpacing: 0 + characterPadding: 1 + includeFontData: 1 + fontNames: + - Hakgyoansim Ocarina OTF R + fallbackFontReferences: [] + customCharacters: + fontRenderingMode: 0 + ascentCalculationMode: 1 + useLegacyBoundsCalculation: 0 + shouldRoundAdvanceValue: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/06_Font/Hakgyoansim_OcarinaR.ttf b/Assets/06_Font/Hakgyoansim_OcarinaR.ttf new file mode 100644 index 00000000..8e72c441 --- /dev/null +++ b/Assets/06_Font/Hakgyoansim_OcarinaR.ttf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:81757e29122c9073f4007465ca172c4cfc87ecd110173f365f4c7eab61cc97df +size 892044 diff --git a/Assets/06_Font/Hakgyoansim_OcarinaR.ttf.meta b/Assets/06_Font/Hakgyoansim_OcarinaR.ttf.meta new file mode 100644 index 00000000..ac420505 --- /dev/null +++ b/Assets/06_Font/Hakgyoansim_OcarinaR.ttf.meta @@ -0,0 +1,21 @@ +fileFormatVersion: 2 +guid: 7b4f99febae0f8e4b8399849571c2974 +TrueTypeFontImporter: + externalObjects: {} + serializedVersion: 4 + fontSize: 16 + forceTextureCase: -2 + characterSpacing: 0 + characterPadding: 1 + includeFontData: 1 + fontNames: + - Hakgyoansim Ocarina R + fallbackFontReferences: [] + customCharacters: + fontRenderingMode: 0 + ascentCalculationMode: 1 + useLegacyBoundsCalculation: 0 + shouldRoundAdvanceValue: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/06_Font/SDF.meta b/Assets/06_Font/SDF.meta new file mode 100644 index 00000000..22419a6f --- /dev/null +++ b/Assets/06_Font/SDF.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8ab9d856ca6472242b5d01885cb18f05 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/06_Font/SDF/Hakgyoansim_OcarinaOTFR SDF Material Outline.mat b/Assets/06_Font/SDF/Hakgyoansim_OcarinaOTFR SDF Material Outline.mat new file mode 100644 index 00000000..ab2850e1 --- /dev/null +++ b/Assets/06_Font/SDF/Hakgyoansim_OcarinaOTFR SDF Material Outline.mat @@ -0,0 +1,112 @@ +%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: Hakgyoansim_OcarinaOTFR SDF Material Outline + m_Shader: {fileID: 4800000, guid: 68e6db2ebdc24f95958faec2be5558d6, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: + - GLOW_ON + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _Cube: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _FaceTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: -8707857750061087374, guid: b45f2455fff41464da265a8757cb321d, type: 2} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OutlineTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _Ambient: 0.5 + - _Bevel: 0.5 + - _BevelClamp: 0 + - _BevelOffset: 0 + - _BevelRoundness: 0 + - _BevelWidth: 0 + - _BumpFace: 0 + - _BumpOutline: 0 + - _ColorMask: 15 + - _CullMode: 0 + - _Diffuse: 0.5 + - _FaceDilate: 0.3 + - _FaceUVSpeedX: 0 + - _FaceUVSpeedY: 0 + - _GlowInner: 0 + - _GlowOffset: 0 + - _GlowOuter: 0.5 + - _GlowPower: 1 + - _GradientScale: 4 + - _LightAngle: 3.1416 + - _MaskSoftnessX: 0 + - _MaskSoftnessY: 0 + - _OutlineSoftness: 0 + - _OutlineUVSpeedX: 0 + - _OutlineUVSpeedY: 0 + - _OutlineWidth: 1 + - _PerspectiveFilter: 0.875 + - _Reflectivity: 10 + - _ScaleRatioA: 0.5042017 + - _ScaleRatioB: 0.38437498 + - _ScaleRatioC: 0.38437498 + - _ScaleX: 1 + - _ScaleY: 1 + - _ShaderFlags: 0 + - _Sharpness: 0 + - _SpecularPower: 2 + - _Stencil: 0 + - _StencilComp: 8 + - _StencilOp: 0 + - _StencilReadMask: 255 + - _StencilWriteMask: 255 + - _TextureHeight: 8192 + - _TextureWidth: 8192 + - _UnderlayDilate: 0 + - _UnderlayOffsetX: 0 + - _UnderlayOffsetY: 0 + - _UnderlaySoftness: 0 + - _VertexOffsetX: 0 + - _VertexOffsetY: 0 + - _WeightBold: 0.75 + - _WeightNormal: 0 + m_Colors: + - _ClipRect: {r: -32767, g: -32767, b: 32767, a: 32767} + - _EnvMatrixRotation: {r: 0, g: 0, b: 0, a: 0} + - _FaceColor: {r: 1, g: 1, b: 1, a: 1} + - _GlowColor: {r: 0, g: 0, b: 0, a: 0} + - _MaskCoord: {r: 0, g: 0, b: 32767, a: 32767} + - _OutlineColor: {r: 0, g: 0, b: 0, a: 1} + - _ReflectFaceColor: {r: 0, g: 0, b: 0, a: 1} + - _ReflectOutlineColor: {r: 0, g: 0, b: 0, a: 1} + - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} + - _UnderlayColor: {r: 0, g: 0, b: 0, a: 0.5} + m_BuildTextureStacks: [] + m_AllowLocking: 1 diff --git a/Assets/06_Font/SDF/Hakgyoansim_OcarinaOTFR SDF Material Outline.mat.meta b/Assets/06_Font/SDF/Hakgyoansim_OcarinaOTFR SDF Material Outline.mat.meta new file mode 100644 index 00000000..3be1fe89 --- /dev/null +++ b/Assets/06_Font/SDF/Hakgyoansim_OcarinaOTFR SDF Material Outline.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 106d7f317ab71384a8b1cdc72b018de4 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/06_Font/SDF/Hakgyoansim_OcarinaOTFR SDF.asset b/Assets/06_Font/SDF/Hakgyoansim_OcarinaOTFR SDF.asset new file mode 100644 index 00000000..2495fd2f --- /dev/null +++ b/Assets/06_Font/SDF/Hakgyoansim_OcarinaOTFR SDF.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7746f198b14819fa86e8137596c7f7fa880651640ce4a0ecb5b705cfcbcadfe2 +size 139061291 diff --git a/Assets/06_Font/SDF/Hakgyoansim_OcarinaOTFR SDF.asset.meta b/Assets/06_Font/SDF/Hakgyoansim_OcarinaOTFR SDF.asset.meta new file mode 100644 index 00000000..a1baba03 --- /dev/null +++ b/Assets/06_Font/SDF/Hakgyoansim_OcarinaOTFR SDF.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b45f2455fff41464da265a8757cb321d +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/99_Settings/Project Configuration/Quality URP Config.asset b/Assets/99_Settings/Project Configuration/Quality URP Config.asset index 9227288c..d8dd3570 100644 --- a/Assets/99_Settings/Project Configuration/Quality URP Config.asset +++ b/Assets/99_Settings/Project Configuration/Quality URP Config.asset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d4595379af26e12f5d11afeaa4a9a09e277323cd69fbc4c50161e8a583b18554 +oid sha256:0ab2037401c34cbd576a090ff5d34ed359b13cb9981cef6d9d06919af3029117 size 4614 diff --git a/Assets/99_Settings/Shadow/Umbra Profile.asset b/Assets/99_Settings/Shadow/Umbra Profile.asset index 206fb4df..031c8009 100644 --- a/Assets/99_Settings/Shadow/Umbra Profile.asset +++ b/Assets/99_Settings/Shadow/Umbra Profile.asset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6bf6d39b68415349884d2ea0be131672313490e9030e95743ec3b6a6397e623d +oid sha256:ef75c518777c031ac1875085b8270bd06deacfdc4dbeed667c9861011451bbf4 size 2071 diff --git a/ProjectSettings/TagManager.asset b/ProjectSettings/TagManager.asset index 3f540683..9bc8dc67 100644 --- a/ProjectSettings/TagManager.asset +++ b/ProjectSettings/TagManager.asset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4af1162fd4b5620ea6870b867a0fe1359651bb82d3b9be28ca6d7d39da249624 -size 573 +oid sha256:3ebaf9ae5fe64f49dd01cd51fd31043a0082dec91cfb6e7e578d37d9a427b24f +size 583