본문 바로가기

언리얼 BluePrint 정리

06/29 학습 정리 ( FireBall 스킬 구현)

블루프린트 생성 관련 내용은 생략

 

Begin Action 

 

트레이스를 그려 Hit Result를 받는다.

 

GetDestinationData 내부 (클릭시 확대)

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의 결과값이다.


BP_FireBall