1.ย ํ๋ณผ๋์ฌ๊ฐ์ ๋ฒฝ๋๊นจ๊ธฐ๋ฅ ๊ฒ์ ๋ง๋๋์ค (๋ชจ๋ฐ์ผ ํ๋ซํผ)
2. ๋ฌผ๋ฆฌ์์ง๋งย ํ์ฉํด์ ์ฝ์ด๋ฉ์นด๋ ๊ตฌํ์ค์ธ๋ฐ, ์ถฉ๋์ฒ๋ฆฌ๊ฐ ๋ถ์์ ํจ.
3. ๋ฌผ๋ฆฌ์์ง๋ง ์จ์ย ๋ฒ๊ทธ์๋ ๋ฒฝ๋๊นจ๊ธฐ ์ฑ๊ณตํ ์ฌ๋ ์์ด? ์๋ ๊ฑ ์์ฒด๋ฌผ๋ฆฌ ๊ตฌํํ๋๊ฒ ๋์?
๋ฒฝ๋๋ค์ ๊ทธ๋ฅ Box ์ฝ๋ผ์ด๋, ๋ฐ๋ก ์์ ๋ธ๋ก๋ผ๋ฆฐ ์ฌ์ด์ ๋น ๊ณต๊ฐ์ด ์๋๋ก ๋ฑ๋ถ์ดย ๋ฐฐ์นํจ
ย
ํฌ์ฌ์ฒด(๊ณต)๋ย Sphere ์ฝ๋ผ์ด๋์ ๋ค์๊ณผ ๊ฐ์ ์ธํ
(์งค์ ํฌ์ฌ์ฒดย ํจ์)ย ํฌ์ฌ์ฒด ์๋ ฅ์ย ๋ฐ์ฌํ๋ย ์์ ์๋งย ์๋์ผ๋ก ๋ณ๊ฒฝํจ. ๋๋จธ์ง ์์์ ๋ฌผ๋ฆฌ์์ง๋๋ก ์์ง์
์กฐ์คํ ๋ย ํฌ์ฌ์ฒด ๊ถค์ ๋ฏธ๋ฆฌ ๋ณด์ฌ์ฃผ๋ ๊ธฐ๋ฅ์ ์ด์์ ๋ณด๊ณ ๋ง๋ค์๊ณ , ํน์ฑ์ ์ค์ ๋ฐ์ฌ ๊ถค์ ๊ณผ 100% ์ผ์นํจ.
๋ณด์๋ค์ํผ ๋ฐ์ฌ๊ฐ์ ๋ฐ๋ฅธ ๊ถค์ ์ด ๋งค๋๋ฝ๊ฒ ๋ณํํ์งย ์๊ณ ๋ถ์์ฐ์ค๋ฌ์.ย ์ถฉ๋์ง์ ์ด ๋ฒฝ๋ ์ฌ์ด์ผ์๋ก ๋ฌธ์ ๊ฐ ๋๋๋ฌ์ง.
OnCollisionEnter๋ฅผ ํ์ฉํด์ ํฌ์ฌ์ฒดย ์ถฉ๋๋ง๋ค ์๋ ฅ์ ์ง์ ์ ์ดํด๋ณด๊ธฐ๋ ํ๋๋ฐ ์ด๊ฒ๋ ์ ์๋์.
์ ์ด์ ํฌ์ฌ์ฒด ์ถฉ๋๊ฐ์ง๋ฅผ continuous๋ก ํ์ด๋ ๋ฒฝ๋์ฌ์ด์ ๋ ์ ์๋ค๋ ์ ๋๋ฌธ์ ํด๊ฒฐ์ด ์๋๋ ๊ฒ ๊ฐ์.ย (๋ฒฝ๋์ย static ์ ๋ฌด์ย ๊ด๊ณ์์์)
๋ ์ด์บ์คํธ๋ก ์ถฉ๋์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ๋ ์๊ธด ํ๋๋ฐ, ํฌ์ฌ์ฒด์ ์ถฉ๋์ฒด๋ ๊ฐ๋ฅํ๋ฉด ์ ๋์ ๊ตฌ(์)์์ผ๋ฉด ์ข๊ฒ ์ด...
๋ฌผ๋ฆฌ์์ง ์จ์ ๋ฒฝ๋๊นจ๊ธฐ ๊ตฌํ ์ฑ๊ณตํ ์น๊ตฌ ํน์ ์์ด? ๋ด๊ฐ ๋ญ๊ฐย ๋์น๊ฒ ์๋๊ฑธ๊น? ์๋ ๊ทธ๋ฅ ์ง์ ๋ค ๊ตฌํํ๋ ํธ์..?
rigidbody์ position (z?) freeze ์ํค๊ณ , time ์ค์ ์์ fixed timestep ๋ํดํธ ๊ฐ์์ ๋ฎ์ถฐ๋ณด์ฌ
์์ฐ๋ ์ถ ํ๋ฆฌ์ฆ ํด๋ดค๋๋ฐ ๋ณ ์ฐจ์ด๋ ์์์ด. ๋ชจ๋ฐ์ผ ํ๊ฒฝ ํ๊น์ด๋ผ ์ด๋น ๋ฌผ๋ฆฌ๊ณ์ฐ ํ์๋ ๊ฐ๊ธ์ ๊ทธ๋๋ก ๋๋ ค๊ณ ํด. ๋์ ์ ํฌ์ฌ์ฒด ์๋๋ฅผ ๋ฐ์ผ๋ก ์ค์ฌ์ ํ ์คํธํด๋ดค๋๋ฐ, ์๋ ์ธํ ๋ณด๋ค ๋ ํ์๊ธด ํ์ง๋ง ์ฌ์ ํ ๋ผ์ํ์์ ๊ทธ๋๋ก ์์์ด.
continuous๋ก ํ์๋ ์ค์๋ํ๋ ์์ ๋ณด์ฌ์ค๋ฐ ๊ทธ๋ด์๊ฐ ์๋๋ฐ - dc App
์.. ์ง๊ธ ์์์ด ์ปจํฐ๋ด์ด์ค๋ก ํ๊ฑฐ์ผ. ๋๋ ์์ฌ์ค๋ฌ์์ ๋์คํฌ๋ฆฌํธ๋ก ํด๋ดค๋๋ฐ, ๊ทธ๊ฑด ์์ ๋ฒฝ์ ๋ซ๋๋ผ๊ณ .. ์คํ ์ค๋ฒํ๋ก์์ ๋๊ฐ ๋ฒฝ๋์๋ค๊ฐ๋ ๋ฆฌ์ง๋ฐ๋ ์ค๋ณด๋ผ๊ณ ํด์ ๋ฐ๋ผํด๋ดค๋๋ฐ, ๊ทธ๊ฑธ๋ก๋ ํด๊ฒฐ์ ์๋์ด.
๊ทธ๋ผ ์ผ๋จ fixed time step์ ์๊ฒ ํด๋ณด์ - dc App
์... ๋ฐฉ๊ธ ๊ทน๋จ์ ์ผ๋ก 0.02์์ 0.001๋ก ํด๋ดค๋๋ ์ข๋ ์์ ์ ์ด๊ธด ํ์ง๋ง, ์ฌ์ ํ ๋ผ์ ๋ฌธ์ ๊ฐ ์์์ด. ํฌ์ฌ์ฒด ์๋๋ฅผ ๋ฎ์ท์๋๋ ๋์ผํ๋ค
๋ฉ๋์ด ์๊ฐ๊ธด ํ๋๋ฐ ๊ทธ๋ผ ๊ทธ๋ฅ raycast๋ก ์ถฉ๋์ ์ฐพ๊ณ vector3.reflect๋ก ๋งค๋ด์ผํ๊ฒ ํ๋์ ๋ฐ์ ์๋๋ฏ - dc App
๋ ์ด์บ์คํธ์ ๊ตฌ ์ถฉ๋๊ณ์ฐ์ด ์๋๊ฐ?
๋ฒฝ๋๊ฒฉํ ๊ฒ์์ ๋ฌผ๋ฆฌ์์ง์ผ๋ก๋ ๋ชป ๋ง๋ฌ ์์ ๋ฌผ๋ฆฌ์์ง ์น ๋นผ๊ณ ์ง์ ์ ์ฌ๊ฐ์ ๋ฐ๋ฅธ ๋ฐ์ฌ๊ฐ์ ๊ณ์ฐํด์ ๋ ๋ ค๋ณด๋ด์ผ์ง ๊ทธ๋ฅ์ ์๋จ ๊ทธ๋ฆฌ๊ณ ํ๋ ์ด์ด๊ฐ ์์ง์ด๋ ๋ง๋๋ฐ๋ ์ฝ๊ฐ ๋ฐ์ฌ ๊ท์น์ ๋ง๋ค์ด ์ค์ผ ํจ
์จ์ฝ๋ฆฌ์ ผ์ํฐ ํจ์์์ Vector.Reflect๊ฐ์ง๊ณ ๋ฐ์ฌ ์๋ ฅ ์ ์ดํด์ฃผ๊ณ ๊ทธ๋๋ดค๋๋ฐ, ๋ฌผ๋ฆฌ์์ง ์ถฉ๋์ฒ๋ฆฌ๊ฐ ์ ๊ตํ์ง ๋ชปํด์ ํฌ์ฌ์ฒด๊ฐ ๋ฒฝ์ ๋ผ๋ ์ ์๋๋๊ฒ๊ฐ์์ด. ํ๋ณผ๋์ฌ์์ผ๋ก ๋ง๋ค๊ฑฐ๋ผ Paddle(๋ง๋๋ฐ)์ ์๋ง ์๋ฃ์๊ฑฐ๊ฐ์ ์ญ์ ๊ธฐ๋ณธ ๋ฌผ๋ฆฌ์์ง์ผ๋ก ์ข ์ด๋ ต๊ฒ ์ง? ๋ค๋ฅธ ๋ฐฉ๋ฒ์ผ๋ก๋ ์๋๋ฉด ์ฒด๋ ํ๊ณ ์ง์ ๊ตฌํํด์ผ๊ฒ ๋ค;
๊ทธ๊ฒ ๋ฒฝ๋๊ฒฉํ ๊ฒ์์ ๊ณต์ ๋จ์ํ ์ ์ผ๋ก ๊ณ์ฐํด์ ๋ฒฝ์ ๋ถ๋ช์น๋ ํฌ์ธํธ๊ฐ ์ ํํ๋ฐ ์คํผ์ด๋ ๋ฒฝ์ ๋ฟ๋ ์ง์ ์ด ๊ณต์ ์ค์ฌ์ด ์๋๋ผ ๋ฉด์ด์์ ๊ทธ๋์ ์์นด๋ ธ์ด๋ ๋๋์ผ๋ก ๊น๋ํ๊ฒ ๋ฐ์ฌ๊ฐ ์๋์ ๊ณ์ฐ์ ๋ฐ๋ก ํด์ค์ผ ํ๋๋ผ ์คํผ์ด๋ฅผ ๊ทธ๋๋ก ์ถฉ๋์ฒดํฌํ๋ฉด ๋์์ ๋๊ฐ ์ด์์ ๋ธ๋ญ์ ๋ฟ๊ธฐ๋ ํด์ ํ๊ธฐ๋ ๊ฒ ์ด์ํด์ง
์.. ์บก์์ด๋ ๋ฐ์ค๋ ๊ตฌ๊ฐ์ ๊ธฐ๋ณธ ๋ณผ๋ก ์ถฉ๋์ฒด๋ ๊ฐ๊ฐ ๋ณ๋์ ๊ณต์์ผ๋ก ๊ณ์ฐํ๋ ๋์ ๋ฉ์ ์ฝ๋ผ์ด๋๋ณด๋ค ๊ฐ๋ณ๊ณ , continuous ์ต์ ๋ ์ด๊ฒ๋ค์๋ง ์ง์ํ๋๊ฑธ๋ก ์๊ณ ์์๋๋ฐ, ๊ทธ๋์ ์๋ค๋ผ๋ฆฌ๋ ๊ธฐํํ์ ์ผ๋ก ์ ํํ๊ฒ ๊ณ์ฐํด์ค ์ค ์์๋๋ฐ, ๊ฑฐ๊ธฐ๊น์ง ์๋๊ฐ๋ค.. ์คํผ์ด์บ์คํธ๋ถํฐ ๋จผ์ ์จ๋ด์ผ๊ฒ ๋ค ๊ฒฝํ๋ด ใณใณ
https://docs.unity3d.com/ScriptReference/Physics.SphereCast.html
3D์ชฝ์ ์ ๋ชจ๋ฅด๋๋ฐ ์ด๊ฑธ๋ก ์๋จ?
์ค...;;; ์คํผ์ด์บ์คํธ๋ ์ ์์จ์ ์๋๊ฑธ ์์ ๊น๋จน๊ณ ์์์ด... ์ด๊ฑธ๋ก ํ๋ฒ ์๋ํด๋ด์ผ๊ฒ ๋ค ์๋ ค์ค์ ๊ณ ๋ง์!
์์ ์ ๋ฐ์ด์ค๋ณผ ๋ผ๋๊ฑฐ๋ ๊ทธ๋ ๊ณ ์ฌ์ด๊ฒ์์ด ใ ใน๋ง๋ค
์์นด๋ ธ์ด๋๋ถํฐ ๋ฐ์ด์ค๋ณผ๊น์ง ๋ด์๋ ์ธ๋๋ผ์ ๋ฌผ๋ฆฌ์์ง์ ์์จ์ผ ์์ฐ์ค๋ฌ์ใ ใ