🎮Unreal4/C++

[UE4] Fixed Camera (내적 dot, FindLookAtRotation)

공대 컴린이 2023. 4. 24. 23:40
728x90

블루프린트로 구현했었던, 공격하는 타겟에게 카메라를 고정시키는 Fixed Camera 기능을 C++ 클래스로 구현해보았다.

 

블루프린트로 구현했던 내용:

2023.02.03 - [Unreal4/BluePrint] - [UE4] 콜리전 중복 충돌 문제, 공격 중 전방의 Target에게 카메라 고정/회전, 가장 전방에 있는 액터 찾기 함수 작성

🎥 FixedCamera

Fixed Camera 기능은 무기의 Collision을 검사할 때 호출되어 사용하였다.

 

해당 기능의 핵심은 아래와 같다.

1. 내적을 이용하여 플레이어의 Forward 방향에 가장 근접한 Enemy 찾기

2. 플레이어의 Controller를 이용하여 카메라 회전하기

 

이때 내적 값이 클수록 내적하는 두 방향벡터가 겹쳐져있는 것이기 때문에 내적값의 최댓값을 찾았고, 

이를 통해 찾은 가까운 Enemy인 Candidate 방향으로 Controller를 Yaw 회전 시켜주었다.

 

컴파일 후 프로그램을 실행시키면 아래와 같이 옆에서 Enemy를 공격하면 카메라가 Enemy 방향으로 돌아가며 고정되는것을 확인할 수 있었다.

 

728x90