UE5

[UE5] LineTraceMultiByChannel

Pyxis 2024. 4. 5. 03:17

bool LineTraceMultiByChannel
(
    TArray<struct FHitResult>& OutHits,
    const FVector & Start,
    const FVector & End,
    ECollisionChannel TraceChannel,
    const FCollisionQueryParams & Params,
    const FCollisionResponseParams & ResponseParam
) const

 

LineTrace로 1개이상을 감지할 때 사용.

 

주의해야 할점은

return값인 bool이 최종적으로 "Block" 되었으냐의 유무다.

 

그러니까 광선을 쏴서 Collision이 Overlap인 대상을 만난다면 FHitResult로 TArray에 추가되어

Trace가 "계속" 진행되는데, Collision이 Block인 대상을 만난다면 Block인 대상까지만 결과에 추가하고 Trace가 "종료"된다.

그래서 마지막에 Block을 만나서 끝났는지 여부를 return 한다는 뜻

 

만약 전부 다 Overlap을 만나서 TArray에 결과가 저장됐는데,

return bool이 감지된 대상의 유무로만 알고 사용했다면 if statement에서 true로 들어오지 않을 것이다.