Raycaster (로직스 노드)
Raycaster | ||
---|---|---|
![]() | ||
Inputs | ||
Float3 | Origin | |
Float3 | Direction | |
Float | MaxDistance | |
Bool | HitTriggers | |
Bool | UsersOnly | |
Slot | Root | |
Outputs | ||
Bool | HasHit | |
ICollider | HitCollider | |
Float | HitDistance | |
Float3 | HitPoint | |
Float3 | HitNormal | |
Int | HitTriangleIndex |
이 노드는 지정한 방향과 거리로 레이캐스팅을 수행하고, 레이케스팅이 도달한 대상의 정보를 가져오는 기능을 수행합니다.
결국, Raycast One과 본질적으로 동일한 동작을 수행합니다. 차이점은 이 노드는 레이캐스팅을 프레임마다 발생시켜서 실시간으로 부딧힌 대상에 대한 정보를 취득한다는 것입니다.
사용방법
입력인자들
Origin
: 선(이하 레이캐스트)이 발사되는 시작점을 의미합니다. 기본값은 0,0,0이며 기준 좌표계는 입력측 Root
에 지정된 슬롯의 로컬 좌표계 입니다.
Direction
: 레이캐스팅이 쏘아질 방향을 지정합니다. 기본값이 0,0,0 이므로 방향은 설정 해 주셔야 하며 -1 ~ 1 사이의 값을 이용하여 지정하실 수 있습니다. 기준 좌표계는 Origin
와 마찬가지로 Root
에 기반한 로컬입니다.
MaxDistance
: 이 속성은 레이캐스팅의 최대 도달거리입니다. 거리정보는 Root
에 입력된 슬롯의 전역 배율(Scale)값의 영향을 받습니다.기본값은 ~3.4×1038으로 상당히 큰 수 이므로 조정하시는 것을 추천합니다.
HitTriggers
: True로 한다면, Collider의 유형이 Trigger 일지라도 인식을 하게 됩니다. 기본값은 False 이므로, 별다른 설정 없이 사용하신다면 Trigger 유형의 Collider의 충돌은 무시합니다.
UsersOnly
: True로 지정한 경우, 레이캐스트가 Collider에 충돌할때 충돌한 대상이 플레이어인 경우에만 충돌로 인지하고 결과를 반환하게 됩니다. 즉, 플레이어에게만 레이캐스팅 충돌이 이루어 지는 것입니다.
Root
: Origin
, Direction
, MaxDistance
계산시 기준이 되는 슬롯을 지정합니다. (예. Root Slot)
출력인자들
HasHit
: 현재 레이캐스팅에 충돌된 대상이 있는지 여부를 반환합니다.
HitCollider
: 레이캐스팅 경로에 부딧힌 첫번째 Collider를 알려줍니다. 기본값은 'null' 입니다.
HitDistance
: 레이캐스트가 출발한 지점부터 HitPoint
(충돌한 지점)까지의 거리를 반환합니다. 기본값은 0 입니다.
HitPoint
: 레이캐스트와 충돌한 지점의 전역(Global) 좌표를 반환합니다. 기본값은 [0;0;0] 입니다.
HitNormal
: 레이캐스트의 HitCollider
충돌면에 대한 법선 정보를 제공합니다.
HitTriangleIndex
: HitCollider
가 MeshCollider (Component)인 경우, 레이캐스트에 부딧힌 매쉬 삼각형의 순번 정보를 반환합니다.
일러두기
Collider 설정중 Type
이 Trigger
, HapticTrigger
, HapticSampler
이거나 Collider의 속성 중 IgnoreRaycasts
를 True로 설정해 두는 경우라면 레이캐스터는 반응하지 않습니다.