프로그래밍/멀티캠퍼스 언리얼 4회차

블루프린트(플레이어 타일 이동 / 트랩 / 몬스터)

jukongkim 2024. 3. 14. 14:03
반응형

블루프린트 액터 하나 만들어주었다.

 

컴포넌트 > 추가 > 스피어.컴포넌트 > 추가 > 큐브. 스피어의 자식으로 생성.

 

대충 큐브, 스피어 이용해서 검이랑 방패 가지고 있는 느낌..

 

 

머티리얼 만들어서 색깔도 입혔다...

 

바닥(타일)도 만들어주었다. 액터 블루프린트 사용.컴포넌트 > 추가 > 평면 사용.

 

 

'Spawn Actor from Class' 노드를 사용하면, 선택된 액터를 특정 위치에 생성할 수 있다.

 

시작하기 전엔 없었는데 플레이 하니 생겼다.

 

타일을 5 x 5 이런 식으로 붙이면 더 넓어질 것이다.

간격을 띄어서 1개가 아니라는 걸 증명함.

 

 

여기에서 캐릭터가 1칸씩 왔다갔다 움직일 수 있게 하고,

만약 타일이 트랩을 가지고 있다면 타일의 색이 변하도록 해보았다.

 

일단 함수 2개 만들어주었다.

타일 색 바꾸는 함수.

 

 

그 다음은 타일의 Index를 찾는 것이다.

5 x 5 이런 Index가 아니라 25개 중에 17번 째 이런 것.

 

 

레벨 프린트에 구현한 노드는 다음과 같음.

 

 

 

 

 

잘 된다!

 

근데 궁금했던 게, 레벨 블루프린트가 아니라 액터 블루프린트에 키입력 노드를 넣으면 왜 발동 안 하는 걸까??

 

레벨 블루프린트는 상위 단계이다.

액터 블루프린트는 '일개 설계도'일 뿐이다. 기본적으로는 안 되게 설정해놓았다.

그래도 하고 싶다면?

 

'Enable Input' 노드를 사용하면 된다.

 

 

이번엔 타일 이동했는데 몬스터가 있다? 그럼 몬스터를 발견했다고 만들자.

일단 몬스터 먼저 소환하자.

 

 

몬스터를 Spawn 해서 Map 변수 안에 추가해줬다.

 

 

플레이어 블루프린트에 Enemy 변수 생성.

마찬가지로 몬스터 블루프린트에서 Enemy 변수를 생성한다.

 

 

 

플레이어가 타일을 이동했을 때 몬스터가 존재한다면, 아까 넣어뒀던 몬스터 맵변수 안에서 해당 몬스터를 찾는다.

 

 

이건 플레이어가 움직일 때마다 해줘야 하는 것이다.

이벤트 디스패치를 만들어 노드를 간략화했다.

 

 

반응형

'프로그래밍 > 멀티캠퍼스 언리얼 4회차' 카테고리의 다른 글

실습  (0) 2024.03.15
블루프린트(Map)  (0) 2024.03.13
블루프린트 함수 만들기(배열 / 구조체)  (0) 2024.03.08
블루프린트 기초  (0) 2024.03.06
언리얼 기초  (0) 2024.03.05