Throw Weapon
지금은 E키를 누르면 무기가 그대로 떨어지지만, 좀 더 날아가서 떨어지도록 바꿔보자.
Weapon 클래스에서 해당 기능을 구현할 것이기에 헤더에서 생성자랑 관련 함수, 변수들도 선언해주자.
생성자에서 변수들을 초기화해주고, Tick을 활성화하는 문구도 적어주었다.
다음으로 무기가 멀리 나가는 함수를 작성해주자.
현재 회전 값을 얻고, 이를 토대로 WorldRotation을 세팅해준다.
이떄 ETeleportType::TeleportPhysics 값을 사용하여 물리적 시뮬레이트를 즉시 업데이트하여 순식간에 이동하도록 해준다.
이후 전방 벡터와 right 벡터를 얻고 이를 토대로 충격 방향을 설정한다.
그리고 Z축으로 30도의 충돌값을 추가로 설정하고, 충돌 방향에 크기를 곱해준다.
이를 토대로 해당 충돌을 부여하게 된다.
이후 떨어지고 있음을 변수로 표시해주고, 타이머를 통해 일정 시간 동안 날라가도록 해주자.
해당 함수는 다른 클래스에서 실행해야 하기에 public으로 변경하였다.
그리고 Tick을 통해서 날아가는 동안 회전 값을 세팅해주자.
이제 DropWeapon() 함수에서 해당 함수를 호출해주자.
그리고 타이머가 끝나고 호출되는 함수인 StopFalling() 함수의 내용도 구현해주자.
떨어지고 있음을 나타내는 변수를 false로 바꾸고, 상태를 Pickup으로 바꾸자.
이제 E를 누르면 현재 위치에서 꽤 떨어진 위치까지 날라가는 모습을 볼 수 있다.
'Unreal > Udemy 강의' 카테고리의 다른 글
Unreal Engine 4 C++ The Ultimate Shooter Course Section 6-1 (0) | 2024.08.27 |
---|---|
Unreal Engine 4 C++ The Ultimate Shooter Course Section 5-21 (0) | 2024.08.27 |
Unreal Engine 4 C++ The Ultimate Shooter Course Section 5-19 (0) | 2024.08.27 |
Unreal Engine 4 C++ The Ultimate Shooter Course Section 5-18 (0) | 2024.08.27 |
Unreal Engine 4 C++ The Ultimate Shooter Course Section 5-17 (0) | 2024.08.27 |