๐ฎ PC 3D ์ํ ํ๋ซํผ ๊ฒ์์ ๋๋ค.
- Unity3D 2023
- C#
- ์๋ํฐ์์ ํ๋ฅ ์ ์กฐ์ ํ ๋๋ก ์์ดํ ์ด ๋๋ค ์์ฑ
- ์ค๋ธ์ ํธ ํ๋ง (๋ฉ๋ชจ๋ฆฌ ํ๋ง) ์ ํ์ฉํด์ ํ๋ ์ด์ด๋ฅผ ์ซ์์ค๋ ์ ์ด ์ ์ ๋ง์ด ์์ฑ๋๋๋ก ํ๊ณ ,
SetActive()
๋ฉ์๋๋ฅผ ์ฌ์ฉํด์ ์ฃฝ์ ์ ์ ์ฌํ์ฉํ์์ต๋๋ค.- ํํผ ์ค๋ธ์ ํธ, ๊ณต๊ฒฉ ํํฐํด์๋ ์ค๋ธ์ ํธ ํ๋ง์ ์ ์ฉํด์ ๊ฒ์์ ์ฑ๋ฅ์ ํฅ์์ํค๊ณ ์ ํ์์ต๋๋ค.
- ์ ์ด ์ฅ์ ๋ฌผ์ ํผํด์ ํ๋ ์ด์ด๋ฅผ ์ซ์์ค๋ ๊ธธ์ฐพ๊ธฐ ๊ธฐ๋ฅ
- ํ ์๋ฃ๊ตฌ์กฐ๋ฅผ ์ฌ์ฉํ A-Star ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ๊ตฌํํ์ต๋๋ค.
- ๋ํ ์ ์ ํ๋์ FSM์ผ๋ก ๊ด๋ฆฌํ์ฌ ํ๋ ์ด์ด์์ ๊ฑฐ๋ฆฌ์ ๋ฐ๋ผ ๋ฐฐํ, ์ถ์ , ๊ณต๊ฒฉ ์ํ๋ก ๋ณ๊ฒฝ๋๋๋ก ํ์์ต๋๋ค.
- ๋จ์ํ bool ํ์
์ฒดํฌ๋ฅผ ์ด๊ฑฐํ๋ ๋ฐฉ์์์
FSM
์ ์ ์ฉํด์ ๊ฐ์ฒด์งํฅ์ ์ผ๋ก ์ค๊ณํ๋๋ก ํ์ต๋๋ค.
- ๋จ์ํ bool ํ์
์ฒดํฌ๋ฅผ ์ด๊ฑฐํ๋ ๋ฐฉ์์์
- ํ๋ ์ด์ด ์์ง์: ๊ฑท๊ธฐ (WASD), ๋ฌ๋ฆฌ๊ธฐ (WASD+Shift), ์ ํ(Space), ๋๋ธ์ ํ(Space), ๊ตฌ๋ฅด๊ธฐ(WASD+ Ctrl)
- ์นด๋ฉ๋ผ: ๋ง์ฐ์ค ์ ๋ ฅ์ ๋ฐ๋ฅธ ํ๋ ์ด์ด ์์ผ ํ์ , ์์ ๋ณํ 1์ธ์นญ/3์ธ์นญ(V), 1์ธ์นญ์ผ ๋ ์นด๋ฉ๋ผ์ Culling Mask ์ ์ฉ
- ๊ณต๊ฒฉ ์ ๋ ฅ ํค: 1, 2, 3 ์ ํ ํ ์ผ์ชฝ๋ง์ฐ์ค๋ก ๊ณต๊ฒฉ, ์ค๋ฅธ์ชฝ ๋ง์ฐ์ค๋ฅผ ๊พน ๋๋ฌ์ ์๋ฅํ ๋ฐ์ฌ
- ์ฌ์ฅ์ : R ํค
- ์ค๋ธ์ ํธ ํ๋ง (๋ฉ๋ชจ๋ฆฌ ํ๋ง) : ๊ฒ์ ์ฑ๋ฅ ์ต์ ํ๋ฅผ ์ํด ์ฌ์ฉํ์ต๋๋ค. ํ๋์ ๋ฉ๋ชจ๋ฆฌํ ์ธ์คํด์ค๋ ํ๋์ ์ค๋ธ์ ํธ๋ฅผ ๊ด๋ฆฌํฉ๋๋ค.
- ๋ชฌ์คํฐ ์์ ์์ฑ
- ํํผ ์ค๋ธ์ ํธ ํ๋ฆฌํน
- ์ด๊ธฐ๋ก ๊ณต๊ฒฉ ์, ํํฐํด ํ๋ฆฌํน
- ๋ชฌ์คํฐ ์์ฑ ์ ์์ฑ๋ ์์น์์ ์์ฑ์ ์๊ณ ํฉ๋๋ค.
- ๋ชฌ์คํฐ๋ ์ง์ ๋ ๋งต์์ ์ฅ์ ๋ฌผ์ ํผํด์ ํ์ผ(ํ๋ ์ด์ด) ์ ํฅํด ๊ธธ์ ์ฐพ์์ต๋๋ค. A-Star ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ์ต๋๋ค.
- ๋ชฌ์คํฐ๋ ํ๋ ์ด์ด์์ ๊ฑฐ๋ฆฌ์ ๋ฐ๋ผ์ ๋ฐฐํ, ๊ณต๊ฒฉ์ ํ ์ ์๋๋ก FSM์ ์ ์ฉํ์ต๋๋ค.
- ๋ชฌ์คํฐ์ Collider ์ ๋ถ๋ชํ๋ฉด ํผ๊ฒฉ ์ฒ๋ฆฌ๊ฐ ๋์ด์ ํ๋ ์ด์ด์ ์ฒด๋ ฅ์ด 5์ฉ ๊ฐ์ํฉ๋๋ค. ํ๋ฉด์ด 0.5์ด๋์ Red ์์์ผ๋ก ๋ฐ์ง์ ๋๋ค.
- ์ํธ์์ฉ Eํค
- ๋ฌด๊ธฐ ์์ง (OnTriggerStay & OnTriggerExit)
- ์๋ชจํ ํ์ฝ, ๋์ , ์ฒด๋ ฅ, ์๋ฅํ ์์ง (OnTriggerEnter)
- ๋ฏธ๋๋งต์ ์นด๋ฉ๋ผ์ ํ์ ์ ๋ณด์ ๋ฐ๋ผ ํ์ ์ํต๋๋ค.
- ์๋ํฐ์์ ์ง์ ํ ํ๋ฅ ์ ๊ทผ์ ํ๋๋ก ๋๋ค์ผ๋ก ์๋ชจํ ํ๋ฆฌํน์ Instatitate() ๋ฉ์๋๋ก ์์ฑํฉ๋๋ค.
- ์๋ฅํ์ ์ฌ์ฉํ ๋ ๋ง์ฐ์ค ์ฐํด๋ฆญ์ ์ต๋ 3์ด๋์ ๊พน ๋๋ฅผ ์ ์๊ณ , ์ค๋ ๋๋ฅผ์๋ก ๋ ๋ฉ๋ฆฌ ๋์ ธ์ง๋๋ค.
- ์ด ๊ณต๊ฒฉ ๊ตฌํ : ScreenPointToRay๋ฅผ ํ์ฉํด์ 2๋จ๊ณ์ RayCast๋ฅผ ์งํํฉ๋๋ค.
- ์ด์ ์๋ฉด ์๋์ผ๋ก ํ๋ ์ด์ด๊ฐ ์์ ๋ฐ๋ผ๋ณด๋๋ก ํ์ ์ํค๋๋ก ShotTurn() ๋ฉ์๋๋ฅผ ์์ฑํ์ต๋๋ค.
- 2,3 ํค ๋๋ ์ ๋, ์ด์ ์ด๋ฏธ ์์งํ ๊ฒฝ์ฐ์๋ง ์์ ๋์๋ง ์กฐ์ค UI (AimPanel) ๋ฅผ ํ์ํฉ๋๋ค.