오브젝트로 멀티 라인 트레이스(레이캐스트) 사용

여기서는 Multi Line Trace by Object 블루프린트 노드를 사용하여 걸리는 모든 월드 다이내믹 액터를 반환하고, 그 이름을 출력하는 방법을 알아봅니다.

Choose your operating system:

Windows

macOS

Linux

목차

MultiLineTraceForObjects 는 주어진 선을 따라 콜리전 트레이스를 수행하고, 걸린 모든 히트를 반환합니다. 이 때 지정된 Object Type (오브젝트 유형) 중 하나에 일치하는 오브젝트만 반환합니다. MultiLineTraceForObjects 구성 방법은 다음과 같습니다.

단계

  1. LineTraceByChannel 예제에 사용된 방법대로 트레이스를 구성합니다.

  2. LineTraceByChannel 노드를 MultiLineTraceForObjects 노드로 대체합니다.

  3. Object Types 핀을 끌어놓고 Make Array 노드를 추가한 뒤 드롭다운 메뉴를 통해 오브젝트를 배열에 추가합니다.

    Drag off the Object Types pin and add a Make Array node then use the drop-down menus to add Objects to the Array

    여기서는 WorldDynamicPhysics Body 를 오브젝트 유형으로 추가했습니다. Add pin 버튼을 통해 배열에 오브젝트 유형을 추가할 수 있습니다.

  4. 트레이스 노드의 Out Hits 핀을 끌어놓고 ForEachLoop 노드를 추가합니다.

    Drag off the Out Hits pin of the trace node and add a For Each Loop node

    이렇게 하면 트레이스에 걸린 액터 각각에 대해 어떤 작업을 할 수 있습니다.

  5. Array Element 를 끌어 놓고 Break Hit Result 를 추가한 뒤, Hit Actor 에서 To String (Object) 를 추가하고 Print String 에 연결합니다.

    클릭하면 이미지 원본을 확인합니다.

    이렇게 하면 걸린 배열 내 각 액터가 화면에 출력됩니다.

결과

피직스 액터 (피직스 바디 오브젝트 유형) 앞에 천정등 (월드 다이내믹 오브젝트 유형)이 걸려있습니다.

A hanging ceiling light World Dynamic Object Type in front of a Physics Actor Physics Body Object Type

Multi Line Trace by ObjectMulti Line Trace by Channel 와 달리 걸린 첫 오브젝트에서 멈추지 않습니다. 그래서 라이트를 넘어 큐브까지 트레이스가 이어집니다.