์๋ ๋๋ฆด๋ ๊ด์ฐฎ์๋ฐ
์๋๊ฐ ๋ถ์์๋ ๊ฝค ๋์ ๋น๋๋ก ๋ฒฝ์ ๋ซ์
collision detection์ continous๋ก ๋ฐ๊พธ๊ณ
interpolate๋ฅผ extrapolate๋ก ๋ฐ๊ฟ๋๋ ์ด๋ผ
ํด๊ฒฐ๋ฐฉ๋ฒ์ข ๋ถํํจ
์๋ ๋๋ฆด๋ ๊ด์ฐฎ์๋ฐ
์๋๊ฐ ๋ถ์์๋ ๊ฝค ๋์ ๋น๋๋ก ๋ฒฝ์ ๋ซ์
collision detection์ continous๋ก ๋ฐ๊พธ๊ณ
interpolate๋ฅผ extrapolate๋ก ๋ฐ๊ฟ๋๋ ์ด๋ผ
ํด๊ฒฐ๋ฐฉ๋ฒ์ข ๋ถํํจ
์ฐธ๊ณ ๋ก transform ์์ผ์
๊ตฌ๋ผ๋ฉ์ผ์ฃ - dc App
velocity์
์๋ ฅ์ด ๋๋ฌด๋์์ ๋ซ๋ฆฐ๊ฑฐ
์๋ ฅ ๋์๋ ์๋ซ๋ฆฌ๋ ๋ฒ ์์?
์ ๋ํฐ ๋ฌผ๋ฆฌ์ ๋์๊ฐ ์ค์ฌ์ฃผ๋ฉด๋๊ฒ์ง
๊ทธ ์๋ ๋น ๋ฅธ๊ฒ, ํ๋ ์ด์ด ์กฐ์ข ๊ฐ์ฒด. ์ฌ๋ฌ๊ธฐ๊ฐ ์๋๋ผ๋ฉด raycast ๊ฐ ๋ ์ธ๊ฒ ๋จนํ. ์๋๋งํผ raycast ํด์ ์์ ์ถฉ๋์ฒด ์์ผ๋ฉด ์ถฉ๋ ์ง์ ์์ ๋ฉ์ถฐ์.
๋ฌผ๋ฆฌ์ ๋์๊ฐ์ ์ค์ฌ์ค๋ ํ๋ ์์น์ ์ํด ๋จ ํ ํ๋ ์์ ์ฝ๋ผ์ด๋๊ฐ ์ถฉ๋ ์ฝ๋ผ์ด๋์ ๋ซ์ง ์๊ณ ํต๊ณผํ๋ ๊ฒฝ์ฐ, ๋ซ๊ณ ์ง๋๊ฐ๋๊ฑด ๋์ผํ. ๊ทธ๋์ raycast ๋ฅผ ์ด๋ ๋ฐฉํฅ์ผ๋ก ์ด์ฃผ๋๋ฐ, ์๋ฒฝํ๊ฒ ์ฒดํฌํ๋ ๋ฐฉ๋ฒ์ด ๋ค๋ก ์ด์ฃผ๋๊ฑฐ์. ์ด๋ฌ๋ฉด ํ ํ๋ ์์ 100m ์ด๋ํด์ ๊ดํตํ ๊ฒฝ์ฐ์๋ ์ถฉ๋ ์ง์ ์ ์ฐพ์์ ์ด๋ ์์น๋ฅผ ๋ณด์ ํ ์ ์์.
์ด๋ ต๋ค... ๋ฐฉ๋ฒ์ฐพ์์ ํ๋ฒ ํด๋ณด๊ฒ ์
ํ๋ ์์น์ ์ํ ๋ฌธ์ ๋ ๋ ๋ฆผ์ผ๋ก ๋ง๋ค๋ฉด ๊พ ๋ง์ ํธ์ธ๋ฐ, ์๋ฅผ ๋ค๋ฉด ... ์น๋ฆฌ์์ฌ์ ๋์ผ๋ ํ๋ ์์ด ๋จ์ด์ง๋ฉด ๋จธ์ ๊ฑด์ ๋ ์บ๋ฆญ์ ๊ณต๊ฒฉ๋ ฅ์ด ์ค์ด๋๋ ๋ฌธ์ ๊ฐ ์์. ๊ณต๊ฒฉ ์๋๊ฐ ํํ๋ ์๋ณด๋ค ์์ ๊ฒฝ์ฐ, ํํ๋ ์์ ๊ณต๊ฒฉ ํ์ ๋ณด์ ํด์ค์ผํ๋๋ฐ ์ด๊ฑธ ์ํด์ค๊ฑฐ์. 0.1์ด๋ง๋ค ๋๋ฆฌ๊ณ ํํ๋ ์์ด 0.2์ด๊ฐ ๊ฑธ๋ ธ์ผ๋ฉด 2๋๋ฅผ ๋๋ ค์ผํ๋๋ฐ, ๊ทธ๊ฑธ ๊ทธ๋ฅ 0.1 ๊ณต๊ฒฉ ์๋๋ก ๋ฃ์ผ๋ฉด ๋ฒ๋ฒ ์ผ๋, (ํ๋ ์์ด ๋ฎ์์ง๋) DPS ๊ฐ ๋จ์ด์ง๊ฒ ๋จ. ์ฃผ๋ก ๊ฐ๋ฐ ๊ฒฝ๋ ฅ์ด ์ผ๋ง ์๋ ํ๋จธ๊ฐ ๊ฒ์์ ๋ง๋ค๊ฑฐ๋ ๋ฌด์ง์ฑ์ผ๋ก ์ ๋๋ฉ์ด์ ์ด๋ฒคํธ๋ฅผ ์ฌ์ฉํ๋ค๋๊ฐ ํ๋ฉด ์ฝ๊ฒ ๋ณผ์ ์๋ ๋ฌธ์ .
์ฝ๊ฒ ๋งํ๋ฉด ๊ทธ๋ฅ. ์ด์ ํ๋ ์ ์์น๋. ์ด๋ ํ ์์น ์ฌ์ด์ raycast ๋ฅผ ํด์ ์ฝ๋ผ์ด๋๊ฐ ์๋์ง ๊ฒ์ฌํ๋๊ฑฐ์. ์ด์ ์์น์์ ์ด๋๋ ์์น๋ก ์ด์, hit ์ง์ ์ด ์์ผ๋ฉด ๊ฑฐ๊ธฐ์ ๋งํ์ผ๋๋๊น. ์ด๋ ์์น๋ฅผ raycast ๊ฐ hit ๋ ์์น๋ก ๋ณ๊ฒฝ. ์ ์ ๋ฐฉ์ผ๋ก ์๋ฉด ์๋๋๋ฉด. lastframe ์ผ๋ก ํ๋ฉด ๊ทธ๊ฑด ๊ทธ ์ ํ๋ ์ ์๋์ง. ๋ค์ ํ๋ ์์ด ์ผ๋ง๋ ๋๋ฆด์ง ๋ชฐ๋ผ์ ๋ซ๊ณ ๋๊ฐ ๊ฐ๋ฅ์ฑ์ด ์๊ธฐ ๋๋ฌธ์. (๋ญ ๊ทธ๋๋ ๋๋ถ๋ถ ํด๊ฒฐ๋๊ธด ํจ) ๊ทธ๋ฌ๋ ์๋ฒฝํ๊ฒ ๋ง์๋ ค๋ฉด ์ด๋ ํ, ์ด์ ์์น์์ ํ์ฌ ์์น๋ก ์ด์ผ ์ ํํจ.
์ฝ๋ฃจํด์ด๋ ๋ฃจํ๋ฌธ ๋๋ฆด๋, WaitForEndOfFrame ๊ฐ ์ ์ฅํด๋๊ณ ํ๋ ๊ฒฝ์ฐ ๋ง์ง? ์ ๋ ๋น์ทํจ. ๋ง์ง๋ง ํ๋ ์ ์๋๋ฅผ ์ ์ฅํ๊ณ ๋๋ฆฌ๋๊ฑฐ๊ธฐ ๋๋ฌธ์. ํ๋ ์๋๋์ด ๋ฐ์ํ๋ฉด ํด๋น ๊ฐ์ ์ฌ์ฉํ ๊ฒฝ์ฐ, ๊ทธ๊ฑธ๋ก ์ธํด ์ด๋ฐ์ ๋ฐ ๋ฌธ์ ์ ์ด ๋ฐ์ํ๊ฒ ๋จ. ์ต์ ํ๋ฅผ ์ํด ํ๋ ์ ์๋๋ฅผ ์ ์ฅํด๋๊ณ ์ฝ๋ฃจํด์ ๋๋ฆฌ๊ธดํ์ง๋ง, ๊ทธ๋๋ ๋ ๋๊ฐ ์๊ณ , ์๋ ๋(์ ๊ฑธ ๋๋ฆฌ๋ ์์ ์์ ํ๋ ์ ๋๋ ํ๋ฅ ์ด ๋์ ๊ฒฝ์ฐ)๊ฐ ์์ง. ~ ๋ ์ ์ฅํด๋๊ณ ์จ์ผ ํผํฌ๋จผ์ค๊ฐ ์ข๋ค. ๋ญ๋ค ํ๋๊ฑด ๋ค. ์ํฉ์ ๋ฐ๋ผ ๋ค๋ฅธ๊ฑฐ๊ณ . ์ปดํผ๋ ๋ค๋๋ 5๋ ์ฐจ 10๋ ์ฐจ ํ๋จธ๋ค๋ ๊ฐํน ์ค์ํ๋ ๊ฒ๋ค์.
๋ ์ด์บ์คํธ ์จ์ ํ 90% ํด๊ฒฐํ๋ค ๊ณ ๋ง๋ค
์ค ํด๊ฒฐํ๋ฏ? ใณใณ
๋ญ๋ง๋๋๋ฐ? ์ด์์ด๋ฉด ์๋๋ง๋๋ก raycast ์ฐ์
ํ๋ซํฌ๋จธ
๊ฐ์ธ์ ์ผ๋ก ํ ์คํธํด๋ดค์๋ ์ ์์ ์ผ๋ก continuous๋ ๋ฆฟ์ง๋๋ฐ๋ ์ฝ๋ผ์ด๋ ์ธํ ํ์ ๋ ์๋๊ฐ ๋งค์ฐ ๋นจ๋ผ๋ ๋ซ๋ ๊ฒฝ์ฐ๊ฐ ์์์
์ ๋ํฐ ๋ฌผ๋ฆฌ ๊ฐ ์ฝ ์ฐ๋ ๊ธฐ์ ใ ๋ฒฝ์ ๋๊ป๊ฒ ํ๊ฑฐ๋
์ ๋ํฐ๊ฐ ์ ค ์ ๋ช ํด์ ์ ๋ฌธํ๋๋ฐ ์ด ์๋ฐ ์ค์ผ ์ข๋ฒ๊ทธ๊ฐ๋ง๋ ธ
์ธ๋ฆฌ์ผ๋ ๋๊ฐ์. ํ๋ ์์น์ ๋ญ ... ์ด๊ฒ ์์์ ์ผ์ผ์ด ์ ๋ฐ๊ฑธ ๊ณ์ฐํ๊ธฐ์ ํผํฌ๋จผ์ค ๋ฌธ์ ๊ฐ ์์ด์ ๋๋ถ๋ถ ๋ฌผ๋ฆฌ์์ง ์์ฒด์์ ์ฒ๋ฆฌํ์ง ์์
2015๋ ์ ์ ๋ํฐ 5.x ์ธ ๋์๋ ๊ทธ๋์ ๋ฌผ๋ฆฌ์์ง ์๋ก ๋ง๋ค์ด ์ผ์. ์์ง๋ ํด๊ฒฐ ์ ๋์์ ๊ฒ ๊ฐ๊ธด ํ๋๋ฐ.