<AI Controller>


<AI Animation 블루프린트>


<AI 2D Animation 블루프린트>


<AI 상태 Enum>


<숨는 위치>(cpp버전은 cpp카테고리에 있습니다.)


<AI 캐릭터 블루프린트>


<에디터 화면>


<블랙 보드>


<비헤이비어 트리 내부 상태 변환>


<비헤이비어 트리 구조>



'언리얼4 > 프로젝트(RPG)' 카테고리의 다른 글

Skill System  (0) 2019.02.25
HP,MP 리젠 System  (0) 2019.02.25
HP,MP,EXP 및 Level 설정  (0) 2019.02.25
Damage System  (0) 2019.02.25
기본공격(콤보 및 마우스 방향 바라보기)  (0) 2019.02.25

로그인 실패 화면


로그인 성공 화면



로비 생성 및 로비 찾기, 캐릭터 선택



게임 준비




카운트 다운



게임 시작



게임 결과


DB 결과




1. 로그인 화면


2. 메인 화면


방 찾기를 통해 선택한 로비이름을 클릭할 경우

해당 방 번호가 GameInstance로 넘어가고 해당 로비로 들어가게 된다.(게임 인스턴스와 게임 모드를 다루는 카테고리로 가면 확인가능하다.)

3. 캐릭터 선택

선택한 색상 번호가 PlayerController로 넘어간다.

4. 게임 준비 단계

 다른 플레이어들이 게임 준비가 다 되면 동시에 카운드 다운 숫자가 화면에 출력하도록 구현

5. Player HUD

플레이어 점수, HP, 탄환 수 표시

6. 게임 결과

 게임 종료 버튼을 누르면 현재 플레이어가 가지고 있는 정보(변수)들을 JSON을 통해 웹서버(DB)에 전달한다.


플레이어 캐릭터 색생은 Red, Green, Blue 3가지로 구현하였다.


Replication(복제)에는 3가지 복제가 있다.

- Actor : 액터가 서버에서 스폰되면 클라이언트에도 복제된다.

- Variable : 변수의 값이 서버에서 변경되면 클라이언트에도 복제된다.(Replicated, RepNotify)

- Function : Run on Server, Multicast, Run on Owning Client

- Run on Server : 호출된 함수가 서버에서 실행됨(클라이언트가 호출)

- Multicast : 서버가 호출해야하고 서버와 모든 클라이언트에서 실행됨

- Run on Owning Client : 서버가 호출해야하고 특정 클라이언트에서만 실행됨


게임 승패에 영향을 주는 변수는 서버에서 변경해주어야 한다. 만약 클라이언트에서 변경하도록 구현하면 나쁜 의도를 가진 플레이어가 이를 악용하여 여러 정보를 변경하여 게임에 좋지 못한 영향을 준다.


<캐릭터 생상 지정 및 캐릭터 정보 구조체>


<캐릭터 기능>

1. LobbyPlayerController

- 로그인 화면 위젯

- Charactor 선택 위젯

- ArenaGameMode로 선택한 캐릭터 번호 넘겨주기(다른 플레이어와 캐릭터 겹치는거 방지)

- 게임 준비 완료시 동시에 다른 플레이어 화면에 카운트다운 숫자  


<LobbyPlayerController>


2. ArenaPlayerController

- main 위젯

- 게임 결과 위젯


<ArenaPlayerController>

+ Recent posts