728x90
반응형
게임 플레이 프레임 워크
- 액터
- 레벨에 배치하거나 스폰할 수 있는 오브젝트의 기본 클래스
- 액터의 이동방식, 렌더링 방식을 제어하는데 사용할 수 있는 액터컴포넌트 컬렉션이 포함될 수 있다.
- 플레이 도중 네트워크를 통해 프로퍼티 및 함수 호출의 리플리케이션 지원
- 카메라
- 플레이어가 월드를 보는 방식. 플레이어의 시점.
- 플레이어가 월드를 보는 위치와 방향을 계산
- 플레이어 컨트롤러
- 카메라 클래스 지정
- 카메라 액터 인스턴스화
- 폰
- 플레이어 혹은 AI가 제어할 수 있는 모든 액터의 베이스 클래스
- 기본적으로 컨트롤러와 폰은 1:1대응관계
- 컨트롤러는 하나의 폰만 제어가능
- 컨트롤러
- 폰(부모가 폰인 모든)클래스에 빙의하여 동작을 제어하는
비물리적인 액터 - 플레이어 컨트롤러는 인간 플레이어가 폰을 제어하는데 사용.
- AI컨트롤러는 자신이 제어하는 폰의 인공지능을 구현하는데 사용
- Possess함수를 사용해 폰을 제어, UnPossess함수를 사용해 제어권 포기
- 폰(부모가 폰인 모든)클래스에 빙의하여 동작을 제어하는
게임플레이 타이머일정 시간동안 이벤트를 트리거 하는 특정 함수 포인터에 대한 비동기 콜백 생성
- 게임모드
- 게임 프레임워크의 베이스
- 레벨이 게임 플레이를 위해 초기화 될 때 AGameModeBase액터 인스턴스화
- 게임의 규칙 설정
- 서버에만 존재.
게임기능 및 모듈형 게임 플레이개발자가 프로젝트에 독립형 기능을 만들 수 있도록 도와주는 플러그인프로젝트의 코드 베이스를 깔끔하고 읽기 쉽게 유지관련없는 기능간의 우발적인 상호작용이나 종속성 방지
- 사용자 인터페이스(UI) 및 헤드업 디스플레이(HUD)
- 플레이어에게 게임에 대한 정보 제공
- 게임과 상호작용할 수 있도록 하는 방식(버튼 클릭 등)
프레임워크 클래스 관계
위의 플로우차트는 핵심 게임 플레이 클래스가 서로 어떻게 연관되어있는지 보여준다.
게임은 GameMode(Server) GameState(Server,Client)로 구성되어 있고, 게임에 참여하는 Player는 PlayerController와 연관이 되어있다.
PlayerController에는 입력처리, HUD, 카메라 뷰 처리를 위한 CameraManager가 있고, PlayerController는 Pawn(Character)에 빙의(Possess)하여 위와같은 처리를 한다.
AIController는 입력을 AI로 처리하고, HUD, 카메라 뷰 처리는 필요없다. AIController도 Pawn에 빙의하여 정해진 입력대로 처리한다.
취소선으로 되어있는 부분은 아직 숙지가 필요한 부분
추후 숙지 완료 시 업데이트 예정
출처
728x90
반응형
'개발일지 > Unreal&C++' 카테고리의 다른 글
[Unreal] 오브젝트 그리고 CDO(Class Default Object), generated.h, GENERATED_BODY (0) | 2025.04.01 |
---|---|
[C++] 가상 함수와 비 가상 함수 (0) | 2025.03.18 |
[Unreal] 서브 레벨 구성 및 스트리밍 레벨 로드 (0) | 2025.03.18 |
[Unreal] Blueprint를 활용한 물체 충돌 구현, 효과 주기 (0) | 2025.03.18 |
[Unreal] 머테리얼(Material)/PBR (v5.4) (0) | 2025.03.14 |