[Unreal] 9일차 - 총알 생성, 총알 이동, 적 생성, 적이 플레이어 따라다니기

2024. 7. 25. 01:13Unreal Engine

728x90
반응형

총알 만들기

총알은 Actor라는 것을 기반으로 Class 설계를 통해 Instance 형식으로 생성할 것이다.

 

 

[Blueprint Class] 생성

 

 

[Actor] 선택, 이름은 "BP_Bullet"으로 생성

 

 


 

 

총알 외관 만들기

"Cube" 검색해서 생성

 

 

[Transform] 값 수정

 

 


 

 

EventGraph 제작

이전에 BP_Player에서 만들었던 이벤트 노드를 복사해서 BP_Bullet에 붙여넣는다.

 

 

오류가 나는 Variable에 우클릭, [Promote to Variable]을 누르면 변수로 등록이 된다.

 

 

총알이 위쪽 방향으로 올라가야 하므로 [Direction] 변수의 Z 값에 1을 넣는다.

스피드는 1000설정

 

 

돌아와서, BP_Bullet을 Viewport에 배치하고 플레이어보다 살짝 위로 놓고 실행하면 발사되는 총알을 볼 수 있다.

 

 


 

 

적 만들기

같은 방법으로 "BP_Enemy" 이름으로 적을 만든다.

 

 

"Target" 이름의 변수를 하나 생성하고 자료형 부분에 "actor"를 검색하여 [Actor] - [Object Refence]를 선택한다.

 

 

[Detail] 창에서 설정을 해주고 싶기 때문에 public으로 변환해야 한다. 눈 모양을 켠다. 그러면 오른쪽에서 [Instance Editable]이 켜진 것을 볼 수 있다.

 

 

"Direction" 변수를 alt키를 누른 상태로 끌어와서 [Set] 노드를 생성한다.

 

 

Target의 [Get Actor Location]으로 위치를 가져오고 내 위치도 가져와서 [타겟의 위치 - 나의 위치]를 계산하여 [Direction]에 설정했다. 그 크기를 순간이동 하는 것이 아니고 방향 벡터만 가져오고 싶기 때문에 Normalize 해야 한다. 따라서 [Normalize] 노드를 추가한다.

 

 

방향 계산까지 된 블루프린트가 완성되었다.

 

 

이제 Target에 BP_Player를 설정할 수 있게 되었다.

 

 

Enemy의 타겟인 Player를 계속 따라오는 것을 볼 수 있다.

 

 

Enemy를 복사하고, Speed를 public 변수 선언해서 바로 앞의 적을 따라다니게 만들면 지렁이가 움직이듯이 움직일 수도 있다.

728x90
반응형