πŸ“ Game/✏ Unity

    [Unity] λͺ¨λ°”일 κ²Œμž„ μ„±λŠ₯ μ΅œμ ν™” 1편

    λͺ¨λ°”일 κ²Œμž„ μ„±λŠ₯ μ΅œμ ν™” 1편 1. string νŒŒμ‹± ν•  λ•Œ λ°œμƒν•˜λŠ” 가비지 JSONμ΄λ‚˜ XML을 데이터 νŒŒμ‹±ν•˜λŠ” κ²½μš°κ°€ λ§Žμ€λ°, 이 κ³Όμ •μ—μ„œ 가비지가 λ°œμƒν•˜λŠ” κ²½μš°κ°€ λ§ŽμœΌλ―€λ‘œ λΉŒλ“œ 전에 μ—λ””ν„°μ—μ„œ ScriptableObject둜 데이터λ₯Ό 캐싱해놓고 μ‚¬μš©ν•˜λŠ” 것을 μΆ”μ²œν•œλ‹€. 2. μ• λ‹ˆλ©”μ΄ν„° λ“±μ˜ νŒŒλΌλ―Έν„°λ₯Ό string으둜 ν˜ΈμΆœν•  λ•Œ λ°œμƒν•˜λŠ” 가비지 animator.SetBool("Jump", true); 맀번 string으둜 ν˜ΈμΆœν•˜λ©΄ 가비지가 λ°œμƒν•  수 μžˆλ‹€. ID둜 μΊμ‹±ν•΄μ„œ ν˜ΈμΆœν•˜λŠ” 것을 μΆ”μ²œν•œλ‹€. 3. 였브젝트 ν’€ λ§Œλ“€ λ•Œ λΆ€λͺ¨ λ³€κ²½ Hierarchy μ°½μ—μ„œ enable λΆ€λͺ¨, disable λΆ€λͺ¨ λ§Œλ“€μ–΄μ„œ λΆ€λͺ¨ 계속 λ°”κΎΈλŠ” ν–‰μœ„λŠ” ν•˜μ§€ μ•ŠλŠ” 것이 μ’‹λ‹€. μ™œλƒν•˜λ©΄ SetParent ν•¨μˆ˜λŠ” λΉ„μš©μ€ κ½€ 무..

    [Unity] 2D κ²Œμž„μ—μ„œ Sprite μ‚¬μš©

    [Unity] 2D κ²Œμž„μ—μ„œ Sprite μ‚¬μš©

    2D κ²Œμž„μ—μ„œ Sprite μ‚¬μš© νŒ€μ— μ•„νŠΈκ°€ μ—†λŠ” μƒνƒœμ—μ„œ μœ λ‹ˆν‹° 2D κ²Œμž„μ„ μ œμž‘ν•˜λ©΄, 생각보닀 Sprite μ‚¬μš©μ— 어렀움을 κ²ͺ을 수 μžˆλ‹€. 무료 λ¦¬μ†ŒμŠ€λ₯Ό ν™œμš©ν•΄ 맡, 였브젝트, 캐릭터 등을 보여주어야 ν•˜λŠ”λ° 각 μ΄λ―Έμ§€λ§ˆλ‹€ μ‚¬μ΄μ¦ˆκ°€ 달라 이λ₯Ό 적절히 ν™œμš©ν•˜κΈ°κ°€ μ–΄λ ΅κΈ° λ•Œλ¬Έμ΄λ‹€. κ·Έλž˜μ„œ μ–΄λ–€ 기쀀을 작고 이미지 λ¦¬μ†ŒμŠ€λ₯Ό μ‚¬μš©ν•˜λ©΄ 쒋을지 μž‘μ„±ν•΄ 보렀 ν•œλ‹€. 2D κ²Œμž„μ—μ„œ Sprite μ‚¬μ΄μ¦ˆλ₯Ό κ²°μ •ν•˜λŠ”λ° 영ν–₯을 μ£ΌλŠ” ν‚€μ›Œλ“œλŠ” λ‹€μŒκ³Ό κ°™λ‹€. 카메라 μ‚¬μ΄μ¦ˆ: 처음 Scene을 μƒμ„±ν•˜λ©΄ 기본적으둜 메인 카메라가 μƒμ„±λ˜μ–΄ μžˆλŠ”λ°, 이 카메라 μ‚¬μ΄μ¦ˆλŠ” 5둜 μ„€μ •λ˜μ–΄ μžˆλ‹€. 이미지 μ‚¬μ΄μ¦ˆ & Pixels Per Unit: Pixels Per UnitλŠ” 100으둜 κΈ°λ³Έ μ„€μ •λœλ‹€. μ΄λ•Œ ν…ŒμŠ€νŠΈλ‘œ μ‚¬μš©ν•œ μ΄λ―Έμ§€λŠ” 128x1..

    [Unity] Find Reference 2

    [Unity] Find Reference 2

    Find Reference 2 μ• μ…‹ μŠ€ν† μ–΄μ—μ„œ νŒλ§€ν•˜λŠ” 유료 μ• μ…‹μœΌλ‘œ μ• μ…‹ 참쑰와 κ΄€λ ¨λœ λ‹€μ–‘ν•œ κΈ°λŠ₯듀을 μ œκ³΅ν•œλ‹€. μ‚¬μš©λ˜μ§€ μ•ŠλŠ” μ• μ…‹μ΄λ‚˜ 무거운 애셋을 μ •λ¦¬ν•˜μ—¬ λΉŒλ“œλ₯Ό μ΅œμ ν™”ν•  수 μžˆλ‹€. λ„€μŠ€ν‹°λ“œ ν”„λ¦¬νŒΉμ—μ„œλ„ μ‚¬μš© κ°€λŠ₯ν•˜λ‹€. 참고둜 μ• μ…‹(Aseet)μ΄λž€ ν”„λ‘œμ νŠΈ λ‚΄μ—μ„œ μ‚¬μš©ν•  수 μžˆλŠ” ν•­λͺ©μ΄λ‹€. 3D λͺ¨λΈ, μ˜€λ””μ˜€ 파일, 이미지 및 Unityμ—μ„œ μ§€μ›ν•˜λŠ” 기타 파일 μœ ν˜• λ“± Unity μ™Έμ—μ„œ μ œμž‘λœ 파일의 ν˜•νƒœλ‘œ 제곡될 수 μžˆλ‹€. λ˜ν•œ μ• λ‹ˆλ©”μ΄ν„° 컨트둀러(Animator Controller), μ˜€λ””μ˜€ λ―Ήμ„œ(Audio Mixer), λ Œλ” ν…μŠ€μ²˜(Render Texture)와 같이 Unity λ‚΄μ—μ„œ μ œμž‘ν•  수 μžˆλŠ” 에셋 μœ ν˜•λ„ μžˆλ‹€. https://assetstore.unity.com/packages/to..

    [Unity] 에셋 λŸ°νƒ€μž„ λ‘œλ“œ(λ¦¬μ†ŒμŠ€ 폴더, 에셋 λ²ˆλ“€, μ–΄λ“œλ ˆμ„œλΈ” 에셋)

    [Unity] 에셋 λŸ°νƒ€μž„ λ‘œλ“œ(λ¦¬μ†ŒμŠ€ 폴더, 에셋 λ²ˆλ“€, μ–΄λ“œλ ˆμ„œλΈ” 에셋)

    μœ λ‹ˆν‹° λ‚΄ 에셋 λŸ°νƒ€μž„ λ‘œλ“œλŠ” λ¦¬μ†ŒμŠ€ 폴더 μ‚¬μš©μ—μ„œ 에셋 λ²ˆλ“€, μ–΄λ“œλ ˆμ„œλΈ” 에셋 λ°©μ‹μœΌλ‘œ λ°œμ „ν•΄κ°€κ³  μžˆλ‹€. λ¦¬μ†ŒμŠ€ 폴더 λ¦¬μ†ŒμŠ€ ν΄λ”λŠ” μœ λ‹ˆν‹°μ—μ„œ μ œκ³΅ν•˜λŠ” λ¦¬μ†ŒμŠ€ λ‘œλ“œ ν΄λ”λ‘œ λ¦¬μ†ŒμŠ€ 폴더 μ•ˆ 파일의 경둜둜 μ ‘κ·Όν•˜μ—¬ μ‚¬μš©ν•˜λŠ” 방식이닀. Resources.Load("파일 경둜") μ‚¬μš©ν•˜κΈ°μ— νŽΈλ¦¬ν•˜λ‹€λŠ” μž₯점이 μžˆμ§€λ§Œ, 그만큼 단점도 λ§Žμ•„ μœ λ‹ˆν‹°μ—μ„œλ„ ꢌμž₯ν•˜μ§€ μ•ŠλŠ” 방법이닀. λΉŒλ“œ μ‹œ ν•¨κ»˜ λ¬Άμ΄λ―€λ‘œ λΉŒλ“œ μ‚¬μ΄μ¦ˆκ°€ 컀져 μ•± μ‹œμž‘ μ‹œκ°„μ΄ 길어진닀. 에셋 이름을 톡해 λ‘œλ“œν•˜λ―€λ‘œ 에셋 이름 변경이 μ–΄λ ΅λ‹€. 에셋 λ²ˆλ“€(Asset Bundle) 에셋 λ²ˆλ“€μ€ 에셋듀을 ν•˜λ‚˜λ‘œ λ¬Άμ–΄ μ••μΆ• νŒŒμΌμ„ μƒμ„±ν•˜λŠ” κ°œλ…μœΌλ‘œ μƒμ„±λœ 에셋 λ²ˆλ“€μ€ λ„€νŠΈμ›Œν¬λ₯Ό 톡해 λ°°ν¬ν•˜κ³  λŸ°νƒ€μž„μ— λ‘œλ“œν•˜μ—¬ μ‚¬μš©λœλ‹€. λΉŒλ“œμ— ν¬ν•¨λ˜μ§€ μ•ŠμœΌλ―€λ‘œ 초기 μΈμŠ€ν†¨ μ‚¬μ΄μ¦ˆ..

    [Unity] μŠ€ν¬λ¦½ν„°λΈ” 였브젝트(Scriptable Object)

    [Unity] μŠ€ν¬λ¦½ν„°λΈ” 였브젝트(Scriptable Object)

    μŠ€ν¬λ¦½ν„°λΈ” 였브젝트(Scriptable Object) 1. μ •μ˜ ScriptableObjectλŠ” 클래슀 μΈμŠ€ν„΄μŠ€μ™€λŠ” λ³„λ„λ‘œ λŒ€λŸ‰μ˜ 데이터λ₯Ό μ €μž₯ν•˜λŠ” 데 μ‚¬μš©ν•  수 μžˆλŠ” 데이터 μ»¨ν…Œμ΄λ„ˆμ΄λ‹€. μ£Όμš” μ‚¬μš© 사둀 쀑 ν•˜λ‚˜λŠ” κ°’μ˜ 사본이 μƒμ„±λ˜λŠ” 것을 λ°©μ§€ν•˜μ—¬ ν”„λ‘œμ νŠΈμ˜ λ©”λͺ¨λ¦¬ μ‚¬μš©μ„ μ€„μ΄λŠ” 것이닀. μ΄λŠ” μ—°κ²°λœ MonoBehaviour μŠ€ν¬λ¦½νŠΈμ— λ³€κ²½λ˜μ§€ μ•ŠλŠ” 데이터λ₯Ό μ €μž₯ν•˜λŠ” ν”„λ¦¬νŒΉμ΄ μžˆλŠ” 경우 μœ μš©ν•˜λ‹€. μ΄λŸ¬ν•œ ν”„λ¦¬νŒΉμ„ μΈμŠ€ν„΄μŠ€ν™”ν•  λ•Œλ§ˆλ‹€ ν•΄λ‹Ή λ°μ΄ν„°μ˜ 자체 사본이 μƒμ„±λ˜κ²Œ λ˜λŠ”λ°, 이 방식 λŒ€μ‹  ScriptableObjectλ₯Ό μ΄μš©ν•˜μ—¬ 데이터λ₯Ό μ €μž₯ν•˜λ©΄ λͺ¨λ“  ν”„λ¦¬νŒΉμ˜ 레퍼런슀λ₯Ό 톡해 μ•‘μ„ΈμŠ€ ν•  수 μžˆλ‹€. 즉, λ©”λͺ¨λ¦¬μ— 데이터 사본을 ν•˜λ‚˜λ§Œ μ €μž₯ν•˜κ²Œ λœλ‹€. ν”„λ‘œμ νŠΈλ₯Ό λΉŒλ“œν•˜κΈ° μ „ μœ λ‹ˆν‹° μ—λ””ν„°μ—μ„œ μˆ˜μ • 및 ..

    [Unity] Layer와 Tag μ‚¬μš© 및 차이

    [Unity] Layer와 Tag μ‚¬μš© 및 차이

    Layer와 Tag μ‚¬μš© 및 μ°¨μ΄μœ λ‹ˆν‹°μ—μ„œ μ‚¬μš©ν•˜λŠ” κ²Œμž„ μ˜€λΈŒμ νŠΈλŠ” 각각의 이름이 μ‘΄μž¬ν•˜κ³  κ·Έ μ˜€λΈŒμ νŠΈλ“€μ„ λΆ„λ₯˜ν•˜κΈ° μœ„ν•΄ Tag와 Layerλ₯Ό μ‚¬μš©ν•œλ‹€. κ·Έλ ‡λ‹€λ©΄ 두  μš”μ†Œκ°€ μ–΄λ–»κ²Œ μ‚¬μš©λ˜κ³  무슨 차이가 μžˆλŠ”μ§€ μ•Œμ•„λ³΄μž. κ²Œμž„ 였브젝트λ₯Ό μ„ νƒν•œ ν›„ μΈμŠ€νŽ™ν„° μ°½μ—μ„œ 상단을 보면 Tag와 Layerλ₯Ό 찾을 수 μžˆλ‹€.  ν΄λ¦­ ν›„ 맨 μ•„λž˜ Add Tag λ˜λŠ” Add Layerλ₯Ό λ‹€μ‹œ ν΄λ¦­ν•˜λ©΄ Tags & Layers 창으둜 μ΄λ™λœλ‹€.  Tags & Layers 창에선 ν”„λ‘œμ νŠΈμ—μ„œ μ‚¬μš©λ˜λŠ” λͺ¨λ“  Tag와 Layer듀을 κ΄€λ¦¬ν•œλ‹€.기본으둜 μΆ”κ°€λœ Tag와 Layer 외에도 μƒˆλ‘œμš΄ 값을 μΆ”κ°€ν•˜κ±°λ‚˜ μ‚­μ œν•  수 μžˆλ‹€.  1. LayerLayerλŠ” μ˜€λΈŒμ νŠΈλ“€μ˜ 그룹을 λ§Œλ“€κ³  κ΄€λ¦¬ν•˜λŠ” μš©λ„λ‘œ μ‚¬μš©ν•œλ‹€.κ²Œμž„ 였브젝트의 κΈ°λ³Έ 레..