๋ ์ด์ ํธ๋ฉ ๊ตฌํ
1) ํํฐํด ์์คํ ์ ์ฝ๋ผ์ด๋๋ฅผ ๋ฌ์์ ์บ๋ฆญํฐ์ ์ถฉ๋ ์ด๋ฒคํธ๋ ๊ตฌํํ์ง๋ง ํํฐํด ์์คํ ์ ์ฝ๋ผ์ด๋๊ฐ ํธ๋ฆฌ๊ฑฐ๋ผ ๋ชจ๋ ์ค๋ธ์ ํธ๋ฅผ ๋ซ๊ณ ์ง๋๊ฐ. ๊ฒ์์์ ํํ ๋ดค๋ ๋ ์ด์ ๋ฅผ ๊ตฌํํ๊ณ ์ถ์๊ธฐ์ ์คํจ(์๋ง ๋ฐฉ๋ฒ์ด ์๊ธด ํ ํ ๋ฐ ์ ๋ํฐ ์์ํ์ง ์ผ๋ง ์๋ผ์ ์ ๋ชจ๋ฅด๊ธฐ ๋๋ฌธ์ ํจ์ค)
2) ๊ตฌ๊ธ๋งํด์ ๋ผ์ธ ๋ ๋๋ฌ์ ๋ ์ด์บ์คํธ๋ฅผ ํตํด ๋ ์ด์ ์ฒ๋ผ ๊ตฌํํ๋ ๋ฐฉ๋ฒ์ ์ฐพ์. ๋ผ์ธ ๋ ๋๋ฌ์ ๋จธํฐ๋ฆฌ์ผ์ ๋ฌ๊ณ FixedUpdate ์์์ ๋ ์ด๋ฅผ ์ด์ ์ฝ๋ผ์ด๋๊ฐ ์กด์ฌํ๋ฉด ํด๋น ์์น๋ฅผ ๋ผ์ธ ๋ ๋๋ฌ์ ๋(1)์ผ๋ก ์ค์ .
์จ์คํ ์ค์์น ๊ตฌํ
์ผ์ ๋ฒ์ ๋ด์ ์บ๋ฆญํฐ๊ฐ ๊ฐ์ง๋๋ฉด "Press 'E' Button"๋ผ๋ ํ
์คํธ ๋ฉ์๋ฅผ ๋ณด์ฌ์ฃผ๊ณ Eํค๋ฅผ ๋๋ฅด๋ฉด ํ๊ฒ ์ค๋ธ์ ํธ๊ฐ SetActive(false) ๋๋ฉด์ ๋ฐฉํด์์ด ์งํํ ์ ์๊ฒ ํด์ค๋ค.
์ด๊ฑด ๋ด ์๊ฐ๋ณด๋ค ๋๋ฌด ๊ฐ๋จํ์. Sphere ์ฝ๋ผ์ด๋๋ฅผ ์ข ํฌ๊ฒ ํด์ฃผ๊ณ Tag๊ฐ Player์ธ ์ค๋ธ์ ํธ๊ฐ Enter, Exit๋๋ฉด isPlayerEnter๋ผ๋ boolean ๊ฐ์ ์กฐ์ ํด์ฃผ๋ฉด์ Update๋ฌธ์์ ์กฐ๊ฑด์ ๋ฐ๋ผ ์ฝ๋๋ฅผ ์์ฑํด์ฃผ๋๊น ํ๋ฒ์ ๋์
์์ง์ด๋ ๋ถ๋ฅ ๊ตฌํ
์ํผ๋ง๋ฆฌ์ค ์ฟ ํ ๋งต์ด์๋ ์ฉ์์์ ํ์ด๋์ค๋ฉด์ ์์๋๋ก ์์ง์ด๋ ๋ถ๋ฅ
1) ์ฝ๋ฃจํด์ ๋ฌดํ๋ฐ๋ณตํด์ฃผ๋ฉด์ 3์ด๋ง๋ค addForce ํด์ฃผ๋ฉด ์๋ก ํ ํ์ด์ฌ๋๋ค๊ฐ ์ค๋ ฅ์ผ๋ก ์ธํด ๋จ์ด์ง์ค ์์๋๋ฐ ๋ญ๊ฐ ์ข ์ด์ํ๊ฒ ์์ง์. ์์์ ๋ฉ์ถฐ์๋ค๊ฐ ๋จ์ด์ง ๋๋ ์๊ณ ๋จ์ด์ง๋ ๋์ค์ ๋ค์ ํ ๋๋ ์๊ณ ์ ๋จ์ด์ง๊ณ ๋ ํ์ด์ค๋ฅผ ๋๋ ์์์. ์์ธ์ ์ ๋ชจ๋ฅด๊ฒ ์.
2) ์ฝ๋ฃจํด์์๋ boolean๊ฐ๋ง duration๋ง๋ค ์กฐ์ ํด์ฃผ๊ณ FixedUpdate๋ฌธ์์ ํด๋น boolean๊ฐ์ด true์ผ ๋ ์๋ก AddForce ํด์คฌ๋๋ฐ ๋ญ๊ฐ ์์๋๋ก ์์ง์ด๊ธด ํ๋๋ฐ ์ฃผ๊ธฐ๋ ์ผ์ ํ์ง ์์๊ณ ๊ฑฐ๋ฆฌ๋ ์ผ์ ํ์ง ์์์.
3) ๊ตฌ๊ธ๋ง ํ๋ค๋ณด๋ Physics Material์ ๋ฐ๊ฒฌํด์ Bouncess๋ฅผ 1, bounce combine์ maximum์ผ๋ก ํด์ค์ ํฑํฑ๋ณผ๋ง๋ฅ ์์๋๋ก ํ๊ฒ ํด์ฃผ๋ฉด ๋ด๊ฐ ์๊ฐํ๋ ๊ฒ๊ณผ ๋น์ทํ๊ฒ ๊ตฌํํ ์ ์์ ๊ฒ ๊ฐ์์. ๊ฒฐ๊ณผ๋ ์ ํ๊ธด ํ๋๋ฐ ํ ๋๋ง๋ค ์ ์ ๋ ๋์ด ์ฌ๋ผ๊ฐ. ์ด์ ๋ ๋ชจ๋ฅด๊ฒ ์.
4) ๊ฒฐ๊ตญ ๋ฆฌ์ง๋๋ฐ๋ ์์ ๊ณ ๊ทธ๋ฅ FixedUpdate ๋ฌธ์์ sqrMagnitude๋ก ํ๊ฒ ๋ฒกํฐ์ ํ์ฌ ๋ฒกํฐ์ ๊ฑฐ๋ฆฌ๋ฅผ ๊ณ์ฐํด์ฃผ๋ฉด์ ํ๊ฒ ๋ฒกํฐ๋ฅผ ์์๋๋ก ์ฎ๊ฒจ์ฃผ๋ฉด์ transform.position = Vector3.Lerpํด์คฌ์. ๋ฌผ๋ฆฌ ํจ๊ณผ๋ก ๊ตฌํํ ์ ์์ ๊ฒ ๊ฐ์๋๋ฐ ์๋ผ์ ๋๋ฌด ์์ฌ์.
๋ถ๋ช
์๊ฐ์ ๋ง์ด ์์๋๋ฐ ์งํ ์๋๊ฐ ๋๋ฌด ๋๋ฆฐ ๊ฒ ๊ฐ์. ๊ฒ์ ๋ก์ง์ ๋ํด ์ข ๋ ๊ณต๋ถํ ํ์๊ฐ ์๋ค๊ณ ๋๋.
๋๊ธ 0