본문 바로가기

3D 게임 개발이 처음이어도 언리얼 블루프린트로 쉽게 배우는 3D 게임

본 캠프 2일차 (라인 트레이스로 원거리 물체 확인하기)

3D 게임 개발이 처음이어도 언리얼 블루프린트로 쉽게 배우는 3D 게임 개발 강의 5-2

라인 트레이스

라인트레이스란 발사된 빛이 물체에 부딪히는 여부를 검사하는 방법이다.

이 빛은 대상 물체에 부딪히면 충돌 여부를 알려주며 엑스레이 광선처럼 통과하여 여러 물체를 동시에 판별할 수도 있습니다. 이러한 방식을 멀티 라인 트레이스라고 부릅니다.

라인 트레이스의 충돌 성질은 채널이나 프로필로 설정할 수 있습니다.

실습

BP_AICharacter의 이벤트 그래프에서 Tick에 Line Trace By Profile 노드를 생성한다.

발사할 빛의 스타트 지점과 끝 지점(AI의 앞 방향으로 1미터)을 정해주고 검출될 프로필을 정해준다.

Out Hit를 구조체 핀 분할 하여 Hit Actor(빛을 맞은 액터)의 이름을 출력하도록 구현한다.

강의에서는 위처럼 해도 괜찮았는데 실제론 End지점이 월드좌표 0,0,0으로 고정돼서 아래와 같이 수정하여 해결함.
Get Actor Location과 Get Actor Forward Vector에 거리를 곱한걸 더해서 Line Trace의 End에 연결했다.