본문 바로가기
Unreal DevHistory/PirateDefence

03 규칙 구조 및 플레이어 셋팅 / PirateDefence

by pp336 2025. 2. 3.

 

 

 


Rule

 

게임의 전체적인 규칙 구조와 관련된 설정은 다음처럼 그려집니다.

 

 

1. Keep - 플레이어가 지켜야 할 대상 / 재산 - 네모 박스

2. Enermy -  플레이어의 입장에서의 적 / 약탈자  - 원기둥

3. Player - 플레이어의 분신/ 주인공 - 세모 박스

 

 

 

 위의 세가지 요소가 핵심 키로 이루어지게 되며 무인도나 해적과 같은 설정들을 하나씩 거치면서 전체적인 월드에 활력이 더해지게 됩니다. 주인공은 바다를 누비는 해적이 되며, 약탈자는 침략선을 이끌고 온 해골 군단이 되고, 재산은 지금까지 쌓아온 마을로 바뀌게 되는 것이죠.

 플레이어는 할일이 많습니다. 이러한 설정속에서 바쁘게 이리저리 움직이면서 적을 물리치려면 공격 수단이 있어야하고, 적은 수로도 효과적으로 마을을 보호할 수 있는 방책을 필요로 하게 됩니다.

 

 

 

 

 


플레이어블 캐릭터

 

 

 언리얼 엔진에서는 사물이나 캐릭터에 특정한 기능을 갖는 요소들을 부여하는 개념으로 블루프린트라는 요소를 사용합니다. 약탈자에 대응하고자 권총을 소지하고 있으면 총을 발사하여 적과 맞설 수 있을 것 입니다. 총이 상대방에게 맞았는지에 대한 여부를 판단해야하고, 현재 남은 총알이 얼마나 있는지 같은 논리를 확인해야합니다. 현재 플레이어블 캐릭터에 사용되고 있는 블루프린트는 이러한 요소를 담당하게 됩니다.  

 

Character를 위한 블루프린트 클래스, 한 명의 사람과 같은 역할에 대응하는 요소를 제작할 경우에 사용한다.

 

 

 

 캐릭터 블루프린트에서는 기본적으로 캐릭터에 대응하고자하는 최소한의 필요한 요소들을 갖춘 채로 시작을 합니다. 캐릭터의 움직임을 구성하는 하는 Characater Movement 컴포넌트를 가지고 있고,  Mesh 컴포넌트에 주인공인 해적 캐릭터를 불러올 수 있는 스켈레탈 메시 셋팅 칸이 구성되어 있습니다.

 

생명력을 불어넣는 캐릭터 메시와 애니메이션, ChracterMesh를 선택한 후 Detail에서 Mesh 탭과 Animations 탭을 이용해 불러 올 수 있다.

 

 

  해적이 항상 약탈자가 침략할 것을 대비해서 빈 공간에 총구를 겨누고 있지는 않을 것 입니다. 평소라면 자연스럽게 휴식을 취하는 모습을 보일 것이며, 푹푹찌는 더위에 바닷 물 속에 담구어 놓은 술병 한잔도 꺼내 마실지 고민하는 인간미를 보이는 순간 울리는 나팔소리에 허겁지겁 총을 준비하는 광경을 보일 것 입니다.

 그렇다면 이 블루프린트를 이용해서 어떻게 이러한 상황들이 연출이 가능할까요? 언리얼 엔진에서는 캐릭터를 움직이기 위해서 스켈레텔 메시라는 뼈대를 사용합니다. 기술자들을 초점에 두고 작성하는 글이 아니라 조금 복잡해지지 않는 선에서 설명해보자면 움직이는 객체를 나타내는 사용하는데 사용합니다.

 스켈레탈 메시는 스켈레톤이라 불리는 뼈대 구조 목록과 본에 연결되어 애니메이션을 재생하는데 이용할 수 있습니다.

 

Skleton과 그에 관련된 정보를 확인 할 수 있는 패널

   

 

 

 이러한 개념 외에도 플레이어 캐릭터는 플레이어의 컨트롤러의 입력을 받아서 움직일 것이며, 그에 대한 정보 역시 블루프린트에 반영 됩니다.

 

 

 

 다음 내용부터는 플레이어블 해적 캐릭터가 약탈자를 맞이 할 수 있는 준비를 하는 과정으로 진행될 예정이고, 캐릭터 블루프린트를 기준으로 이러한 로직들을 짜는 순서를 보여드릴 것입니다. 기준을 캐릭터를 위해 만들어진 블루프린트를 사람으로 이해하고, 해적 캐릭터(스켈레탈 메시), 애니메이션 등 연동 등을 아이가 어른이 되기까지 준비 과정으로 생각하시면 좀 더 받아들이기 좋은 비유가 될 것이라 생각합니다.