소소한 개발 공부
[Unity] Raycast 본문
Raycast
Ray에 Collider가 닿았는지 판단하기 (닿으면 true 아니면 false)
public static bool Raycast(Vector3 origin, Vector3 direction, float maxDistance = Mathf.Infinity, int layerMask = DefaultRaycastLayers, QueryTriggerInteraction queryTriggerInteraction = QueryTriggerInteraction.UseGlobal);
* [=] 표시가 붙은 것은 함수 오버로딩으로 인한 추가적인 매개변수의 디폴트 값
Parameter
origin | 레이를 쏘는 시작 지점 |
direction | 레이의 방향 |
maxDistance | 레이가 Collider 충돌을 체크할 수 있는 최대 거리 |
layerMask | 레이가 Collider를 선택적으로 검출할 때 참고하는 레이어(Layer) |
queryTriggerInteraction | 해당 query의 Trigger를 hit할지 여부를 구체화 |
Example
bool rayHit = Physics.Raycast(transform.position, dir, 0.7f, LayerMask.GetMask("Object"));
=> rayHit은 해당 스크립트를 지닌 오브젝트의 위치(transform.position)에서 direction 방향으로 0.7f의 길이만큼 레이를 쐈을 때 "Player" 레이어의 Collider 가 있는지 판단.
📝 [참고] https://docs.unity3d.com/ScriptReference/Physics.Raycast.html
'개발 > Unity' 카테고리의 다른 글
[Unity] 애니팡식 하트 충전 : 시간에 따른 값 충전 (0) | 2021.05.14 |
---|---|
[Unity] 스크립트 실행 우선순위 정하기 Script Execution Order (0) | 2021.05.09 |
[Unity] DrawRay (0) | 2021.04.16 |
[Unity] 터치 스와이프 구현하기 (0) | 2021.03.28 |
[Unity] 게임의 Undo 작성하기 (0) | 2021.03.27 |