본문 바로가기
[ Unreal5 ]/- 언리얼엔진5 실습

언리얼엔진5 c++ Dynamic CrossHair

by MRG 2024. 6. 26.
728x90
반응형

 

▣ 먼저 CrossHair Widget을 생성합니다. 

CrossHair에 모양은 Border로 제작하고 정렬은 가운데로 위치가 크기는 0으로 지정하고 Is Variable를 체크합니다. 

 

 

▣ 플레이어 헤더파일에서 CrossHair 퍼지게하는 값을 관리하는 변수를 선언합니다. 

 

 

▣ 캐스팅하기전에 HUD를 생성자에서 가져오는 코드를 주석처리하거나 제거합니다. 그래야 플레이어에서 캐스팅한 값을안전하게 가져올 수 있습니다.

 

 

 

 

 

▣ 위젯 블루프린트로 가서 플레이어 CrossHairSpread 변수를 캐스팅하고 Get 한 다음에

CrossHairSpread 크로스헤어 퍼지는 값

CrossHairLength 크로스헤어 길이
CrossHairThickness 크로스헤어 두께를 관리하는 변수를 선언합니다.

그리고 CrossHair위치마다 노드를 완성합니다. 

 

 

 

▣ Cross Hair에 관한 변수 초기값을 지정합니다. 

 

 

 

▣ Curve를 생성하여 CrossHair 초기화에 대한 TimeLine을 제작합니다. 

 

 

▣ 다시 플레이어 헤더파일로 가서 Curve를 제어할 변수, Timeline함수, Timeline에 따라 호출되는 함수를 선언합니다. 

 

 

▣ cpp파일로 가서 아까 생성한 에디터에 있는 Curve를 가져오는 코드를 작성합니다. 

 

 

▣ BeginPlay함수에서 Timeline에 함수 바인딩 및 TimeLine에 TimeLine과 함수를 추가하는 코드를 작성합니다. 

 

 

▣ Tick함수에서 TimeLine에 DeltaTime을 전달하는 코드와 CrossHairTimeLine함수를 플레이하는 코드를 추가합니다.

그렇게 하면 총을 쏘지 않는 평상시에 해당 함수를 통해 CrossHair가 원래 크기로 돌아가게 됩니다.

 

 

▣ TimeLine을 통해서 CrossHair를 다시 초기화하는 코드를 작성합니다. 

 

 

▣ 총을 쏘는 코드에서 CrossHair을 점점 퍼지게 하고 범위까지 지정하는 함수까지 작성합니다. 

 

 

▣ 컴파일 후 해당 값이 들어있는지 확인하고 테스트합니다.

 

 

728x90
반응형

댓글