๐ฎ Project_Up – Unity 3D ์๋ฐ์ด๋ฒ ์์คํ ์ ์๊ธฐ
์๋
ํ์ธ์! ์ค๋์ ์ ๊ฐ ์งํํ Unity ํ๋ก์ ํธ Project_Up์ ์๊ฐํ๋ ค๊ณ ํฉ๋๋ค.
์ด ํ๋ก์ ํธ๋ 3D ํ๊ฒฝ์์ ํ๋ ์ด์ด๊ฐ ์ด๋ํ๊ณ , ์ค๋ธ์ ํธ์ ์ํธ์์ฉํ๋ฉฐ, ์์์ ์ฑ์งํ๊ณ ์์ดํ
์ ์ฌ์ฉํ๋ ๊ธฐ๋ณธ์ ์ธ ์๋ฐ์ด๋ฒํ ์์คํ
์ ๊ตฌํํ ์์ ์
๋๋ค.
์ต๊ทผ์๋ ์ฅ๋น(Equip) ์์คํ
์ ์์ ํ ์ ๊ฑฐํ๊ณ , ์๋นํ ์์ดํ
์ค์ฌ์ ๋จ์ํ ์ธ๋ฒคํ ๋ฆฌ ๊ตฌ์กฐ๋ก ๋ฆฌํฉํ ๋ง์ ์งํํ์ด์.
๋๋ถ์ ์ ์ฒด ๊ตฌ์กฐ๊ฐ ํจ์ฌ ๊ฐ๋ณ๊ณ ์ง๊ด์ ์ผ๋ก ๋ณํ์ต๋๋ค.
๐ ํ๋ก์ ํธ ๊ฐ์
- ์ฅ๋ฅด : 3D ์๋ฐ์ด๋ฒ / ์ธํฐ๋์
- ์์ง : Unity 2021.3 LTS
- ๊ฐ๋ฐ ์ธ์ด : C#
- ์ฃผ์ ๋ชฉํ
- ์บ๋ฆญํฐ ์ด๋, ์ ํ, ๋ฌ๋ฆฌ๊ธฐ, ์นด๋ฉ๋ผ ์ ์ด
- ์ํธ์์ฉ ๊ฐ๋ฅํ ์ค๋ธ์ ํธ์์ ๊ฐ๋จํ ์ธํฐํ์ด์ค
- ์๋นํ ์์ดํ ์ค์ฌ์ ์ธ๋ฒคํ ๋ฆฌ ์์คํ
- ํ๊ฒฝ ์ค๋ธ์ ํธ(์ ํํจ๋, ์ด๋ํ๋ ์ฐจ๋) ๊ตฌํ
๐ ์ฃผ์ ๊ธฐ๋ฅ
1. ํ๋ ์ด์ด ์์คํ
- ์ด๋/์ ํ/๋ฌ๋ฆฌ๊ธฐ
๊ธฐ๋ณธ WASD ์ด๋๊ณผ ์ ํ, Shift๋ฅผ ํตํ ๋ฌ๋ฆฌ๊ธฐ ๊ธฐ๋ฅ์ ๊ตฌํํ์ต๋๋ค.
์นด๋ฉ๋ผ๋ 3์ธ์นญ ์์ ์ด๋ฉฐ, ๋ฒฝ์ด๋ ์ค๋ธ์ ํธ์ ๋ถ๋ชํ๋ฉด ์๋์ผ๋ก ์ถฉ๋ ๋ณด์ ์ด ๋ฉ๋๋ค. - ์คํ๋ฏธ๋ ๊ด๋ฆฌ
๋ฌ๋ฆด ๋ ์คํ๋ฏธ๋๊ฐ ์๋ชจ๋๋ฉฐ, ์คํ๋ฏธ๋๊ฐ 0์ด ๋๋ฉด ๋ ์ด์ ๋ฌ๋ฆด ์ ์์ต๋๋ค. - ์ํ(Condition) ๊ด๋ฆฌ
์ฒด๋ ฅ, ์คํ๋ฏธ๋, ์๋ ์ฆ๊ฐ(๋ฒํ) ์ํ๋ฅผ ๊ด๋ฆฌํ๊ณ , UI์ ์ค์๊ฐ ์ฐ๋๋ฉ๋๋ค. - ์ ๋๋ฉ์ด์
์ฐ๋
์ด๋ ์๋, ์ ํ ์ฌ๋ถ, ๋ํ ์ฌ๋ถ์ ๋ฐ๋ผ ์ ๋๋ฉ์ด์ ํ๋ผ๋ฏธํฐ๋ฅผ ์ ๋ฐ์ดํธํฉ๋๋ค.
2. ์์ดํ & ์ธ๋ฒคํ ๋ฆฌ
- ์์ดํ
ํ์
- Consumable : ์ฒด๋ ฅ ํ๋ณต, ์คํ๋ฏธ๋ ํ๋ณต, ์๋ ์ฆ๊ฐ ๋ฑ ์ฌ์ฉ ์ ํจ๊ณผ ์ ์ฉ
- Environment : ํ๊ฒฝ ์ค๋ธ์ ํธ(์์, ์ค๋ธ์ ํธ ๋ฐฐ์น์ฉ)
- ์ธ๋ฒคํ ๋ฆฌ UI
- ์ฌ๋กฏ ๊ธฐ๋ฐ UI๋ก ๊ตฌ์ฑ
- ๊ฐ์ ์ข ๋ฅ์ ์์ดํ ์ ์คํ ๊ฐ๋ฅ
- ์์ดํ ์ฌ์ฉ ์ ํด๋น ํจ๊ณผ ์ฆ์ ์ ์ฉ
- ์ธ๋ฒคํ ๋ฆฌ๊ฐ ๊ฐ๋ ์ฐจ๋ฉด ์์ดํ ์ ๋ฒ๋ฆผ
- ์์ดํ
์ํธ์์ฉ
์๋์ ๋จ์ด์ง ItemObject์ ์ํธ์์ฉํ๋ฉด ์ธ๋ฒคํ ๋ฆฌ์ ์ถ๊ฐ๋ฉ๋๋ค.
3. ์ํธ์์ฉ ์์คํ
- ํ๋ฉด ์ค์์์ Raycast๋ฅผ ๋ฐ์ฌํด ์ํธ์์ฉ ๊ฐ๋ฅํ ์ค๋ธ์ ํธ๋ฅผ ํ์งํฉ๋๋ค.
- ๊ฐ์ง ์ ์ํธ์์ฉ ์๋ด UI(TextMeshPro) ํ์.
- E ํค ์ ๋ ฅ ์ IInteractable ์ธํฐํ์ด์ค์ OnInteract() ํธ์ถ.
4. ํ๊ฒฝ ์ค๋ธ์ ํธ
- JumpPad
ํ๋ ์ด์ด๊ฐ ์ฌ๋ผ์๋ฉด ์๋ก ์ ํ์ํค๊ณ , ์ ๋๋ฉ์ด์ ์ด ์ฌ์๋ฉ๋๋ค. - Move_SportCar
DoTween์ ์ฌ์ฉํด ์ฐจ๋์ด ์๋ค๋ก ์๋ณตํ๊ฑฐ๋ ์ํ ๊ถค๋๋ฅผ ๋๋ ์์ง์์ ๊ตฌํํ์ต๋๋ค.
์ด๋ ๋ฐฉํฅ์ ๋ฐ๋ผ ํ ์ด ํ์ ํ๋ ๋ํ ์ผ๊น์ง ๋ฃ์์ต๋๋ค. - Resource
์ฑ์ง ์ ์์ดํ ๋๋กญ ํ๋ฆฌํน์ ์์ฑํ๋ฉฐ, ์ ํด์ง ์๋๋งํผ๋ง ์ฑ์ง ๊ฐ๋ฅํฉ๋๋ค.
5. UI & ์๊ฐ ํจ๊ณผ
- UICondition : ์ฒด๋ ฅ, ์คํ๋ฏธ๋, ๋ฒํ ์ํ ํ์.
- DamageIndicator : ํผํด๋ฅผ ๋ฐ์ผ๋ฉด ํ๋ฉด์ด ๋ถ๊ฒ ํ๋์๋ฉ๋๋ค.
- FootSteps : ์ด๋ ์๋์ ๋ฐ๋ผ ๋ฐ์๊ตญ ์๋ฆฌ๊ฐ ์ฌ์๋ฉ๋๋ค.
๐ ์ต๊ทผ ๋ฆฌํฉํ ๋ง ํฌ์ธํธ
์ด๋ฒ ์ ๋ฐ์ดํธ์์ ํนํ ํฐ ๋ณํ๋ ์ฅ๋น ์์คํ ์ ๊ฑฐ์ ๋๋ค.
- ๋ถํ์ํ๊ฒ ๋ณต์กํ๋ ์ฅ์ฐฉ/ํด์ ๋ก์ง๊ณผ Equip ํด๋์ค ์ญ์
- ์ธ๋ฒคํ ๋ฆฌ์์ ์ฅ์ฐฉ/ํด์ ๋ฒํผ ์ ๊ฑฐ
- ItemType์์ Equipable ์ ๊ฑฐ
- ์์ดํ ์ Consumable ๋๋ Environment๋ง ์กด์ฌ
- Player ํด๋์ค์์ equip ํ๋ ์ญ์
์ด๋ ๊ฒ ํ๋ ์ฝ๋๊ฐ ํจ์ฌ ๋จ์ํด์ง๊ณ , ์์ดํ ๊ด๋ฆฌ์ UI ๋์์ด ๋ช ํํด์ก์ต๋๋ค.
๐ ํด๋ ๊ตฌ์กฐ
Assets/
โโโ 02.Scripts/
โ โโโ Character/
โ โ โโโ CharacterManager.cs
โ โ โโโ Player.cs
โ โ โโโ PlayerController.cs
โ โ โโโ PlayerCondition.cs
โ โ โโโ PlayerAnimation.cs
โ โ
โ โโโ Interaction/
โ โ โโโ Interaction.cs
โ โ โโโ ItemObject.cs
โ โ โโโ Resource.cs
โ โ
โ โโโ Inventory/
โ โ โโโ ItemData.cs
โ โ โโโ ItemSlot.cs
โ โ โโโ UIInventory.cs
โ โ
โ โโโ UI/
โ โ โโโ Condition.cs
โ โ โโโ UICondition.cs
โ โ โโโ DamageIndicator.cs
โ โ
โ โโโ Environment/
โ โ โโโ JumpPad.cs
โ โ โโโ Move_SportCar.cs
โ โ
โ โโโ Sound/
โ โโโ FootSteps.cs
๐ฅ ํ๋ ์ด ํ๋ฉด (GIF)
๐ก ๋ง๋ฌด๋ฆฌ
์ด๋ฒ ํ๋ก์ ํธ๋ ๊ธฐ๋ณธ์ ์ธ ์๋ฐ์ด๋ฒํ ์์คํ
์ ๋ผ๋๋ฅผ ๊ตฌํํ๋ ๊ฒ์ด ๋ชฉํ์์ต๋๋ค.
์ฅ๋น ์์คํ
์ ์ ๊ฑฐํ๊ณ ๋๋ ์ธ๋ฒคํ ๋ฆฌ์ ์์ดํ
๊ตฌ์กฐ๊ฐ ํจ์ฌ ๋ช
ํํด์ง๊ณ ์ ์ง๋ณด์๊ฐ ์ฌ์์ก์ด์.
๋ค์์ ์ถ๊ฐํ๊ณ ์ถ์๊ฑด ์ ํฌ ์์คํ
๊ณผ ํ์คํธ ์์คํ
์ ๊ฐ๋จํ๊ฒ ๋ถ์ฌ์,
๋ ํ๋ถํ ํ๋ ์ด ๊ฒฝํ์ ์ค ์ ์๋๋ก ํ์ฅํ๊ณ ์ถ์ต๋๋ค!
'Unity' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Unity - 3D Survival Game(์ธ๋ฒคํ ๋ฆฌ ๊ธฐ๋ฅ) (6) | 2025.08.08 |
---|---|
Unity - Inventory ์ธ๋ฒคํ ๋ฆฌ ์์คํ ๊ตฌํ ์ ๋ฆฌ (3) | 2025.08.07 |
Unity - Unity์ TryGetComponent (1) | 2025.08.07 |
Unity - Input System - InputAction (6) | 2025.08.06 |
ํ๋ก์ ํธ ์๊ฐ - ใํ๋์ธ๊ณ ์ตํ์ ๊ถ์ใ (3) | 2025.08.05 |