KoreanFoodie's Study

언리얼 INI 파일 설정 (Unreal INI File Setting) 본문

Game Dev/Unreal C++ : Study

언리얼 INI 파일 설정 (Unreal INI File Setting)

GoldGiver 2022. 3. 31. 11:47

언리얼 INI 파일 설정 

만약 캐릭터의 HP 를 편집하고 싶은데, HP 값을 변경하기 위해 매번 캐릭터를 에디터에서 수정해야 한다면 매우 비효율적일 것이다. 이를 위해, 언리얼은 INI 파일을 이용해 블루프린트나 별도의 에디터 작업이 없이도 속성값을 바꿀 수 있는 기능을 제공하고 있다. (원래 INI 파일은 윈도우에서 시스템 구성 요소의 설정을 위해 만들어진 파일 형식이다)

 

INI 파일의 형식은 속성과 값, 그리고 이 두 가지를 포괄하는 섹션으로 구성되어 있다.

  1. 섹션 : 현재 프로젝트에서 사용하는 C++ 클래스 식별자
  2. 속성 : C++ 클래스에서 INI 를 사용하도록 지정한 UPROPERTY 멤버 변수
  3. : 속성에 지정할 값

 

C++ 클래스 식별자는 고유한 식별자로 구분되며 다음과 같은 형식을 가진다.

{ 스크립트 경로 } / { 모듈 이름 } . { 클래스 이름 }

스크립트 경로는 항상 /Script 로 시작한다. 모듈 이름은 언리얼 오브젝트가 속한 모듈 이름, 클래스 이름은 언리얼 오브젝트의 이름이 된다.

 

이득우님 블로그 에서 가져온 예시를 통해 살펴보자. 다음은 Config 폴더의 DefaultEngine.ini 파일에서 발췌한 코드이다.

[/Script/EngineSettings.GameMapsSettings]

GameInstanceClass=/Script/ArenaBattle.ABGameInstance

위의 코드는, EngineSettings 라는 모듈의 GameSettings 파일에서, 엔진에서 사용할 GameInstanceClass 를 ArenaBattle 모듈의 ABGameInstance 로 사용하겠다는 의미이다.

언리얼 엔진의 로직과 관련된 것들은 DefaultEngine.ini 에, 게임 로직과 관련된 것들은 DefaultGame.ini 를 통해 관리하게 된다.

 

INI 파일에서 지정한 값들은 BeginPlay 시점(런타임) 등에 초기화가 된다. 이는 CDO 생성 시에는 INI 값이 적용되지 않는다는 뜻이다!

즉... float 으로 선언된 MaxHP 를, ini 파일에 있는 값으로 덮어 쓰려면... BeginPlay 시점에서나 활용할 수 있다는 뜻이다.

Comments