카테고리 없음

Unity잡설_Ray관련

zelkova 2021. 1. 30. 10:13

<목차로 돌아가기>

 

Ray 만드는 방법.


플레이어의 카메라에서 마우스의
위치로 ray방향을 지정▷ Ray ray = viewCamera.ScreenPointToRay(Input.mousePosition);

 

▷ Ray ray = new Ray(transform.position, transform.forward);

물체위치에서 정면의 방향으로 ray방향을 지정

 

 

 

 

 

Ray감지하는 방법 

▷ groundPlane.Raycast(ray, out rayDistance)

Plane에 ray가 닿으면 결과값을 반환.

 

RaycastHit hit;

if(Physics.Raycast(ray, out hit, moveDistance, collisionMask, QueryTriggerInteraction.Collide)) {

}

ray 일정 방향의 선

hit 지정한 물체와 충돌했는지 안햇는지 확인 

moveDistance 레이의 길이

collisionMask 레이어 

QueryTriggerInteraction 트리거와 충돌할지 안할지 결정.

 

Collider 안쪽에서 출발하는 Ray 감지하기.

 

Physics.OverlapBox
Physics.OverlapCapsule
Collider[] initialCollisions = Physics.OverlapSphere(transform.position, .1f, collisionMask);

Overlap을 통하여 Collider 안쪽에서 출발하는지 감지할 수 있다. 

참고로 옵션중에 트리거 체크하는것도 있음.

 

 

 

 

반응형