[UE4] ConsoleVariables.ini의 특수성
5975 단어 C++UnrealEngineUnrealEngine4위 4
ConsoleVaribels.ini
예를 들어 usf 파일 등을 괴롭히는 경우 공식 등으로
Engine/Config/ConsoleVariables.ini의 r.ShaderDevelopmentMode 행의 주석을 제거하십시오!
라고 적혀있거나 그것을 편집하는 경우가 많다고 생각합니다.
셰이더 개발 | UnrealEngineDocument
그러나 팀 개발을 할 경우 Engine 내부의 파일은 버전 컨트롤에 저장되는 경우가 많다고 생각합니다.
그 때문에 자신만 이 콘솔 변수가 만만치면 충분한데, 일부러 서버에 송신해 버리지 않게 하고 있거나,
깨끗하게 제출(커밋)해 버리거나 하는 일이 있다고 생각합니다.
ini의 계층 구조와 ConsoleVariables.ini
문서에는 구성 파일에는 계층 구조가 있으며 기본 매개 변수를 재정의할 수 있는 설명이 있습니다.
구성 파일 | UnrealEngineDocument
그러나이 계층 구조는 ConsoleVariables.ini에는 존재하지 않습니다.
따라서 [ProjectPath]/Config/DefaultConsoleVariable.ini 또는 [ProjectPath]/Saved/Config/[Platform]/ConsoleVariable.ini를 준비해도
로드되지 않습니다. 구누누.
※왜 그렇게 되는지는 ConfigCacheIni.cpp를 읽어 주세요
자신 만 설정할 수 있으면 좋지만 ...
소스를 살펴보겠습니다.
ConfigCacheIni.cppvoid FConfigCacheIni::LoadConsoleVariablesFromINI()
{
FString ConsoleVariablesPath = FPaths::EngineDir() + TEXT("Config/ConsoleVariables.ini");
#if !DISABLE_CHEAT_CVARS
// First we read from "../../../Engine/Config/ConsoleVariables.ini" [Startup] section if it exists
// This is the only ini file where we allow cheat commands (this is why it's not there for UE_BUILD_SHIPPING || UE_BUILD_TEST)
ApplyCVarSettingsFromIni(TEXT("Startup"), *ConsoleVariablesPath, ECVF_SetByConsoleVariablesIni, true);
#endif // !DISABLE_CHEAT_CVARS
// We also apply from Engine.ini [ConsoleVariables] section
ApplyCVarSettingsFromIni(TEXT("ConsoleVariables"), *GEngineIni, ECVF_SetBySystemSettingsIni);
IConsoleManager::Get().CallAllConsoleVariableSinks();
}
오! ConsoleVariables나 GengineIni 등이 보이네요.
조속히 쓰자!
Saved/Config/Windows/Engine.ini[Core.System]
Paths=../../../Engine/Content
Paths=%GAMEDIR%Content
Paths=../../../Engine/Plugins/2D/Paper2D/Content
...略...
[ConsoleVariables] ;追加
r.ShaderDevelopmentMode=4 ;追加
그리고 시작!
확실히 설정되어 있습니다!
기동 로그에도 어떤 파라미터가 읽혀졌는지 쓰고 있거나 합니다.
LogConfig를 찾아보십시오.
LogConfig: Applying CVar settings from Section [Startup] File [../../../Engine/Config/ConsoleVariables.ini]
LogConfig: Setting CVar [[r.DumpShaderDebugInfo:1]]
LogConfig: Setting CVar [[net.UseAdaptiveNetUpdateFrequency:0]]
LogConfig: Setting CVar [[p.chaos.AllowCreatePhysxBodies:1]]
LogConfig: Applying CVar settings from Section [ConsoleVariables] File [D:/dev/UE423projects/TPBP423Config/Saved/Config/Windows/Engine.ini]
LogConfig: Setting CVar [[r.ShaderDevelopmentMode:4]]
요약
[projectpath]/Saved/Config/Windows/DefaultEngine.ini
의 [ConsoleVariables]
섹션으로 설정하여,
자신의 개발 환경별 콘솔 변수를 적용할 수 있습니다.
각자의 개발 환경마다 있는 Saved아래에 저장된 ini파일이라면 CI등에 받아들여져 당황하지 않습니다.
반대로 프로젝트로 설정하고 싶은 것에 관해서는[projectpath]/config/DefaultEngine.ini
의 [ConsoleVariables]
섹션에 기술함으로써
게임 동작 설정을 최종 빌드에 포함시킬 수 있습니다.
Reference
이 문제에 관하여([UE4] ConsoleVariables.ini의 특수성), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/EGJ-Takashi_Suzuki/items/07ef02bf6eb08cdc1664
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
문서에는 구성 파일에는 계층 구조가 있으며 기본 매개 변수를 재정의할 수 있는 설명이 있습니다.
구성 파일 | UnrealEngineDocument
그러나이 계층 구조는 ConsoleVariables.ini에는 존재하지 않습니다.
따라서 [ProjectPath]/Config/DefaultConsoleVariable.ini 또는 [ProjectPath]/Saved/Config/[Platform]/ConsoleVariable.ini를 준비해도
로드되지 않습니다. 구누누.
※왜 그렇게 되는지는 ConfigCacheIni.cpp를 읽어 주세요
자신 만 설정할 수 있으면 좋지만 ...
소스를 살펴보겠습니다.
ConfigCacheIni.cppvoid FConfigCacheIni::LoadConsoleVariablesFromINI()
{
FString ConsoleVariablesPath = FPaths::EngineDir() + TEXT("Config/ConsoleVariables.ini");
#if !DISABLE_CHEAT_CVARS
// First we read from "../../../Engine/Config/ConsoleVariables.ini" [Startup] section if it exists
// This is the only ini file where we allow cheat commands (this is why it's not there for UE_BUILD_SHIPPING || UE_BUILD_TEST)
ApplyCVarSettingsFromIni(TEXT("Startup"), *ConsoleVariablesPath, ECVF_SetByConsoleVariablesIni, true);
#endif // !DISABLE_CHEAT_CVARS
// We also apply from Engine.ini [ConsoleVariables] section
ApplyCVarSettingsFromIni(TEXT("ConsoleVariables"), *GEngineIni, ECVF_SetBySystemSettingsIni);
IConsoleManager::Get().CallAllConsoleVariableSinks();
}
오! ConsoleVariables나 GengineIni 등이 보이네요.
조속히 쓰자!
Saved/Config/Windows/Engine.ini[Core.System]
Paths=../../../Engine/Content
Paths=%GAMEDIR%Content
Paths=../../../Engine/Plugins/2D/Paper2D/Content
...略...
[ConsoleVariables] ;追加
r.ShaderDevelopmentMode=4 ;追加
그리고 시작!
확실히 설정되어 있습니다!
기동 로그에도 어떤 파라미터가 읽혀졌는지 쓰고 있거나 합니다.
LogConfig를 찾아보십시오.
LogConfig: Applying CVar settings from Section [Startup] File [../../../Engine/Config/ConsoleVariables.ini]
LogConfig: Setting CVar [[r.DumpShaderDebugInfo:1]]
LogConfig: Setting CVar [[net.UseAdaptiveNetUpdateFrequency:0]]
LogConfig: Setting CVar [[p.chaos.AllowCreatePhysxBodies:1]]
LogConfig: Applying CVar settings from Section [ConsoleVariables] File [D:/dev/UE423projects/TPBP423Config/Saved/Config/Windows/Engine.ini]
LogConfig: Setting CVar [[r.ShaderDevelopmentMode:4]]
요약
[projectpath]/Saved/Config/Windows/DefaultEngine.ini
의 [ConsoleVariables]
섹션으로 설정하여,
자신의 개발 환경별 콘솔 변수를 적용할 수 있습니다.
각자의 개발 환경마다 있는 Saved아래에 저장된 ini파일이라면 CI등에 받아들여져 당황하지 않습니다.
반대로 프로젝트로 설정하고 싶은 것에 관해서는[projectpath]/config/DefaultEngine.ini
의 [ConsoleVariables]
섹션에 기술함으로써
게임 동작 설정을 최종 빌드에 포함시킬 수 있습니다.
Reference
이 문제에 관하여([UE4] ConsoleVariables.ini의 특수성), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/EGJ-Takashi_Suzuki/items/07ef02bf6eb08cdc1664
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
void FConfigCacheIni::LoadConsoleVariablesFromINI()
{
FString ConsoleVariablesPath = FPaths::EngineDir() + TEXT("Config/ConsoleVariables.ini");
#if !DISABLE_CHEAT_CVARS
// First we read from "../../../Engine/Config/ConsoleVariables.ini" [Startup] section if it exists
// This is the only ini file where we allow cheat commands (this is why it's not there for UE_BUILD_SHIPPING || UE_BUILD_TEST)
ApplyCVarSettingsFromIni(TEXT("Startup"), *ConsoleVariablesPath, ECVF_SetByConsoleVariablesIni, true);
#endif // !DISABLE_CHEAT_CVARS
// We also apply from Engine.ini [ConsoleVariables] section
ApplyCVarSettingsFromIni(TEXT("ConsoleVariables"), *GEngineIni, ECVF_SetBySystemSettingsIni);
IConsoleManager::Get().CallAllConsoleVariableSinks();
}
[Core.System]
Paths=../../../Engine/Content
Paths=%GAMEDIR%Content
Paths=../../../Engine/Plugins/2D/Paper2D/Content
...略...
[ConsoleVariables] ;追加
r.ShaderDevelopmentMode=4 ;追加
LogConfig: Applying CVar settings from Section [Startup] File [../../../Engine/Config/ConsoleVariables.ini]
LogConfig: Setting CVar [[r.DumpShaderDebugInfo:1]]
LogConfig: Setting CVar [[net.UseAdaptiveNetUpdateFrequency:0]]
LogConfig: Setting CVar [[p.chaos.AllowCreatePhysxBodies:1]]
LogConfig: Applying CVar settings from Section [ConsoleVariables] File [D:/dev/UE423projects/TPBP423Config/Saved/Config/Windows/Engine.ini]
LogConfig: Setting CVar [[r.ShaderDevelopmentMode:4]]
[projectpath]/Saved/Config/Windows/DefaultEngine.ini
의 [ConsoleVariables]
섹션으로 설정하여,자신의 개발 환경별 콘솔 변수를 적용할 수 있습니다.
각자의 개발 환경마다 있는 Saved아래에 저장된 ini파일이라면 CI등에 받아들여져 당황하지 않습니다.
반대로 프로젝트로 설정하고 싶은 것에 관해서는
[projectpath]/config/DefaultEngine.ini
의 [ConsoleVariables]
섹션에 기술함으로써게임 동작 설정을 최종 빌드에 포함시킬 수 있습니다.
Reference
이 문제에 관하여([UE4] ConsoleVariables.ini의 특수성), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/EGJ-Takashi_Suzuki/items/07ef02bf6eb08cdc1664텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)