์ฐ์ Player, Bullet ๋๊ฐ์ ์ค๋ธ์ ํธ๊ฐ ์๊ณ ์ด ์ค๋ธ์ ํธ ๋ชจ๋ ์์ ๊ด๊ณ์์ด ๊ทธ๋ฅ ๊ฐ๋ณ ์ค๋ธ์ ํธ์
๊ทธ๋ฆฌ๊ณ Bullet์ด ์์ฑ๋์ transform.LootAt์ ํตํด Player์ transform์ ๋๊ฒจ์ค์ Player๋ฅผ ๋ฐ๋ผ๋ณด๊ฒ ํด์คฌ์
๊ทธ๋ฆฌ๊ณ transform.translate(transform.foward) ํด์คฌ๋๋ฐ ๋ด๊ฐ ์๊ฐํ์๋๋ transform.fowrad๋ก ์๊ธฐ์์ ์ ์์ชฝ์ผ๋ก ๋๊ฐ๊ฒํ์ผ๋
์ด์์ด ์บ๋ฆญํฐ ์ชฝ์ ๋ฐ๋ผ๋ณด๋๋ก ๋์์ผ๋ ์ด๋์ชฝ์ผ๋ก ๋ฐ๋ผ๋ณด๋ ์๊ธฐ ์์ชฝ์ด๋ ์ฌ๋๋ก ํ๋ ์ด์ด์ชฝ์ผ๋ก ๋๊ฐ๊ฑฐ๋ผ ์๊ฐํ๋๋ฐ
์๋๋๋ผ.. ๊ทธ๋ฐ๋ฐ ์ด๊ฑธ ๊ทธ๋ฅ rigidbody.velocity๋ก ํ๋๊ฐ ๋๋๋ฐ ์๊ทธ๋ฐ์ง ์๋์ฌ๋ ์๋?
translate๊ฐ ์๊ธฐ ๋ฐฉํฅ์ ๊ธฐ์ค์ผ๋ก ํ๋๊ฑฐ์
translate(Vector3.forward) ํ๋ฉด ์์ผ๋ก ๊ฐ๊บผ์ ์๋๊ธฐ์ค์ผ๋กํ๋ ค๋ฉด Translate(transform.forward, Space.World) ํ๋ฉด๋จ
์ํ ๋๋ Vector3.Forward๊ฐ ์๋ ๊ธฐ์ค์ผ๋ก ์์ด๊ณ transform.forward๊ฐ ์๊ธฐ ๋ฐฉํฅ ์์ธ์ค ์์๋๋ฐ ์๋์ผ?
์ ๋ ํน์ ๋ฐ๋๋ก ๋งํ๊ฑฐ์๋๋? ๋ด๊ฐ ๋ณผ๋๋ transform.forward๊ฐ ์๊ธฐ ๊ธฐ์ค ์ ๋ง๋๋ฐ translate๊ฐ ๋๊ฐ ๋งํ๊ฒ์ฒ๋ผ ์๊ธฐ ๋ฐํฅ์ด ์๋๋ผ ์๋ ๊ธฐ์ค์๋์ผ? ๊ทธ๋์ ์ด๋ ํ๋ ๋ฐฉํฅ์ ์๊ธฐ ๊ธฐ์ค์ผ๋ก 0,0,1 ์์ด์ฌ๋ translate๊ฐ ์๋ ๊ธฐ์ค์ผ๋ก ์ด๋ํด์ ์ด์ํ๊ฒ ์ด๋ํ๋๊ฑฐ ์๋๊น?
๊ทธ๊ฑด๋ง๋๋ฐ Translate ํจ์๊ฐ ์๊ธฐ ๋ฐฉํฅ์ ๊ธฐ์ค์ผ๋กํ๋๊น Vector3.forward (0,0,1) ์ด๋ผ๋ฉด ํ๋ ์ด์ด์ ์์ผ๋ก ๊ฐ๋๊ฑฐ๊ณ transform.forward๋ฉด ํ๋ ์ด์ด๊ฐ ์ผ์ชฝ์ ๋ณด๊ณ ์์ผ๋ฉด ํ๋ ์ด์ด๊ฐ ๋ณด๋๋ฐฉํฅ์ผ๋ก ์๊ฐ๊ณ ํ๋ ์ด์ด๊ฐ ๋ณด๋ ๋ฐฉํฅ์ ์ผ์ชฝ์ผ๋ก ๊ฐ๊ฒ๋๋ ๊ฑฐ์
Translate๋ผ๋ ํจ์๊ฐ (๋ฒกํฐ, Space.Self) ๋ (๋ฒกํฐ, Space.World) ๊ฐ ์๋๋ฐ Spacle.Self๊ฐ ๊ธฐ๋ณธ๊ฐ์ด๋ผ์ ๋ฒกํฐ๋ง ์ ๋ ฅํ๋ฉด ์๊ธฐ ๊ธฐ์ค์ผ๋ก ๋๋๊ฑฐ๊ณ Space.World๋ก ์ ๋ ฅํ์ผ๋ฉด ์๋ ๊ธฐ์ค์ผ๋ก ์ด๋ํ๋๊ฑฐ์
ใ ใ ๋๋ ๋ฐฉ๊ธ ๊ฒ์ํด๋ดค๋ค ๊ทธ๋ฐ๋ฐ transform.forward๋ ์๊ธฐ ์์ ๊ธฐ์ค ์์ด๋ผ๋๋ฐ ๊ทธ๋ผ ์๊ธฐ์์ ๊ธฐ์ค์ translate์ ์๊ธฐ์์ ๊ธฐ์ค์ด transform.forward๋ฅผ ์ขํ๋ก ์คฌ๋๋ฐ ์ ์ด์ํ๊ฒ ๊ฐ๋๊ฑธ๊น?
15๋ถ์ ์ด๊ฑฐ ์ฝ์ด๋ด..
์ํ 15๋ถ์ ๋๊ธ ๋ฌ์์คฌ์๊ตฌ๋ ์ ๊ฑธ ๋ชป๋ณด๊ณ ์์๋ค ใ ใ
๊ทธ๋ฐ๋ฐ ์ด์์ด ํ๋ ์ด์ด์ ์ํฅ์ ๋ฐ๋๋ค๊ณ ? ๋ถ๋ชจ ์์ ๊ด๊ณ๋ ์๋๊ณ ๊ทธ๋ฅ lootat์ผ๋ก ๋ฐ๋ผ๋ณด๊ธฐ๋งํ๊ณ ์ด์์ ๋ณ๋์ ์ฝ๋๊ฐ ๋ค์ด์์ด์ ์ด์์ transform.forwad ์ธ๋ฐ ์ด์์ ์์ด ์๋๋ผ ํ๋ ์ด์ด์ ์ํฅ์ ๋ฐ์?
์ ๊ธ ์ฝ์ด๋ณด๋๊ฐ ํ๋ ์ด์ด๊ฐ ์ด์ ๋ฐ์ฌํ๋๊ฑฐ๋ก ์๊ฐํ๊ฑฐ๊ฐ์๋ฐ ๊ทธ๊ฒ ์๋๊ณ ๊ทธ๋ฅ ๋๋ค์์ ์๋ฌด๋๋ ์ด์์ด ์์ฑ๋์ ํ๋ ์ด์ด ์ชฝ์ ๋ฐ๋ผ๋ณด๊ณ ํ๋ ์ด์ด์ชฝ์ผ๋ก ๋ ์๊ฐ๋๋ก ํ๋ ค๋๊ฑฐ์์ด
๊ทธ๋์ ์๋ฌด๋์๋ ์์ฑ๋์ ํ๋ ์ด์ด ์ชฝ์ LootAt ๋ฐ๋ผ๋ณด๊ณ ์ด์์ transform.forwad ์์ผ๋ก ๋๊ฐ๊ฒ ํ๋ ค๋๊ฑฐ์์ด
๊ทธ๋ฐ๋ฐ ๊ทธ๊ฒ translate ํ ๋๋ ์๊ฐ์ฒ๋ผ ์๋๊ณ rigidbody.velocity๋กํ๋ฉด ์๊ฐ๋๋ก ๋๋๋ผ
์ ํ๋ ์ด์ด๋ ์๋ชป์ด๊ฑฐ๊ณ ํ๋ ์ด์ด๊ฐ์๋๋ผ ์ด์์
๊ฑ ๊ฐ๋จํ๊ฒ ์ค๋ช ํ๋ฉด ์ฌ์์ ์ค๋ธ์ ํธ๋ฅผ ์์ผ๋ก ์ด๋ํ๋ฉด z๊ฐ ์ฌ๋ผ๊ฐ๊ณ ๋ค๋ก ์ด๋ํ๋ฉด z๊ฐ ๋ด๋ ค๊ฐ์์ ๊ทธ๋ฌ๋๊น Vector3.forward๋ฅผ ๋ฒกํฐ๋ก ํ๋ฉด Vector3(0,0,1)์ธ๋ฐ transform.Translate(0,0,1)ํ๋ฉด ์ค๋ธ์ ํธ๊ฐ ์ด๋๋ฐฉํฅ์ ๋ณด๋ ์๊ธฐ๊ฐ ๋ณด๋๋ฐฉํฅ์ผ๋ก 1๋งํผ ์์ผ๋ก ๊ฐ๋๊ฑฐ์ ์ค๋ฅธ์ชฝ์ ๋ณด๊ณ ์์ผ๋ฉด z๊ฐ 1 ๋ํด์ง๋๊ฒ์๋๋ผ x๊ฐ 1๋ํด์ง๋๊ฑฐ์ผ ์๊ธฐ๊ฐ ๋ณด๋๋ฐฉํฅ์ ๊ธฐ์ค์ผ๋ก ์์ด๋๊น
์ ๊ฒ์ํด๋ณด๊ณ ๋น๊ตํด๋ณด๊ณ ํ๋๊ฐ ๋ฌด์จ ์๋ฆฌ์ธ์ง ์๊ฑฐ๊ฐ๋ค.. ์ธ๊ตญ์์๋ ๋ ์ฒ๋ผ ๊ธฐ์ด๊ฐ ์๋์ฌ๋์ด ์๋ค
์ด์์ด ์ค๋ฅธ์ชฝ์ ๋ณด๊ณ ์์ผ๋ฉด ๋ฐฉํฅ ๋ฒกํฐ๊ฐ (1,0,0) ์ธ๋ฐ translate(transform.forward) ๋ฅผ ํ๋ค๋ฉด ์ค๋ฅธ์ชฝ(์๊ธฐ๋ฐฉํฅ)์ ์ค๋ฅธ์ชฝ(transform.forward) ์ผ๋ก ์ด๋ํ๊ฒ๋์ ์ด์์ด (0,0,0) ์ ์๋ค๋ฉด (0,0,-1) ์ฆ ๋ค๋ก ๊ฐ๊ฒ ๋๋๊ฑฐ์
๊ฒ์ํด์ ์ฌ๊ธฐ์ ๊ธฐ ์ ๋ฆฌ๋๊ฑฐ ๋ณด๋๊ฐ ํ์คํ๊ฒ ์ดํดํ๋ค. ์ด์ฉ๋ ์ด์ฌํ ๋๊ธ ๋ฌ์์ค์ ๊ณ ๋ง๋ค
๊ฑ ๋ฐฉํฅ๋ฒกํฐ๊ตฌํด์ ๊ทธ๋ฐฉํฅ์ผ๋ก ํ์