๐ช ์ค๋ ฅ๊ณผ ํฌ๋ฌผ์ ์ด๋ – ์บ๋ฆญํฐ ์ ํ์ ํฌ์ฌ์ฒด ๊ตฌํํ๊ธฐ
๊ฒ์์์ ์บ๋ฆญํฐ๊ฐ ์ ํํ๊ฑฐ๋, ์ด์·ํ์ด ๊ฐ์ ํฌ์ฌ์ฒด๊ฐ ๋ ์๊ฐ๋ ๋ชจ์ต์ ๋ณด๋ฉด ์์ฐ์ค๋ฝ๊ฒ ๋ณด์ด์ง๋ง, ์ค์ ๋ก๋ ๋ฌผ๋ฆฌ ๊ณต์๊ณผ ๋ฒกํฐ ์ฐ์ฐ์ด ์ ์ฉ๋์ด ์๋ค.
์ด๋ฒ ๊ธ์์๋ ์ค๋ ฅ, ํฌ๋ฌผ์ ์ด๋ ๊ณต์์ ๊ฒ์์ ์ ์ฉํ๋ ๋ฐฉ๋ฒ์ Unity ์ฝ๋์ ํจ๊ป ์์๋ณด์.
1. ์ค๋ ฅ(Gravity) ์ดํดํ๊ธฐ
-
์ค๋ ฅ์ ์บ๋ฆญํฐ๋ฅผ ๋ ์ผ๋ก ๋์ด๋น๊ธฐ๋ ํ
-
Unity์์๋ Rigidbody๋ฅผ ์ฌ์ฉํ๋ฉด ๊ธฐ๋ณธ์ ์ผ๋ก ์ค๋ ฅ์ด ์ ์ฉ๋จ
-
์ํ ๊ณต์:
-
y(t): ์๊ฐ t์์์ ๋์ด
-
y₀: ์ด๊ธฐ ๋์ด, v₀: ์ด๊ธฐ ์๋, g: ์ค๋ ฅ ๊ฐ์๋
Unity ์ฝ๋ ์์
→ Rigidbody๊ฐ ์ค๋ ฅ์ ์ ์ฉํ๋ฉฐ ์์ฐ์ค๋ฝ๊ฒ ์ ํ
2. ํฌ๋ฌผ์ ์ด๋(Projectile Motion)
-
ํฌ์ฌ์ฒด๊ฐ ๋ ์๊ฐ๋ ๊ฒฝ๋ก๋ ํฌ๋ฌผ์
-
์ํ ์๋์ ์์ง ์๋๋ฅผ ๋๋ ๊ณ์ฐ
-
x(t): ์ํ ์์น, vโ: ์ํ ์๋
-
y(t): ์์ง ์์น, vแตง: ์ด๊ธฐ ์์ง ์๋
Unity ์ฝ๋ ์์
→ ์ค๋ ฅ๊ณผ ์ด๊ธฐ ์๋๋ฅผ ๊ณ ๋ คํด ์์ฐ์ค๋ฌ์ด ํฌ๋ฌผ์ ์ด๋
3. ์ ํ ๊ตฌํ ์ ์ฃผ์
-
FixedUpdate์์ Rigidbody์ ํ์ ์ ์ฉ → ์ผ์ ํ ๋ฌผ๋ฆฌ ๊ณ์ฐ
-
Update์์ ํค ์ ๋ ฅ ์ฒ๋ฆฌ → ๋ฐ์ ์๋ ํฅ์
-
์ค๋ ฅ๊ณผ ์ด๊ธฐ ์๋๋ฅผ ์ ์ ํ ์กฐ์ → ์ ํ ๋์ด/๊ฑฐ๋ฆฌ ์กฐ์ ๊ฐ๋ฅ
4. ์ค์ต ์์
-
์บ๋ฆญํฐ ์ ํ: Space ํค ๋๋ฅด๋ฉด Rigidbody์ ์๋ก ํ ์ ์ฉ
-
ํฌ์ฌ์ฒด ๋ฐ์ฌ: ๋ง์ฐ์ค ํด๋ฆญ ์์น ๋ฐฉํฅ์ผ๋ก ์๋ ๋ฒกํฐ ์ ์ฉ
-
ํฌ๋ฌผ์ ๊ฒฝ๋ก ์๊ฐํ: LineRenderer๋ฅผ ์ฌ์ฉํ๋ฉด ๊ฒฝ๋ก ํ์ ๊ฐ๋ฅ
5. ๋ง๋ฌด๋ฆฌ
์ค๋ ฅ๊ณผ ํฌ๋ฌผ์ ์ด๋์ ๊ฒ์ ๋ฌผ๋ฆฌ์ ํต์ฌ์ด๋ค.
-
์ ํ, ํฌ์ฌ์ฒด, ์บ๋ฆญํฐ ๋ํ, ์ ํ ๊ณ์ฐ → ๋ชจ๋ ๋ฌผ๋ฆฌ ๊ธฐ๋ฐ
-
๋ค์ ๊ธ์์๋ ์ํ ๋จธ์ (State Machine)์ผ๋ก ์ AI ํ๋ ๊ตฌํ์ ๋ค๋ค, ์์ง์ + ์์ฌ ๊ฒฐ์ ๊น์ง ๊ฒ์ ๋์์ ํ์ฅํด๋ณด๊ฒ ๋ค.
๋๊ธ
๋๊ธ ์ฐ๊ธฐ