그래플링 훅
개인 프로젝트의 그래플링 훅 구현 내용입니다.
개요
- 그래플링 훅..
구상
플레이어
- Grappling Hook 가능한 상태인지 확인
- Grappling Hook 도중
- …. 장전중?
- 플레이어 위치로부터 조준점 방향으로 Grappling Hook Range 길이만큼 LineTrace
- Hook 발사 구현
- Collision Location이 Grappling Hook이 가능하면,
- 플레이어 위치로부터 Collision Location 까지 Hook 연결
- 목적지까지 이동 Lerp 시작.
- bIsGrappling = true
- 시작 시 공중으로 살짝 띄우고 목적지까지 발사..
- ACharacter::LaunchCharacter 활용하기. ```cpp // Set a pending launch velocity on the Character.
virtual void LaunchCharacter ( FVector LaunchVelocity, bool bXYOverride, bool bZOverride ) ```
- LaunchCharacter 가 잘 작동하지 않는 경우에 Lerp를 이용한 SetActorLocation으로 이동
- 종료 조건
- Grappling 중 장애물과 충돌
- 목적지에서 GrapplingStopDistance 만큼 떨어진 거리 도달 시
- 그 외 에러로 인한 무한 Grappling 방지 위한 Grappling 최대 시간 초과 시
- 우선 목표는 Grappling 최대 시간 : 1초
Leave a comment