블루프린트 생성 관련 내용은 생략
Begin Action
트레이스를 그려 Hit Result를 받는다.


LineTraceForObject로 Hit 했다면 Hit Result의 Location을 Hit 하지않았다면 Trace Line의 End지점을 리턴한다.
BP_PlayerController 형변환에 실패했다면(AI Controller 라면) 뒤의 함수를 진행할 필요없으니 GetDestinationData함수를 끝낸다.
End Action
캐릭터의 손에서 FireBall이 생성되고 쏘려는 곳으로 날아가게 만든다.

BP_FireBallProjectile
FireBall스킬이 아니더라도 원거리 공격을 만들때는 투사체 생성, 사출되기 때문에 투사체 BP를 따로 만들어준다.

투사체의 크기를 조정한 후 ProjectileMovement 컴포넌트를 추가한다.
ProjectileMovement에서는 투사체의 움직임을 설정 할 수있는데 디테일한 설명은 아래 링크 하단 부분 참조
https://spindoll.tistory.com/25
GetSocketLocation

캐릭터의 손에서 발사 시킬거라 캐릭터의 손의 위치정보가 필요하다.
GetSocketLocation노드는 Socket이름을 넣어줘도 되지만 Bone 이름을 넣어줘도 Bone의 위치정보를 받아온다.
GetComponent로 BP_Player의 Skeletal Mesh 컴포넌트를 GetSocketLocation으로 hand_r의 위치정보를 받아온다.
FindLookatRotation

Start 지점과 Target 지점을 지정하여 Rotation을 받아온다.
이번에는 Start를 GetSocketLocation으로 받아온 플레이어의 손 위치, Target은 GetDestination의 결과값이다.

'언리얼 BluePrint 정리' 카테고리의 다른 글
| 07/03 학습 정리 ( Timeline, Zoom 구현 ) (0) | 2023.07.03 |
|---|---|
| 06/30 학습 정리 ( Apply Radial Damage, Memory Pool ) (0) | 2023.07.02 |
| 06/28 학습 정리 ( Trace, LineTraceForObjects, GetComponent, Mesh Space Rotation Blend, Projectile) (0) | 2023.06.29 |
| 06/26 학습 정리( 역삼각함수, Atan2, Dot, Cross ) (0) | 2023.06.26 |
| 06/23 학습 정리( 다단 히트 구현, Set Timer ) (0) | 2023.06.26 |