Kompendium: MultiLineTraceByChannel

MultiLineTraceByChannel

Funkcja MultiLineTraceByChannel różni się od funkcji LineTraceObjects dwoma istotnymi aspektami. Dostarcza ona punkt wyjścia array, która może zawierać element wyniku testu kolizji. Test kolizji jest dokonany na podstawie funkcji “Trace Channel“. Może to zostać w oknie szczegółów StaticMeshActor w “Trace Responses“, określone jak obiekt odpowiadający na test śledzenia kanałów “Visibility” i “Camera

Dla przykładu, przezroczysty materiał ustawi zmienną “Visibility” jako “Overlap“, ponieważ może zostać on zauważony, ale nie może blokować linii widoku. Funkcja MultiLineTraceByChannel natychmiast się kończy jeśli znajduje obiekt z użytym “Block”  w Trace Channel

Punkty wejścia:

  • Start: Wektor, który definiuje początek linii użytej do testu kolizji
  • End: Wektor, który definiuje koniec kolizji testu
  • Trace Channel: Kanał użyty do testu kolizji. Może to być “Visibility” lub “Camera”
  • Trace Complex, Actors to Ignore, Draw Debug Type and Ignore Self: Są to te same parametry użyte w funkcji LineTraceForObjects

Punkty wyjścia:

  • Out Hits: Struktura Array “HitResult” zawierająca kolizje, które zostały znalezione
  • Return Value: Wartość zmiennej Boolean, jeśli prawdziwa to znaczy, że kolizja została znaleziona

Przykładowe użycie:

Gracz posiada urządzenie, które może zostać aktywowane przez przycisk “Enter”. To urządzenie używa funkcję MultiLineTraceByChannel, by utrzymywać obiekt widocznym i dodawać go do systemu radaru, który ma gracz.

bpc_multitrace2

Makro TraceLocationFPS oblicza pozycje użyte na podstawie Trace w kamerze użytej przez gracza.

bpc_multitrace3


Źródło:http://romeroblueprints.blogspot.com/2016/04/bp-compendium-multilinetracebychannel.html