본문 바로가기

TIL

2025- 01-23 공부 내용

1.Unreal 게임 모드란 무엇인가?

게임 모드는 게임의 규칙, 플레이어의 행동, 그리고 게임의 전반적인 흐름을 정의하는 클래스입니다.

 

여기서 추가로 게임 모드에는 현재 디폴트 폰 클래스, 플레이어 컨트롤러 클래스 ,게임 스테이트 클래스등 을 가지고 있고 그걸 개발자가 원하는 클래스로 바꿀수 있습니다.

 

 

게임 모드 베이스와 게임모드 의 차이

 

게임 모드 베이스 : 게임 모드의 기본 클래스가 게임모드 베이스입니다. 기본적인 기능 만이 담겨있습다.

가벼운만큼 사용해야할 함수들이 게임모드보다는 조금적을 것 같습니다.

 

게임 모드 : 게임 모드 베이스를 상속받은 클래스입니다. 많은 기능이 담겨있습니다.

멀티플레이어 , 게임 플레이 기능 추가등 베이스 보다훨씬 많거나 개선된 점이 많습니다. 

사용해야할 함수들이 많습니다.

 

 

 

게임모드에서 다른 클래스들을 받아오고 또 다른 클래스 중 플레이어 컨트롤러는 입력받을 때 사용할 키가 정해져있는 

맵핑 컨텍스트 와 인풋액션등  

ㄴ ㅁ

      ㄴ ㅁ 

식으로 많은 가지가 쳐있을것이다.

 

 

 

 

2. 전방 선언

 

#include "CoreMinimal.h"
#include "GameFramework/PlayerController.h"
#include "NBC_PlayerController.generated.h"

class UInputMappingContext;
class UInputAction;

 

 

이렇게 class만 덩그러니 있는데 , 특정 class를 이름만 가져다 사용한다

 

이러한 구문은 전방선언이라하며 , 특정 클래스가 존재할 것임을 컴파일러에게 알리지만 클래스의 정의는 아직 제공 받지않은 상태이다.

 

왜 헤더파일을 안쓰고 이걸 사용하는가?

 

클래스안에 헤더파일이 포함이 많아질수록 컴파일 시간이 증가하는데 언리얼에서 컴파일 해본 결과 

시간소모가 너무난다. 그러므로특정 클래스가 존재한다고 알려서 코드의 컴파일을 단축시키기위해서 사용한다.