在现代游戏开发中,游戏引擎的配置文件起着至关重要的作用。它们定义了游戏引擎运行时的行为,调整性能参数,并指导资源加载和管理。在这篇文章中,我们将深入分析Unreal Engine 5(UE5)的BaseEngine.ini
文件,这是一个核心配置文件,它为引擎的核心和引擎级特性提供了默认设置。
BaseEngine.ini文件
; This file defines the default settings for core and engine-level features
; 这个文件定义了核心和引擎级功能的默认设置
; These settings are overridden by a project's DefaultEngine.ini file and per-platform overrides
; 这些设置可以被项目的DefaultEngine.ini文件和每个平台的特定设置覆盖
; Some of these settings can be modified from the project settings in the editor
; 这些设置中的一些可以在编辑器中的项目设置里修改
[/Script/EngineSettings.GameMapsSettings]
GameInstanceClass=/Script/Engine.GameInstance
; 设置游戏实例的类路径
EditorStartupMap=/Engine/Maps/Templates/OpenWorld
; 设置编辑器启动时的默认地图路径
GameDefaultMap=/Engine/Maps/Templates/OpenWorld
; 设置游戏默认地图的路径
ServerDefaultMap=/Engine/Maps/Entry
; 设置服务器默认地图的路径
GlobalDefaultGameMode="/Script/Engine.GameModeBase"
; 设置全局默认的游戏模式类路径
; Example for map prefix and game mode name setting
; 地图前缀和游戏模式名称设置的例子
; +GameModeMapPrefixes=(Name="DM-",GameMode="/Script/GamePackage.DMGameMode")
; +GameModeClassAliases=(Name="DM",GameMode="/Script/GamePackage.DMGameMode")
LocalMapOptions=
; 本地地图选项设置,留空
[InstallBundleManager]
ModuleName=NullInstallBundleManager
; 设置安装包管理模块的名称
EditorModuleName=NullInstallBundleManager
; 设置编辑器模块安装包管理模块的名称
[URL]
Protocol=unreal
; 设置游戏使用的协议
Name=Player
; 设置默认玩家名称
SaveExt=usa
; 设置存档文件的扩展名
Port=7777
; 设置默认端口号
[HTTP]
HttpTimeout=180
; 设置HTTP请求的超时时间(秒)
HttpConnectionTimeout=60
; 设置HTTP连接的超时时间(秒)
HttpReceiveTimeout=30
; 设置HTTP接收的超时时间(秒)
HttpSendTimeout=30
; 设置HTTP发送的超时时间(秒)
; Flush time limits for FHttpManager::Flush:
; FHttpManager::Flush的刷新时间限制:
; Default = when Flush is called with no overriding context
; Default = 当Flush被调用时没有覆盖上下文
; Background = when Flush is called because the app is backgrounding. This may not be called on backgrounding on all platforms.
; Background = 当应用程序进入后台时调用Flush。这可能不会在所有平台上的后台调用。
; Shutdown = when Flush is called because the app is being shut down. Some use cases may want an infinite wait. This may not be called on shutdown on all platforms.
; Shutdown = 当应用程序正在关闭时调用Flush。某些用例可能需要无限等待。这可能不会在所有平台上的关闭时调用。
; FullFlush = explicit request to wait infinitely for all HTTP requests to complete. Some use cases may want to disable infinite waits. Typically not used in game code but may be used by applications or commandlets.
; FullFlush = 显式请求无限期等待所有HTTP请求完成。某些用例可能希望禁用无限等待。通常不在游戏代码中使用,但可能被应用程序或命令行工具使用。
; Soft Limit = how long to wait in seconds before cancelling active requests. -1 = never cancel. 0 = cancel immediately. Must be < Hard Limit to work. Typically after calling Cancel the HTTP request needs a tick to process the cancel, so it should not be == Hard Limit.
; Soft Limit = 在取消活动请求之前要等待多长时间(秒)。-1 = 从不取消。0 = 立即取消。必须小于Hard Limit才能工作。通常在调用Cancel后,HTTP请求需要一个时钟周期来处理取消,所以它不应该等于Hard Limit。
; Hard Limit = how long to wait in seconds before stopping waiting altogether.
; Hard Limit = 在完全停止等待之前要等待多长时间(秒)。
FlushSoftTimeLimitDefault=2.0
; 设置默认的Flush软限制时间(秒)
FlushHardTimeLimitDefault=4.```ini
; FlushHardTimeLimitDefault=4.0
; 设置默认的Flush硬限制时间(秒)
FlushSoftTimeLimitBackground=2.0
; 设置应用程序后台时Flush的软限制时间(秒)
FlushHardTimeLimitBackground=4.0
; 设置应用程序后台时Flush的硬限制时间(秒)
FlushSoftTimeLimitShutdown=2.0
; 设置应用程序关闭时Flush的软限制时间(秒)
FlushHardTimeLimitShutdown=4.0
; 设置应用程序关闭时Flush的硬限制时间(秒)
FlushSoftTimeLimitFullFlush=-1.0
; 设置完全Flush时的软限制时间(秒),-1表示永不取消
FlushHardTimeLimitFullFlush=-1.0
; 设置完全Flush时的硬限制时间(秒),-1表示永不停止等待
[HTTP.HttpThread]
RunningThreadedRequestLimit=11
; 设置同时运行的线程化HTTP请求的限制数量
[HTTP.Curl]
bAllowSeekFunction=false
; 设置是否允许HTTP请求中使用seek功能,这里设置为不允许
[BackgroundHttp]
; 设置背景HTTP任务的相关参数
; How many BackgroundHTTP tasks can be running simultaneously. Turning this number too high may cause timeouts
; 可以同时运行多少个背景HTTP任务。设置过高可能会导致超时
MaxActiveDownloads=4
; How many days we will wait to delete any found BackgroundHTTP Temp Files that haven't been claimed. Default is 259200 seconds (3 days). -1 to disable.
; 我们会等待多少天来删除任何未被认领的背景HTTP临时文件。默认是259200秒(3天)。-1表示禁用
TempFileTimeOutSeconds=259200
; If we should delete any Temp Files in our BackgroundHTTP temp folder that don't have associated URL Mapping entries.
; 是否应该删除BackgroundHTTP临时文件夹中没有关联URL映射条目的临时文件
DeleteTempFilesWithoutURLMappingEntries=true
; If we should remove URL Mapping Entries on launch for any entries that don't have a corresponding temp file
; 是否应该在启动时移除没有对应临时文件的URL映射条目
RemoveURLMappingEntriesWithoutPhysicalTempFiles=true
[WebSockets]
; 设置WebSocket协议相关参数
+WebSocketsProtocols="ws"
+WebSocketsProtocols="wss"
+WebSocketsProtocols="v10.stomp"
+WebSocketsProtocols="v11.stomp"
+WebSocketsProtocols="v12.stomp"
+WebSocketsProtocols="xmpp"
; 添加支持的WebSocket协议
TextMessageMemoryLimit=1048576
; 设置文本消息内存限制(字节)
[WebSockets.LibWebSockets]
ThreadStackSize=131072
; 设置LibWebSockets线程栈大小
ThreadTargetFrameTimeInSeconds=0.0333
; 设置目标帧时间(秒)
ThreadMinimumSleepTimeInSeconds=0.0
; 设置线程的最小休眠时间(秒)
MaxHttpHeaderData=32768
; 设置最大HTTP头部数据大小(字节)
PingPongInterval=0
; 设置ping-pong间隔时间,0表示不进行ping-pong
[Ping]
StackSize=1048576
; 设置ping的栈大小
MinPingSendWaitTimeMs=10.0
; 设置发送ping的最小等待时间(毫秒)
[Voice]
bEnabled=false
; 设置是否启用语音功能
bDuckingOptOut=true
; 设置是否选择退出语音下降(降低其他声音以突出语音)
[SlateStyle]
DefaultFontName=/Engine/EngineFonts/Roboto
; 设置默认字体名称
[PlatformMemoryBuckets]
LargestMemoryBucket_MinGB=32
; 定义最大内存桶的最小GB数
LargerMemoryBucket_MinGB=12
; 定义较大内存桶的最小GB数
DefaultMemoryBucket_MinGB=8
; 定义默认内存桶的最小GB数
SmallerMemoryBucket_MinGB=6
; 定义较小内存桶的最小GB数
; if SmallestMemoryBucket_MinGB is set, then the engine will throw up an error and exit(0) if the device
; if SmallestMemoryBucket_MinGB is set, then the engine will throw up an error and exit(0) if the device has less
SmallestMemoryBucket_MinGB=0
; 如果设置了最小内存桶的最小GB数,那么如果设备的内存小于该值,引擎将抛出错误并退出
[CoreUObject.UninitializedScriptStructMembersCheck]
EngineModuleReflectedUninitializedPropertyVerbosity=Error
; 对于引擎模块反射未初始化的属性,将其严重性设置为错误
ProjectModuleReflectedUninitializedPropertyVerbosity=Error
; 对于项目模块反射未初始化的属性,将其严重性设置为错误
ObjectReferenceReflectedUninitializedPropertyVerbosity=Error
; 对于对象引用反射未初始化的属性,将其严重性设置为错误
[CoreUObject.ShortTypeNameInMetaDataCheck]
+MetaDataKeys=AllowedClasses
+MetaDataKeys=DisallowedClasses
+MetaDataKeys=BaseStruct
+MetaDataKeys=BaseClass
+MetaDataKeys=HasNativeMake
+MetaDataKeys=HasnativeBreak
+MetaDataKeys=RowType
+MetaDataKeys=BitmaskEnum
+MetaDataKeys=ActorClassToPoll
+MetaDataKeys=ComponentClass
+MetaDataKeys=MustImplement
+MetaDataKeys=MetaClass
+MetaDataKeys=MetaStruct
+MetaDataKeys=RequiredAssetDataTags
; 为元数据检查添加了一系列短类型名称的键
[/Script/Engine.Engine]
ConsoleClassName=/Script/Engine.Console
; 设置控制台的类名称
GameViewportClientClassName=/Script/Engine.GameViewportClient
; 设置游戏视口客户端的类名称
LocalPlayerClassName=/Script/Engine.LocalPlayer
; 设置本地玩家的类名称
WorldSettingsClassName=/Script/Engine.WorldSettings
; 设置世界设置的类名称
NavigationSystemClassName=/Script/NavigationSystem.NavigationSystemV1
; 设置导航系统的类名称
NavigationSystemConfigClassName=/Script/NavigationSystem.NavigationSystemModuleConfig
; 设置导航系统配置的类名称
AvoidanceManagerClassName=/Script/Engine.AvoidanceManager
; 设置回避管理器的类名称
PhysicsCollisionHandlerClassName=/Script/Engine.PhysicsCollisionHandler
; 设置物理碰撞处理器的类名称
LevelScriptActorClassName=/Script/Engine.LevelScriptActor
; 设置关卡脚本Actor的类名称
DefaultBlueprintBaseClassName=/Script/Engine.Actor
; 设置默认蓝图基类的类名称
GameUserSettingsClassName=/Script/Engine.GameUserSettings
; 设置游戏用户设置的类名称
AIControllerClassName=/Script/AIModule.AIController
; 设置AI控制器的类名称
AssetManagerClassName=/Script/Engine.AssetManager
; 设置资产管理器的类名称
bAllowMatureLanguage=false
; 设置是否允许成熟语言
GameEngine=/Script/Engine.GameEngine
; 设置游戏引擎的类名称
EditorEngine=/Script/UnrealEd.EditorEngine
; 设置编辑器引擎的类名称
UnrealEdEngine=/Script/UnrealEd.UnrealEdEngine
; 设置UnrealEd引擎的类名称
; Leaving these unset causes the engine to use FCoreStyle::GetDefaultFont() instead
; 下面的设置如果不设置,引擎将使用 FCoreStyle::GetDefaultFont() 代替
;TinyFontName=/Engine/EngineFonts/RobotoTiny.RobotoTiny
;SmallFontName=/Engine/EngineFonts/Roboto.Roboto
;MediumFontName=/Engine/EngineFonts/Roboto.Roboto
;LargeFontName=/Engine/EngineFonts/Roboto.Roboto
;SubtitleFontName=/Engine/EngineFonts/Roboto.Roboto
WireframeMaterialName=/Engine/EngineDebugMaterials/WireframeMaterial.WireframeMaterial
; 设置线框材质的名称
DefaultMaterialName=/Engine/EngineMaterials/WorldGridMaterial.WorldGridMaterial
; 设置默认材质的名称
DefaultLightFunctionMaterialName=/Engine/EngineMaterials/DefaultLightFunctionMaterial.DefaultLightFunctionMaterial
; 设置默认光照函数材质的名称
DefaultTextureName=/Engine/EngineResources/DefaultTexture.DefaultTexture
; 设置默认纹理的名称
DefaultDiffuseTextureName=/Engine/EngineMaterials/DefaultDiffuse.DefaultDiffuse
; 设置默认漫反射纹理的名称
DefaultBSPVertexTextureName=/Engine/EditorResources/B```ini
SPVertex.BSPVertex
; 设置默认BSP顶点纹理的名称
HighFrequencyNoiseTextureName=/Engine/EngineMaterials/Good64x64TilingNoiseHighFreq.Good64x64TilingNoiseHighFreq
; 设置高频噪声纹理的名称
DefaultBokehTextureName=/Engine/EngineMaterials/DefaultBokeh.DefaultBokeh
; 设置默认Bokeh纹理的名称
DefaultBloomKernelTextureName=/Engine/EngineMaterials/DefaultBloomKernel.DefaultBloomKernel
; 设置默认Bloom核心纹理的名称
DefaultFilmGrainTextureName=/Engine/EngineResources/FilmGrains/Marcie_Grain_v3_128_M2_000.Marcie_Grain_v3_128_M2_000
; 设置默认胶片颗粒纹理的名称
GeomMaterialName=/Engine/EngineDebugMaterials/GeomMaterial.GeomMaterial
; 设置几何材质的名称
DebugMeshMaterialName=/Engine/EngineDebugMaterials/DebugMeshMaterial.DebugMeshMaterial
; 设置调试网格材质的名称
EmissiveMeshMaterialName=/Engine/EngineMaterials/EmissiveMeshMaterial.EmissiveMeshMaterial
; 设置自发光网格材质的名称
PreIntegratedSkinBRDFTextureName=/Engine/EngineMaterials/PreintegratedSkinBRDF.PreintegratedSkinBRDF
; 设置预集成皮肤BRDF纹理的名称
BlueNoiseScalarTextureName=/Engine/EngineMaterials/STBlueNoise_scalar_128x128x64.STBlueNoise_scalar_128x128x64
; 设置蓝噪声标量纹理的名称
BlueNoiseVec2TextureName=/Engine/EngineMaterials/STBlueNoise_vec2_128x128x64.STBlueNoise_vec2_128x128x64
; 设置蓝噪声向量2纹理的名称
GlintTextureName=/Engine/EngineMaterials/Substrate/GLints/AGlintTex2dArray.AGlintTex2dArray
; 设置闪光纹理的名称
GlintTexture2Name=/Engine/EngineMaterials/Substrate/GLints2/AGlintTex2dArray2.AGlintTex2dArray2
; 设置第二种闪光纹理的名称
SimpleVolumeTextureName=/Engine/EngineMaterials/Substrate/Volume/SubstrateSimpleVolumeLUT3D.SubstrateSimpleVolumeLUT3D
; 设置简单体积纹理的名称
SimpleVolumeEnvTextureName=/Engine/EngineMaterials/Substrate/Volume/SubstrateSimpleVolumeEnvLUT3D.SubstrateSimpleVolumeEnvLUT3D
; 设置简单体积环境纹理的名称
MiniFontTextureName=/Engine/EngineMaterials/MiniFont.MiniFont
; 设置微型字体纹理的名称
WeightMapPlaceholderTextureName=/Engine/EngineMaterials/WeightMapPlaceholderTexture.WeightMapPlaceholderTexture
; 设置权重图占位符纹理的名称
LightMapDensityTextureName=/Engine/EngineMaterials/DefaultWhiteGrid.DefaultWhiteGrid
; 设置光照图密度纹理的名称
NaniteHiddenSectionMaterialName=/Engine/EngineMaterials/NaniteHiddenSectionMaterial.NaniteHiddenSectionMaterial
; 设置Nanite隐藏部分材质的名称
LevelColorationLitMaterialName=/Engine/EngineDebugMaterials/LevelColorationLitMaterial.LevelColorationLitMaterial
; 设置关卡着色(Lit)材质的名称
LevelColorationUnlitMaterialName=/Engine/EngineDebugMaterials/LevelColorationUnlitMaterial.LevelColorationUnlitMaterial
; 设置关卡着色(Unlit)材质的名称
LightingTexelDensityName=/Engine/EngineDebugMaterials/MAT_LevelColorationLitLightmapUV.MAT_LevelColorationLitLightmapUV
; 设置光照像素密度材质的名称
ShadedLevelColorationUnlitMaterialName=/Engine/EngineDebugMaterials/ShadedLevelColorationUnlitMateri.ShadedLevelColorationUnlitMateri
; 设置阴影关卡着色(Unlit)材质的名称
ShadedLevelColorationLitMaterialName=/Engine/EngineDebugMaterials/ShadedLevelColorationLitMaterial.ShadedLevelColorationLitMaterial
; 设置阴影关卡着色(Lit)材质的名称
RemoveSurfaceMaterialName=/Engine/EngineMaterials/RemoveSurfaceMaterial.RemoveSurfaceMaterial
; 设置移除表面材质的名称
VertexColorMaterialName=/Engine/Engine
DebugMaterials/VertexColorMaterial.VertexColorMaterial
; 设置顶点颜色材质的名称
VertexColorViewModeMaterialName_ColorOnly=/Engine/EngineDebugMaterials/VertexColorViewMode_ColorOnly.VertexColorViewMode_ColorOnly
; 设置顶点颜色查看模式(仅颜色)材质的名称
VertexColorViewModeMaterialName_AlphaAsColor=/Engine/EngineDebugMaterials/VertexColorViewMode_AlphaAsColor.VertexColorViewMode_AlphaAsColor
; 设置顶点颜色查看模式(Alpha作为颜色)材质的名称
VertexColorViewModeMaterialName_RedOnly=/Engine/EngineDebugMaterials/VertexColorViewMode_RedOnly.VertexColorViewMode_RedOnly
; 设置顶点颜色查看模式(仅红色)材质的名称
VertexColorViewModeMaterialName_GreenOnly=/Engine/EngineDebugMaterials/VertexColorViewMode_GreenOnly.VertexColorViewMode_GreenOnly
; 设置顶点颜色查看模式(仅绿色)材质的名称
VertexColorViewModeMaterialName_BlueOnly=/Engine/EngineDebugMaterials/VertexColorViewMode_BlueOnly.VertexColorViewMode_BlueOnly
; 设置顶点颜色查看模式(仅蓝色)材质的名称
PhysicalMaterialMaskMaterialName=/Engine/EngineDebugMaterials/PhysicalMaterialMaskMaterial.PhysicalMaterialMaskMaterial
; 设置物理材质掩码的材质名称
TexturePaintingMaskMaterialName=/Engine/EngineDebugMaterials/TexturePaintingMaskMaterial.TexturePaintingMaskMaterial
; 设置纹理绘制掩码材质的名称
BoneWeightMaterialName=/Engine/EngineDebugMaterials/BoneWeightMaterial.BoneWeightMaterial
; 设置骨骼权重材质的名称
ClothPaintMaterialName=/Engine/EngineDebugMaterials/ClothMaterial.ClothMaterial
; 设置布料绘制材质的名称
ClothPaintMaterialWireframeName=/Engine/EngineDebugMaterials/ClothMaterial_WF.ClothMaterial_WF
; 设置布料绘制线框材质的名称
DebugEditorMaterialName=/Engine/EngineDebugMaterials/DebugEditorMaterial.DebugEditorMaterial
; 设置调试编辑器材质的名称
InvalidLightmapSettingsMaterialName=/Engine/EngineMaterials/M_InvalidLightmapSettings.M_InvalidLightmapSettings
; 设置无效光照图设置材质的名称
PreviewShadowsIndicatorMaterialName=/Engine/EditorMaterials/PreviewShadowIndicatorMaterial.PreviewShadowIndicatorMaterial
; 设置预览阴影指示器材质的名称
EditorBrushMaterialName=/Engine/EngineMaterials/EditorBrushMaterial.EditorBrushMaterial
; 设置编辑器画笔材质的名称
DefaultPhysMaterialName=/Engine/EngineMaterials/DefaultPhysicalMaterial.DefaultPhysicalMaterial
; 设置默认物理材质的名称
DefaultDeferredDecalMaterialName=/Engine/EngineMaterials/DefaultDeferredDecalMaterial.DefaultDeferredDecalMaterial
; 设置默认延迟贴花材质的名称
DefaultPostProcessMaterialName=/Engine/EngineMaterials/DefaultPostProcessMaterial.DefaultPostProcessMaterial
; 设置默认后处理材质的名称
DefaultFlattenMaterialName=/Engine/EngineMaterials/FlattenMaterial.FlattenMaterial
; 设置默认展平材质的名称
DefaultHLODFlattenMaterialName=/Engine/EngineMaterials/FlattenMaterial_VT.FlattenMaterial_VT
; 设置默认HLOD展平材质的名称
DefaultLandscapeFlattenMaterialName=/Engine/EngineMaterials/FlattenMaterial_WS_Normal_VT.FlattenMaterial_WS_Normal_VT
; 设置默认景观展平材质的名称
TimecodeProviderClassName=None
; 设置时间码提供者的类名称
ArrowMaterialName=/Engine/EngineMaterials/GizmoMaterial.GizmoMaterial
; 设置箭头材质的名称
ParticleEventManagerClassPath="/Script/Engine.ParticleEventManager"
; 设置粒子事件管理器类的路径
LightingOnlyBrightness=(R=0.3,G=0.3,B=0.3,A=1.0)
; 设置仅用于光照的亮度值
+ShaderComplexityColors=(R=0.0,G=1.0,B=0.127,A=1.0)
+ShaderComplexityColors=(R=0.0,G=1.0,B=0.0,A=1.0)
+ShaderComplexityColors=(R=0.046,G=0.52,B=0.0,A=1.0)
+ShaderComplexityColors=(R=0.215,G=0.215,B=0.0,A=1.0)
+ShaderComplexityColors=(R=0.52,G=0.046,B=0.0,A=1.0)
+ShaderComplexityColors=(R=0.7,G=0.0,B=0.0,A=1.0)
+ShaderComplexityColors=(R=1.0,G=0.0,B=0.0,A=1.0)
+ShaderComplexityColors=(R=1.0,G=0.0,B=0.5,A=1.0)
+ShaderComplexityColors=(R=1.0,G=0.9,B=0.9,A=1.0)
; 为着色器复杂性视图添加一系列颜色设置
+QuadComplexityColors=(R=0.0,G=0.0,B=0.0,A=1.0)
+QuadComplexityColors=(R=0.0,G=0.0,B=0.4,A=1.0)
+QuadComplexityColors=(R=0.0,G=0.3,B=1.0,A=1.0)
+QuadComplexityColors=(R=0.0,G=0.7,B=0.4,A=1.0)
+QuadComplexityColors=(R=0.0,G=1.0,B=0.0,A=1.0)
+QuadComplexityColors=(R=0.8,G=0.8,B=0.0,A=1.0)
+QuadComplexityColors=(R=1.0,G=0.3,B=0.0,A=1.0)
+QuadComplexityColors=(R=0.7,G=0.0,B=0.0,A=1.0)
+QuadComplexityColors=(R=0.5,G=0.0,B=0.5,A=1.0)
+QuadComplexityColors=(R=0.7,G=0.3,B=0.7,A=1.0)
+QuadComplexityColors=(R=1.0,G=0.9,B=0.9,A=1.0)
; 为四边形复杂性视图添加一系列颜色设置
+LightComplexityColors=(R=0.0,G=0.0,B=0.0,A=1.0)
+LightComplexityColors=(R=0.0,G=0.0,B=0.4,A=1.0)
+LightComplexityColors=(R=0.0,G=0.3,B=1.0,A=1.0)
+LightComplexityColors=(R=0.0,G=0.7,B=0.4,A=1.0)
+LightComplexityColors=(R=0.0,G=1.0,B=0.0,A=1.0)
+LightComplexityColors=(R=0.8,G=0.8,B=0.0,A=1.0)
+LightComplexityColors=(R=1.0,G=0.3,B=0.0,A=1.0)
+LightComplexityColors=(R=0.7,G=0.0,B=0.0,A=1.0)
+LightComplexityColors=(R=0.5,G=0.0,B=0.5,A=1.0)
+LightComplexityColors=(R=0.7,G=0.3,B=0.7,A=1.0)
+LightComplexityColors=(R=1.0,G=0.9,B=0.9,A=1.0)
; 为光照复杂性视图添加一系列颜色设置
+StationaryLightOverlapColors=(R=0.0,G=1.0,B=0.127,A=1.0)
+StationaryLightOverlapColors=(R=0.0,G=1.0,B=0.0,A=1.0)
+StationaryLightOverlapColors=(R=0.046,G=0.52,B=0.0,A=1.0)
+StationaryLightOverlapColors=(R=0.215,G=0.215,B=0.0,A=1.0)
+StationaryLightOverlapColors=(R=0.52,G=0.046,B=0.0,A=1.0)
+StationaryLightOverlapColors=(R=0.7,G=0.0,B=0.0,A=1.0)
+StationaryLightOverlapColors=(
+StationaryLightOverlapColors=(R=1.0,G=0.0,B=0.0,A=1.0)
; 为静态光重叠添加颜色设置,红色
+StationaryLightOverlapColors=(R=1.0,G=0.0,B=0.5,A=1.0)
; 为静态光重叠添加颜色设置,洋红色
+StationaryLightOverlapColors=(R=1.0,G=0.9,B=0.9,A=1.0)
; 为静态光重叠添加颜色设置,浅粉色
+LODColorationColors=(R=1.0,G=1.0,B=1.0,A=1.0) ; white (LOD 0)
; 为LOD颜色设置添加颜色,白色表示LOD 0
+LODColorationColors=(R=1.0,G=0.0,B=0.0,A=1.0) ; red (LOD 1)
; 为LOD颜色设置添加颜色,红色表示LOD 1
+LODColorationColors=(R=0.0,G=1.0,B=0.0,A=1.0) ; green (etc...)
; 为LOD颜色设置添加颜色,绿色表示更高的LOD等级
+LODColorationColors=(R=0.0,G=0.0,B=1.0,A=1.0) ; blue
; 为LOD颜色设置添加颜色,蓝色
+LODColorationColors=(R=1.0,G=1.0,B=0.0,A=1.0) ; yellow
; 为LOD颜色设置添加颜色,黄色
+LODColorationColors=(R=1.0,G=0.0,B=1.0,A=1.0) ; fuchsia (bright purple)
; 为LOD颜色设置添加颜色,品红色(亮紫色)
+LODColorationColors=(R=0.0,G=1.0,B=1.0,A=1.0) ; cyan
; 为LOD颜色设置添加颜色,青色
+LODColorationColors=(R=0.5,G=0.0,B=0.5,A=1.0) ; purple
; 为LOD颜色设置添加颜色,紫色
+StreamingAccuracyColors=(R=1.0,G=0.0,B=0.0,A=1.0)
; 为流式精度设置添加颜色,红色
+StreamingAccuracyColors=(R=0.8,G=0.5,B=0.0,A=1.0)
; 为流式精度设置添加颜色,橙色
+StreamingAccuracyColors=(R=0.7,G=0.7,B=0.7,A=1.0)
; 为流式精度设置添加颜色,灰色
+StreamingAccuracyColors=(R=0.0,G=0.8,B=0.5,A=1.0)
; 为流式精度设置添加颜色,蓝绿色
+StreamingAccuracyColors=(R=0.0,G=1.0,B=0.0,A=1.0)
; 为流式精度设置添加颜色,绿色
+HLODColorationColors=(R=1.0,G=1.0,B=1.0,A=1.0) ; white (not part of HLOD)
; 为HLOD颜色设置添加颜色,白色表示不是HLOD的一部分
+HLODColorationColors=(R=0.0,G=1.0,B=0.0,A=1.0) ; green (part of HLOD but being drawn outside of it)
; 为HLOD颜色设置添加颜色,绿色表示是HLOD的一部分但在外部绘制
+HLODColorationColors=(R=0.0,G=0.0,B=1.0,A=1.0) ; blue (HLOD level 0)
; 为HLOD颜色设置添加颜色,蓝色表示HLOD级别0```ini
+HLODColorationColors=(R=1.0,G=1.0,B=0.0,A=1.0) ; yellow (HLOD level 1, etc...)
; 为HLOD颜色设置添加颜色,黄色表示HLOD级别1等
+HLODColorationColors=(R=1.0,G=0.0,B=1.0,A=1.0) ; purple
; 为HLOD颜色设置添加颜色,紫色
+HLODColorationColors=(R=0.0,G=1.0,B=1.0,A=1.0) ; cyan
; 为HLOD颜色设置添加颜色,青色
+HLODColorationColors=(R=0.5,G=0.5,B=0.5,A=1.0) ; grey
; 为HLOD颜色设置添加颜色,灰色
GPUSkinCacheVisualizationExcludedColor=(R=1.0,G=0.0,B=0.0,A=1.0) ; red (not use skin cache on sk mesh)
; GPU皮肤缓存可视化排除的颜色,红色(未在骨骼网格上使用皮肤缓存)
GPUSkinCacheVisualizationIncludedColor=(R=0.0,G=1.0,B=0.0,A=1.0) ; green (use skin cache on sk mesh)
; GPU皮肤缓存可视化包含的颜色,绿色(在骨骼网格上使用皮肤缓存)
GPUSkinCacheVisualizationRecomputeTangentsColor=(R=0.0,G=0.0,B=1.0,A=1.0) ; blue (use recompute tangents on sk mesh)
; GPU皮肤缓存可视化重新计算切线的颜色,蓝色(在骨骼网格上使用重新计算切线)
GPUSkinCacheVisualizationLowMemoryThresholdInMB=2.0
; GPU皮肤缓存可视化的低内存阈值(MB)
GPUSkinCacheVisualizationHighMemoryThresholdInMB=10.0
; GPU皮肤缓存可视化的高内存阈值(MB)
GPUSkinCacheVisualizationLowMemoryColor=(R=0.0,G=1.0,B=0.0,A=1.0) ; green
; GPU皮肤缓存可视化的低内存颜色,绿色
GPUSkinCacheVisualizationMidMemoryColor=(R=1.0,G=1.0,B=0.0,A=1.0) ; yellow
; GPU皮肤缓存可视化的中等内存颜色,黄色
GPUSkinCacheVisualizationHighMemoryColor=(R=1.0,G=0.0,B=0.0,A=1.0) ; red
; GPU皮肤缓存可视化的高内存颜色,红色
+GPUSkinCacheVisualizationRayTracingLODOffsetColors=(R=1.0,G=1.0,B=0.0,A=1.0) ; yellow (RT_LOD == Raster_LOD)
; GPU皮肤缓存光线追踪LOD偏移的颜色设置,黄色(光线追踪LOD等于光栅LOD)
+GPUSkinCacheVisualizationRayTracingLODOffsetColors=(R=1.0,G=0.0,B=0.0,A=1.0) ; red (RT_LOD == Raster_LOD + 1)
; GPU皮肤缓存光线追踪LOD偏移的颜色设置,红色(光线追踪LOD等于光栅LOD + 1)
+GPUSkinCacheVisualizationRayTracingLODOffsetColors=(R=0.0,G=1.0,B=0.0,A=1.0) ; green (RT_LOD == Raster_LOD + 2)
; GPU皮肤缓存光线追踪LOD偏移的颜色设置,绿色(光线追踪LOD等于
光栅LOD + 2)
+GPUSkinCacheVisualizationRayTracingLODOffsetColors=(R=0.0,G=0.0,B=1.0,A=1.0) ; blue (RT_LOD >= Raster_LOD + 3)
; GPU皮肤缓存光线追踪LOD偏移的颜色设置,蓝色(光线追踪LOD大于等于光栅LOD + 3)
MaxPixelShaderAdditiveComplexityCount=2000
; 设置最大像素着色器加法复杂度计数
MaxES3PixelShaderAdditiveComplexityCount=800
; 设置ES3最大像素着色器加法复杂度计数
bSubtitlesEnabled=True
; 设置是否启用字幕
bSubtitlesForcedOff=false
; 设置是否强制关闭字幕
MaximumLoopIterationCount = 1000000
; 设置最大循环迭代次数
; Allows Blueprint classes based on a native Actor or Component subclass to tick even if their parent has bCanEverTick flag set to false.
; 允许基于本地Actor或Component子类的蓝图类进行tick,即使它们的父类的bCanEverTick标志被设置为false。
bCanBlueprintsTickByDefault=true
; 设置蓝图类是否可以默认进行tick
; Controls whether anim blueprint nodes that access member variables of their class directly should use the optimized path that avoids a thunk to the Blueprint VM.
; 控制访问其类成员变量的动画蓝图节点是否应使用优化路径,避免对蓝图VM的thunk。
bOptimizeAnimBlueprintMemberVariableAccess=true
; 设置是否优化动画蓝图成员变量访问
CameraRotationThreshold=45.0
; 设置相机旋转阈值
CameraTranslationThreshold=10000
; 设置相机平移阈值
PrimitiveProbablyVisibleTime = 8.0
; 设置原始物体可能可见时间
MaxOcclusionPixelsFraction = 0.1
; 设置最大遮挡像素分数
MinLightMapDensity=0.0
; 设置最小光照图密度
IdealLightMapDensity=0.2
; 设置理想光照图密度
MaxLightMapDensity=0.8
; 设置最大光照图密度
RenderLightMapDensityGrayscaleScale=1.0
; 设置渲染光照图密度灰度比例
RenderLightMapDensityColorScale=1.0
; 设置渲染光照图密度颜色比例
bRenderLightMapDensityGrayscale=false
; 设置是否渲染光照图密度灰度图
LightMapDensityVertexMappedColor=(R=0.65,G=0.65,B=0.25,A=1.0)
; 设置光照图密度顶点映射颜色
LightMapDensitySelectedColor=(R=1.0,G=0.2,B=1.0,A=1.0)
; 设置光照图密度选中颜色
bPauseOnLossOfFocus=false
; 设置是否在失去焦点时暂停
MaxParticleResize=0
; 设置最大粒子调整大小
MaxParticleResizeWarn=0
; 设置最大粒子调整大小警告
NetClientTicksPerSecond=200
; 设置网络客户端每秒的tick数
+StatColorMappings=(StatName="AverageFPS",ColorMap=((In=15.0,Out=(R=255)),(In=30,Out=(R=255,G=255)),(In=45.0,Out=(G=255))))
; 为统计颜色映射添加一系列设置,这里是对平均FPS的设置
+StatColorMappings=(StatName="Frametime",ColorMap=((In=1.0,Out=(G=255)),(In=25.0,Out=(G=255)),(In=29.0,Out=(R=255,G=255)),(In=33.0,Out=(R=255))))
; 为统计颜色映射添加一系列设置,这里是对帧时间的设置
+StatColorMappings=(```ini
(StatName="Streaming fudge factor",ColorMap=((In=0.0,Out=(G=255)),(In=1.0,Out=(G=255)),(In=2.5,Out=(R=255,G=255)),(In=5.0,Out=(R=255)),(In=10.0,Out=(R=255))))
; 为统计颜色映射添加一系列设置,这里是针对流媒体修正因子的设置
DisplayGamma=2.2
; 设置显示伽马值
MinDesiredFrameRate=35.000000
; 设置最小期望帧率
; NetDriver configs
; 网络驱动配置
NetDriverDefinitions=(DefName="GameNetDriver",DriverClassName="/Script/OnlineSubsystemUtils.IpNetDriver",DriverClassNameFallback="/Script/OnlineSubsystemUtils.IpNetDriver")
; 定义游戏网络驱动的配置
+NetDriverDefinitions=(DefName="DemoNetDriver",DriverClassName="/Script/Engine.DemoNetDriver",DriverClassNameFallback="/Script/Engine.DemoNetDriver")
; 定义演示网络驱动的配置
+IrisNetDriverConfigs=(NetDriverDefinition=GameNetDriver, bCanUseIris=true)
; 定义Iris网络驱动的配置,可以使用Iris
+IrisNetDriverConfigs=(NetDriverName=DemoNetDriver, bCanUseIris=false)
; 定义Iris网络驱动的配置,不可以使用Iris
NetErrorLogInterval=1.0
; 设置网络错误日志记录间隔时间(秒)
SerializationOutOfBoundsErrorMessage=NSLOCTEXT("","SerializationOutOfBoundsErrorMessage","Corrupt data found, please verify your installation.")
; 设置序列化越界错误信息
SerializationOutOfBoundsErrorMessageCaption=NSLOCTEXT("","SerializationOutOfBoundsErrorMessageCaption","Serialization Error : Action Needed")
; 设置序列化越界错误标题
bSmoothFrameRate=false
; 设置是否平滑帧率
SmoothedFrameRateRange=(LowerBound=(Type="ERangeBoundTypes::Inclusive",Value=22),UpperBound=(Type="ERangeBoundTypes::Exclusive",Value=62))
; 设置平滑帧率范围
bCheckForMultiplePawnsSpawnedInAFrame=false
; 设置是否检查在一帧中生成了多个Pawns
NumPawnsAllowedToBeSpawnedInAFrame=2
; 设置一帧中允许生成的Pawns数量
; This is the default (additive) color of selected objects in the editor
; 这是编辑器中选中对象的默认(附加)颜色
DefaultSelectedMaterialColor=(R=0.84,G=0.92,B=0.02,A=1.0)
; 设置默认选中材质颜色
; This is the startup state of the OnScreenDebugMessage system
; 这是屏幕调试信息系统的启动状态
bEnableOnScreenDebugMessages=true
; 设置是否启用屏幕调试信息
; This shows errors and warnings on screen
; 在屏幕上显示错误和警告
DurationOfErrorsAndWarningsOnHUD=0
; 设置HUD上错误和警告的持续时间
NearClipPlane=10.0
; 设置近裁剪平面
; Default World Partition HLOD layer
; 默认的世界分区HLOD层
DefaultWorldPartitionHLODLayer=/Engine/Maps/Templates/HLODs/HLODLayer_Instanced.HLODLayer_Instanced
[CoreRedirects]
; All redirects prior to UE 4.10 are now in FCoreRedirects::RegisterNativeRedirects, new ones should be added to the bottom of this section
; 所有在UE 4.10之前的重定向现在都在FCoreRedirects::RegisterNativeRedirects中,新的重定向应该添加到这个部分的底部
; Redirects can now go in any ini file, including Plugin inis like PluginName/Config/BasePluginName.ini
; 重定向现在可以放在任何ini文件中,包括插件ini,如PluginName/Config/BasePluginName.ini
; This redirect format replaces the old ActiveClassRedirects/K2FieldRedirects format, and the syntax is the same for every type
; 这种重定向格式取代了旧的ActiveClassRedirects/K2FieldRedirects格式,每种类型的
文件结构与架构
BaseEngine.ini
文件是一个标准的INI文件,由多个分区组成,每个分区都以方括号[]
标记。每个分区代表了不同的配置领域,如脚本设置、网络驱动、音频设置等。文件中的键值对确定了特定配置项的值。
文件的架构设计遵循模块化和层次化的原则。通过对配置项进行逻辑分组,引擎能够轻松地在不同层次上覆盖设置:全局(BaseEngine.ini)、项目级(DefaultEngine.ini),以及平台级别(如iOS、Android等)。
配置项分析
脚本和游戏映射
在/Script/EngineSettings.GameMapsSettings
区块中,定义了游戏实例、编辑器启动地图和默认游戏模式等关键参数。这些设置决定了游戏和编辑器启动时加载的地图和游戏模式。
安装包管理
[InstallBundleManager]
部分规定了安装包管理器的模块名称,这对于控制游戏内容的下载和安装至关重要。这一部分的设置对游戏的安装和更新流程有直接影响。
网络设置
网络配置项,如[URL]
和[HTTP]
,定义了网络协议、玩家名称、端口以及HTTP通信的超时设置。这些是多人游戏和在线功能的基础。
背景HTTP传输
[BackgroundHttp]
区块定义了后台HTTP任务的行为,如下载任务的最大并发数量和临时文件的处理策略。这些设置影响了游戏如何处理大量的网络请求,尤其是在移动平台上。
垃圾收集和内存管理
在[CoreUObject.UninitializedScriptStructMembersCheck]
和[CoreUObject.ShortTypeNameInMetaDataCheck]
部分,配置了引擎在检测到未初始化的脚本结构成员时的行为。这样的细节关乎游戏的稳定性和性能。
引擎和编辑器设置
[/Script/Engine.Engine]
和[/Script/UnrealEd.EditorEngine]
是两个关键区块,它们包含了影响整个引擎行为的设置,如控制台类名、世界设置类名以及编辑器特定的参数。
难点与要点
解析BaseEngine.ini
文件的难点在于理解其配置项如何影响引擎的整体架构和行为。配置管理的复杂性在于必须在不牺牲灵活性的前提下保持清晰和高效。此外,配置项必须在不同的平台上具有适应性,并且能够通过项目设置进行覆盖,以满足特定游戏项目的需求。
结论
BaseEngine.ini
文件是Unreal Engine 5中一个至关重要的配置管理工具。通过对其内容的深入分析,我们得以洞察UE5在性能调优、资源管理和用户体验优化方面的强大灵活性。理解和掌握这个配置文件的内部工作机制对于任何希望精通UE5的开发者来说都是不可或缺的。这不仅仅是一个文件,而是引擎运行机制的蓝图,是连接开发者意图与引擎执行的桥梁。