Unity. Physics.Raycast()
๐ Physics.Raycast()
Raycast๋ ๋ด๊ฐ ์ํ๋ ์ขํ์์ ์ํ๋ ๋ฐฉํฅ์ผ๋ก ์ , Ray๋ฅผ ๊ทธ์ด์ ๊ทธ ์์ ๋ค์ด ์๋ ๋ฌผ์ฒด๋ฅผ ๊ฐ์งํ๋ ํจ์๋ค.
๐ ์ฌ์ฉ๋ฒ
RaycastHit hit;
void Update()
{
Debug.DrawRay(transform.position, transform.forward * 10f, Color.red);
if (Physics.Raycast(transform.position, transform.forward, out hit, 10f))
Debug.Log("์ถฉ๋ ๊ฐ์ง");
}
Debug.DrawRay()
๋ Raycast์ Ray๋ฅผ ์๋ํฐ ์์ผ๋ก ํ์ธํ๊ธฐ ์ํด ๊ทธ์ ๊ฒ์ด๊ณ , ์ธ์๋ ์์ , Ray๊ฐ ๋์๊ฐ ๋ฐฉํฅ, ์์ด ์๋ค. ๋ฐฉํฅ์ ๊ธฐ๋ณธ์ ์ผ๋ก 1f๊ฐ ํ ๋น๋์ ๋ค์ 10f ๊ฐ์ ๊ฑฐ๋ฆฌ๋ฅผ ๊ณฑํด์ผ ์ํ๋ ๊ฑฐ๋ฆฌ๋ฅผ ์ค์ ํ ์ ์๋ค.
(Physics.Raycast()
์ ์ธ์๋ ์์ , ๋ฐฉํฅ, ์ถฉ๋ ๊ฐ์ง๋ ์ค๋ธ์ ํธ ์ ๋ณด๊ฐ ๋ค์ด ์๋ RaycastHit, ๊ฑฐ๋ฆฌ. ์ด๋ ๊ฒ 4๊ฐ์ง๊ฐ ์๋ค. ์ถฉ๋์ ๊ฐ์งํ๋ฉด true๋ฅผ ๋ฐํํ๊ณ ๊ทธ๋ ์ง ์์ผ๋ฉด false๋ฅผ ๋ฐํํ๋ค.
๋๊ธ๋จ๊ธฐ๊ธฐ