์๋
ํ์ธ์.
์์นญ ์ญ๋์์ธ์ธ Project BS์ ๋๋ค.
์ด๋ฒ์๋ ๊ฐ์ด ๊ฐ๋ฐ์ผ์ง๋ก ์บ๋ฆญํฐ/์ ๋ผ๋ฆฌ ์๋ก ์ฌ๋ผํ์ง๋ ๋ฌธ์ ๋ฅผ ๊ฐ์ ํ ๊ณผ์ ์ ์ฌ๋ ค๋ด ๋๋ค.
์ธ์ ๊ฐ ์ฌ๋ ค์ผ์ง ํ๊ณ ์์๋๋ฐ, ๋ง์นจ ์ฌ๊ธฐ์๋ ๊ด๋ จ ์ง๋ฌธ์ด ์๊ธธ๋ ๋น ๋ฅด๊ฒ ํ๋ฒ ์ ๋ฆฌํด๋ณผ๊ฒ์.
*์ด ๋ฐฉ๋ฒ์ 2D/3D ๊ตฌ๋ถ์์ด ์ ์ฉ์ด ๊ฐ๋ฅํฉ๋๋ค.
(์ ๊ทธ๋ฆฌ๊ณ ํน์ ์์ดํฐ์ ์ฐ์๋ฉด์ ๋ฐ์ ์์ ๋๋ฆฌ๊ฒ ์ฌ์๋๋ฉด ํญํด์ ํ๋ํด ๋ณด์๋ฉด ์๋์ต๋๋ค.)
๋ณดํต ๊ฒ์์์ ์บ๋ฆญํฐ์ ์ฌ๋ผํ๋ ค๊ณ ์๋ํ๊ฑฐ๋ ํ๋ฉด,
์ข ์ข ์์ ๊ฐ์ด ๋ฏธ๋๋ฌ์ง๋ ์ฒ๋ฆฌ๊ฐ ๋ผ์๋๊ฑธ ๋ณด์ จ์ํ ๋ฐ์.
ํ์ง๋ง ์ ๋ํฐ์์ ๊ธฐ๋ณธ ์ ๊ณตํ๋ Character Controller๋ง์ ์ฌ์ฉํ๋ฉด
์ด๋ฐ์์ผ๋ก ์ฌ๋ผํ์ง๋ ์ด์ํ ์ํฉ์ด ์ฐ์ถ๋์ง์.
์ด๋ป๊ฒ๋ ํด๊ฒฐ์ด ํ์ํ์ง๋ง ๋พฐ์กฑํ ์๋ ๋ ์ค๋ฅด์ง ์๋ ์์ค์
์ฐ์ฐํ SNS์ ํตํด ๋ค๋ฅธ ๊ฐ๋ฐ์ ๋ถ์ ๋จ๋น์๋ ๊ฐ์ ํด๊ฒฐ๊ณผ์ ์ ๋ฐ๊ฒฌ!
(์ด๋ฐ ๊ฐ์ฌํ ๋ฐ๊ฐ...)
๋ค๋ฅธ๋ถ๋ค๋ ์ฐธ๊ณ ํ์ค ์ ์๋๋ก ํด๋น ๋ด์ฉ์ ๊ณต์ ํ๊ณ ์ ํฉ๋๋ค.
ํด๊ฒฐ๋ฒ์ ๋งค์ฐ ๊ฐ๋จํด์ ํ์ค ์์ฝํ์๋ฉด,
'์บ๋ฆญํฐ/์ ๊ฐ์ ์ถฉ๋ ์ฒ๋ฆฌ๋ฅผ Off ์ํค๊ณ , ์ง์ ๊ตฌํํ๋ค.'
์! ๋๋ฌด๋๋ ๊ฐ๋จํ๋ค์!
์ฌ๋ฌ๋ถ์ด๋๊น ์ด์ ์ง์ ๊ตฌํํ์ค ์ ์์๊ฑฐ๋ผ ๋ฏฟ์ต๋๋ค.
๊ทธ๋ผ ์ด๋ง!
๋ค.. ์ฅ๋์ด์๊ตฌ์.
ํต์ฌ์ธ ์บ๋ฆญํฐ/์ ์ ๋ํ ์ฒ๋ฆฌ ๋ฐฉ๋ฒ์
'์ฝ๋ผ์ด๋ ๊ฐ์ ๊ฒน์ณ์ง ๋ถ๋ถ ๋งํผ ์๋ก ๋ฐ์ด๋ธ๋ค' ์ ๋๋ค.
Sphere ์์ '๋ถ์ ์ '์ด ๊ฒน์ณ์ง์ง ์๊ธฐ ์ํด ์ด๋์ํฌ ์ต๋จ ๋ฒกํฐ๋ฅผ ๋ํ๋ด๋๋ฐ์.
์ด๋ฅผ ๊ณ์ฐํด๋ด๊ธฐ ์ํ ํจ์ ์ญ์ Unity์์ ์ ๊ณตํ๊ณ ์์ด,
Physics.ComputePenetration ํจ์๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฐ๋ ค๋ ๋ฐฉํฅ๊ณผ ์ ๋๋ฅผ ์ป์ด๋ผ ์ ์์ต๋๋ค.
์ ๊ฐ์ ๊ฒฝ์ฐ๋
0. ์ ๋ํฐ์ Project Settings-Physics ๋์์ ์บ๋ฆญํฐ/์ ์ ์ถฉ๋์ฒ๋ฆฌ Off
1. Physics.OverlapCapsule์ ํตํด ๊ฒน์ณ์๋ ๊ฐ์ฒด๋ค์ ์ฐพ์๋ด๊ณ
2. Physics.ComputePenetration์ผ๋ก ์ป์ด๋ธ ๊ฒฐ๊ณผ์ Lerp๋ฅผ ์ด์ฉ
์ ์ฐจ ๋ฐ๋ ค๋๋ ๋ฐฉ์์ ์ ์ฉํ์ต๋๋ค.
*์ถ๊ฐ๋ก ๋ฐ๋ ค๋๋ ํ์์ y์ถ์ ์ ์ธ์์ผฐ์ต๋๋ค.
(y์ถ ํ์ ์ ์ฉํ๋ฉด, ์ํฉ์ ๋ฐ๋ผ ๋ฌดํ ๊ณต์ค๋ถ์์ด ๋๊ฑฐ๋ ํ๋๋ผ๊ณ ์.)
์ ๋ฐฉ๋ฒ์ ์ ๋นํ ๊ฐ๋ง ์ ์ค์ ํด๋
๋ญ๊ฐ ๊ทธ๋ด๋ฏํ๊ฒ ๋์๋๋ ๊ฒ์ ๋ณผ ์ ์์๊ฒ๋๋ค.
์ด๋ฒ ๊ฐ์ ์ ํตํด ์ ๊ฒ์ Project BS์์๋ ์ฌ๋ผํ์ง๋๊ฑธ ๋ฐฉ์งํ ๋ฟ๋ง ์๋๋ผ,
์บ๋ฆญํฐ/์ ์ด ํผ์กํ๊ฒ ๋ค์ํค๋ ์ํฉ์์๋ ์์ฐ์ค๋ฌ์ด ๋ชจ์ต์ด ๋์์ต๋๋ค.
๋ค๋ง,
๋ฌด๊ฒ๊ณ ๊ฑฐ๋ํ ์ ์ ๋ํด ์ฒ๋ฆฌํ๊ณ ์ถ๋ค๋์ง,
์ฃผ์ธ๊ณต์ด ๋ค์์ ์ ์๊ฒ ๋ง๊ตฌ ๋ฐ์ณ์ ธ ๋ฒ๋ฆฐ๋ค๋์ง,
๋ฑ์ ์์น์๋ ์ํฉ์ ํผํ๋ ค๋ฉด,
์ด๋์ ๋ ์ถ๊ฐ๋ก ํ๋์ ํด์ผํ๋ ์ํฉ์ด ์ค๊ฒ ๋๋๋ฐ์.
์ ๊ฐ์ ๊ฒฝ์ฐ๋ฅผ ์๋ก ๋ค๋ฉด ๋ฐ๋ก ์ง๋๊ฐ์ ๋์ด,
์ฃผ์ธ๊ณต๊ณผย ์ํ๋ชฌ์คํฐ๋ฅผ ๊ฐ๊ฐย ์ง๋ 2:1 ๋น์จ๋กย ํด,
์ฃผ์ธ๊ณต์ด ์ ์ ์์ด ๋ฐ๋ ค๋๋ ์ํฉ์ ์ค์๊ณ ,
๊ฑฐ๋๋ณด์ค ๋ฑ์ย ๊ฒฝ์ฐ๋ย ์ง๋์ ๋งค์ฐ ๋๊ฒ(1000) ํด์ ์ฃผ์ธ๊ณต์๊ฒ ์ ํ ๋ฐ๋ฆฌ์ง ์๋ ๋ฐฉ์์ ์ ์ฉํ์ต๋๋ค.
๊ทธ๋ฐ์๋ ๋์ง๊ณต๊ฒฉ์ ํ๋ ์ ์ด๋ผ๋์ง ์์ ๊ฒฝ์ฐ ์ธ์ธํ ์ฒ๋ฆฌ๋ ํ์ํ๋๋ฐ์.
๊ธ์ด ์ด ์ด์ ๊ธธ์ด์ง๋ฉด ์ฌ๋ฏธ๋ ์์ ๊ฒ ๊ฐ๊ณ ,
๊ฒ์์ ๋ฐ๋ผ ์ฐจ์ด๋ ํด๊ฑฐ๋ผ ์๊ฐ๋๊ธฐ ๋๋ฌธ์.. ๊ท์ฐฎ์์๋ ์ .๋ ์๋๊ณ ์
๋๋จธ์ง ์ฒ๋ฆฌ๋ ์ฌ๋ฌ๋ถ์ ๊ตฌํ์ ๋งก๊ธฐ๋๋ก ํ๊ฒ ์ต๋๋ค ใ
์ด๋ ๊ฒ ๋๋ด๋ฉด ์ฌ์ฌํ๋๊น ๋ก์๋ฆฌ์ ๋๋๋ ๋ณด๊ณ ๊ฐ์ธ์.
์ด์ ๊ฐ๋ฐ์ผ์ง ์ฌ๋ ธ๋ ์ค์ท๋ณด๋ค ๋ผ์ดํ ๊ฐ์ ๋ ๋ฒ์ ผ ใ
์ ๋ณด๊ณ ์์ต๋๋น ํ์ดํ !
๊ฐ๋ฐ์ฒ์ฌ
ํด๋น ๋๊ธ์ ์ญ์ ๋์์ต๋๋ค.
์์ฐ ์ด๋ฐ ๊ธฐ๋ฅ์ด..! - dc App
2d/3d ์๊ฐ๋ฆฌ๊ณ ์ด๊ฒ ๋๋ฉด ๊ธฐ๋ถ์ด ์ข์์ ธ์. - dc App
์ ๊ฑฐ ๋ง๊ณ ๋ฐ๋ก ์ฐธ๊ณ ํ๊ฑฐ ์๋์?
์ ๊ฑฐ ๋ง๊ณ ๋ ์ต๊ทผ์ 3d ์์ ์์ +๊ฒ์ํจ๋ ์ฌ์ฉ ์ ์นด๋ฉ๋ผ ์์ง์ ๋ณด์กฐ๋ ์ฐธ๊ณ ํ๋๋ฐ์. ๊ด์ฌ๊ฐ์ง ๋ถ์ด ๋ง์ง ์์๊ฑฐ ๊ฐ์ง๋ง ๋์ค์ ๊ธฐํ๋๋ฉด ๊ณต์ ํด๋ณผ๊ฒ์. - dc App
Physics.OverlapCapsule๋ก ์ฝ๋ผ์ด๋ ๋ฐฐ์ด๋ก ํน์ ํ๊ทธ๋ค๋ก ๊ฐ์ ธ์จ๋ค์์ Physics.ComputePenetration๊ฐ์ ๋ฒกํฐ๊ฐ์ผ๋ก ๊ตฌํ๋ค ๊ทธ ๋ฐฉํฅ ๊ฐ์ผ๋ก Lerp๋ก ์ด๋์ํจ๊ฑด๊ฐ
๋น๋ฐ ๋๊ธ์ ๋๋ค
๋น๋ฐ ๋๊ธ์ ๋๋ค - dc App
์คํํฌ๋ํํธ2์ฒ๋ผ "๋ฌด๊ฒ" ์์คํ ๋์ ํด์ ์ด๋์ชฝ์ด ๋ฐ๋ฆฌ๋์ง๋ ์ ํ ์ ์๊ฒ ๋ค ๊ฐ์ฉ๋น
Physics.ComputePenetration(...) ์ด๋ ๊ฒ ๊ตฌํ๋ฉด ์ด๊ฒ bool ๊ฐ์ธ๋ฐ ์ฌ๊ธฐ์ ๊ทธ ๋ฐฉํฅ ๊ฐ์ผ๋ก Lerp ํ๋๊ฑฐ ์์ธํ ์๋ ค์ค ์ ์์ด?
์ค ๊ณ ๋ง์ ์ข์๊ฑฐ ์ฐพ์์ ๋คํ์ด๋ค ์ด๋ฐ ์ผ์ง ์์ฃผ ๋ณผ๊ฒ ์ ์ฉํ๋ค
if (overlapped) { GameManager.instance.playerAction.transform.position = Vector3.Lerp(GameManager.instance.playerAction.transform.position, GameManager.instance.playerAction.transform.position + (direction * distance), 1f); }
๊ทผ๋ฐ ๋ชฌ์คํฐ ์บก์ ์์์ ๋ ์ด ๋์ค๋๋ฐ ์ด๊ฒ๋ง๋??
๊ทผ๋ฐ ๋ถ๋ช์น ๋๋ง๋ค ๋ฐ๋๋๋๊ฑด๋ฐ ํฌ์ง์ ๊ฐ์ ํ๋ฒ๋ง ์คํ๋๋ ํจ์์ ๋ฃ์ด์ผํ๋๊ฑฐ ์๋? ์ด๋ ์กฐ๊ฑด์ ๋ฃ์ด์ผํ ๊น
ํด๊ฒฐํ์ด ๊ณ ๋ง์~
์ ์ตํ๋ค ์ด ๊ธ ์ง์ฐ์ง๋ง์์ค!