반응형
유니티에서는 물체를 감지하는
수단으로 여러가지 방법이있다.
예를들면 콜라이더,
피직스의 over도형 -> 결국 콜라이더,
그중 하나가 레이이다.
레이는 쉽게 설명하자면
오브젝트를 감지하는 레이져라고 보면된다.
RaycastHit hit;
Update() {
if(Physic.Raycast(transform.position, Vector3.forward, hit, Mathf.Infinity)) {
//맞았을때 실행할 코드
Destroy(hit.collider.gameObject);
}
}
RaycastHit hit;은 맞은 오브젝트를 저장할 변수이고,
if(Physic.Raycast(레이져 시작 위치, 방향, 나오는 변수(맞은 오브젝트), 레이져 거리))
부분은 레이(져)가 아무 오브젝트에 맞으면 참(true)이되어 if문 안으로 들어가고,
레이져 거리를 Mathf.Infinity로 써주면 무한대로 간다.
그래서 저 코드를 해석하자면,
자신의 위치에서 무한대로 가는 레이져를 앞쪽 방향으로 발사하여
맞은 오브젝트를 삭제한다.
이다.
레이져를 맞으면 없어지는 것이기에 파괴력을 가진 레이저라고
게임에서 언급할수도 있겠다.
이렇게 레이는 다양한 곳에 쓸 수 있다.
시각적으로 표현하여, 빛이 튕기는 연출도 가능하고,
발밑의 오브젝트 감지, 총에 레이를 달아 표적 오브젝트 감지등
여러 곳에 쓰인다.
도움이 되었길 바라며,
끝.
반응형
'게임 개발 > 유니티C#' 카테고리의 다른 글
유니티 자이로센서 (0) | 2022.09.14 |
---|---|
유니티 내비게이션 바 고정. (0) | 2022.09.13 |
유니티 C# Time.deltaTime (0) | 2022.08.28 |
유니티 주변에 있는 물체 파악하기 (0) | 2022.08.19 |
유니티 C# 양수만 입력되게 하기. (0) | 2022.08.17 |
댓글