--- title: 未命名 1 date: 2026-04-19 17:14:40 excerpt: tags: rating: ⭐ status: inprogress destination: share: false obsidianUIMode: source --- D:\Notes\BlueRoseNote_New\07-Other\AI\AI Agent\NeoX\H78优化记录Raw\GIt&SVN简报.md # 指定文件的最开始与最终变化 通过SVN检查以下文件第一个Commit与最后一个Commit之间的变化,请详细列出 1. ./neox.xml 2. ./res/scene/ 下所有Scn的渲染相关设置变化以及同名PostProcess文件的变化。 3. ./res/GlobalRenderComponentsConfig.xml ## 综合趋势 1. **性能全面降档**:Bloom/TAA High→Low, 关闭 SSAO 滤波和全分辨率, DOF Bokeh→Gaussian, 关闭 Lensflare — 针对移动端的后处理降级 2. **阴影系统统一化**:全局 CSM 2048→1024 / 4级→1级,49 个场景统一新增 CSMSceneSetting (距离40, 指数3) 3. **室内场景 VVGI 引入**:9 个室内场景新增体素全局光照 + 实时方向灯 + 面光源,从烘焙光照转向实时 GI 4. **室内场景重构**:room/LivestockRoom 等移除室外大气/云雾配置,改为纯室内照明方案 5. **矿洞场景整改**:天空 Legacy→SkyBox(紫色调)、DOF 降级、Lensflare 关闭 6. **顶点压缩全局化**:neox.xml 开启 CompressedVertexDataEnable + EnableVAT 7. **脚本加载重构**:从 npk 打包加载切换为离散文件加载,脚本根目录变更 ## 1. neox.xml 变化(r10 → r4001) | 设置项 | 旧值 (r10) | 新值 (HEAD) | 说明 | |--------|-----------|-------------|------| | EnableRectLighting | (不存在) | `true` | 新增:开启矩形光源支持 | | EnableVAT | (不存在) | `True` | 新增:开启顶点动画纹理 (VAT) | | CompressedVertexDataEnable | (不存在) | `True` | 新增:开启顶点数据压缩 | | nxjobsystem WorkerMax | (不存在) | `1` | 新增:限制 Job System 工作线程为 1 | | 脚本加载 root | `%WORK_DIR%\script` | `%WORK_DIR%\farm_script\client` | 脚本根目录从 script 改为 farm_script/client | | 脚本 loader name | `npk` | `discrete` | 从 npk 打包加载改为离散文件加载 | | Text/ 兜底 loader | 存在(opener="os", root=Text/, npk loader) | **删除** | 移除了 Text/ 加密脚本的兜底加载器 | --- ## 2. res/scene/ 下 Scn 渲染设置变化 ### 批量变化(多场景统一调整) #### BloomComponent | 设置路径 | 旧值 | 新值 | 涉及场景数 | 说明 | |---|---|---|---|---| | BloomComponent/Quality | High | **Low** | 全部 49 场景 | 泛光品质全面降级 | | BloomComponent/EnableAntiFlickering | 0 | **1** | 全部 49 场景 | 开启抗闪烁 | 其中 8 个场景(Room_01、beach01、farm、lunlunroom、map_01、resident01、town02、room)原先 ViewRenderComponentConfig0 为空节点,HEAD 新增了完整的 BloomComponent + SSAOComponent + TAAComponent 配置。 #### SSAOComponent | 设置路径 | 旧值 | 新值 | 涉及场景数 | |---|---|---|---| | SSAOComponent/UseFilter | 1 | **0** | 全部 49 场景 | | SSAOComponent/UseFullResolution | 1 | **0** | 15 场景(矿洞系列 + mine_treasure_floor5) | #### TAAComponent | 设置路径 | 旧值 | 新值 | 涉及场景数 | |---|---|---|---| | TAAComponent/TaaQuality | High | **Low** | 全部 49 场景 | | TAAComponent/EnableBicubic | 1 | **0** | 全部 49 场景 | | TAAComponent/EnableYCoCg | 1 | **(删除)** | 部分场景(NongChang_003、kuangdong_B01-B04/B06、room) | #### CSMSceneSetting(新增) | 设置路径 | 新值 | 涉及场景数 | |---|---|---| | CSMSceneSetting (整个节点) | CSMDebugMode=0, CustomShadowMode=0, ShadowDistance=**40**, DistributionExponent=**3** | 全部 49 场景 | 所有场景统一新增级联阴影贴图配置,参数完全一致。 #### LensflareComponent | 设置路径 | 旧值 | 新值 | 涉及场景数 | |---|---|---|---| | LensflareComponent/Enable | 1 | **0** | 约 22 场景 | 涉及:KuangDong_002/003, L_SmallTown, XLG006, kuangdong_A01-A06, A04_dark, A05_dark, kuangdong_B01-B06, NongChang_003, mine_treasure_floor5。 #### Cloud/Lighting/LuminanceScale | 设置路径 | 旧值 | 新值 | 涉及场景数 | |---|---|---|---| | Cloud/Lighting/LuminanceScale | 1.0,1.0,1.0,1.0 | **(删除)** | 30+ 场景 | #### 矿洞系列 DOFComponent(Bokeh → Gaussian) | 设置路径 | 旧值 | 新值 | 涉及场景数 | |---|---|---|---| | DOFComponent/Mode | Bokeh | **Gaussian** | 7 场景 | | DOFComponent/NearEnd | 100 | **10** | 7 场景 | | DOFComponent/FarBegin | 500 | **0** | 7 场景 | | DOFComponent/FarEnd | 600 | **150** | 7 场景 | 涉及:KuangDong_002, kuangdong_A01-A06。 #### 矿洞天空切换 | 设置路径 | 旧值 | 新值 | 涉及场景数 | |---|---|---|---| | SkyAtmosphereComponent/Type | Legacy | **SkyBox** | 12 场景 | | SkyBox/GimPath | builtin\models\sky\skybox.gim | **temp/sky/skybox.gim** | 12 场景 | | SkyColor | 浮点线性色值 | **134,111,219,255**(紫色调) | 12 场景 | 涉及:kuangdong_A01-A06, A04_dark, A05_dark, kuangdong_B01-B06, room。 #### 室内场景:新增方向灯 8 个室内场景从空 Folders 结构改为新增完整 direction_light 方向灯配置: ForestRoom, LivestockRoom, beach01_house01, hospitalroom, ironroom, seedroom, woodroom, room。 | 设置路径 | 旧值 | 新值 | 涉及场景数 | |---|---|---|---| | SceneLightSettings/HasRectLight | False | **True** | 8 场景 | | SceneLightSettings/CastShadow | False | **True** | 7 场景 | #### 室内场景:新增 VVGIComponent(体素全局光照) | 场景 | Enabled | IndirectIntensity | LocalLightGIScale | VVGISceneDistance | 其他 | |---|---|---|---|---|---| | ForestRoom | 1 | 1.0 | 1.0 | 120 | - | | beach01_house01 | 1 | 1.0 | 1.0 | 120 | - | | hospitalroom | 1 | 1.0 | 1.0 | 120 | - | | seedroom | 1 | 1.0 | 1.0 | 120 | - | | woodroom | 1 | 1.0 | 1.0 | 120 | - | | Workshop01 | 1 | 1.0 | 1.0 | (默认) | - | | **ironroom** | 1 | **3.0** | **6.0** | 120 | 高强度 VVGI | | LivestockRoom | 1 | 1.0 | 1.0 | 60 | CacheUpdateSpeed=5, SkyLightLeaking=0 | | **room** | 1 | 1.0 | **2.0** | 60 | CacheUpdateSpeed=3, SkyLightLeaking=0 | ### 单场景独有变化 #### LivestockRoom.scn | 设置路径 | 旧值 | 新值 | |---|---|---| | BloomComponent/BloomThreshold | 0.500000 | **-1.000000** | | BloomComponent/BloomIntensity | 5.000000 | **4.000000** | | BloomComponent/BloomSizeScale | 4.000000 | **2.000000** | | SSAOComponent/Type | HBAO | **GTAO** | | SSAOComponent/Intensity | 1.000000 | **2.000000** | | SSAOComponent/Radius | 1.000000 | **2.000000** | | HeightFogComponent | (完整配置) | **(整个删除)** | #### NongChang_003.scn | 设置路径 | 旧值 | 新值 | |---|---|---| | BloomComponent/BloomIntensity | 5.010000 | **5.000000** | | ColorGrading/LUTWeight | 1.000000 | **0.800000** | | ColorGrading/ColorSaturation (w) | 1.000000 | **0.900000** | | DOFComponent/Enabled | 1 | **0** | | ExposureComponent/UsePreExposition | 1 | **0** | | PipelineComponent_ShadowCast | (不存在) | CastSemiTransparentShadow=**0** | | DirectionalLight/ShadowNormalBias | 0.000000 | **0.500000** | | DirectionalLight/Diffuse Color | 白 (1,1,1,1) | 暖白 (1,0.949,0.882,1) | #### SeaSide.scn | 设置路径 | 旧值 | 新值 | |---|---|---| | ColorGrading/ColorSaturation (w) | 1.000000 | **0.900000** | | SSAOComponent/Intensity | 1.000000 | **0.500000** | | DirectionalLight/Intensity | 8.000000 | **6.000000** | #### Town03.scn | 设置路径 | 旧值 | 新值 | |---|---|---| | ColorGrading/LUTWeight | 1.000000 | **0.400000** | | ColorGrading/ColorSaturation (w) | 1.000000 | **0.900000** | | DOFComponent/Enabled | 1 | **0** | | DOFComponent/FarEnd | 320.000000 | **150.000000** | | SSAOComponent/Intensity | 1.000000 | **0.500000** | | DirectionalLight/ue4IndirectLightingIntensity | 0.000000 | **1.000000** | #### Workshop01.scn | 设置路径 | 旧值 | 新值 | |---|---|---| | DirectionalLight/Position | 8.068,1.526,17.193 | **-8.525,1.526,17.693** | | DirectionalLight/Direction | -0.108,-0.674,-0.731 | **-0.250,-0.674,-0.695** | | DirectionalLight/ShadowAlpha | 1.000000 | **0.500000** | | DirectionalLight/SpecularScale | 1.000000 | **0.000000** | | DirectionalLight/Intensity | 5.000000 | **3.000000** | #### mount01.scn | 设置路径 | 旧值 | 新值 | |---|---|---| | ColorGrading/LUTWeight | 1.000000 | **0.500000** | | ColorGrading/ColorSaturation (w) | 1.000000 | **0.920000** | | DOFComponent/Enabled | 1 | **0** | | SSAOComponent/Intensity | 1.000000 | **0.500000** | | SSAOComponent/Radius | 0.500000 | **0.300000** | #### neighbor01.scn | 设置路径 | 旧值 | 新值 | |---|---|---| | ColorGrading/ColorSaturation (w) | 1.000000 | **0.900000** | | DOFComponent/Enabled | 1 | **0** | | SSAOComponent/Intensity | 1.000000 | **0.500000** | #### room.scn(变动最复杂) | 设置路径 | 旧值 | 新值 | |---|---|---| | BloomComponent/BloomThreshold | 0.500000 | **-1.000000** | | BloomComponent/BloomIntensity | 5.000000 | **1.500000** | | BloomComponent/BloomSizeScale | 4.000000 | **2.000000** | | 新增 Film | - | Slope=0.88, Toe=0.55, Shoulder=0.26, WhiteClip=0.04 | | 新增 ColorGrading | - | LUT=scene/room_VVGI/RGBTable16x1_H78.png, LUTWeight=0.8 | | 新增 ExposureComponent | - | FixedExposure, Compensation=-0.2 | | SSAOComponent/Intensity | 1.000000 | **2.000000** | | SSAOComponent/Radius | 1.000000 | **2.000000** | | 新增 SSRComponent | - | Enabled=0, Quality=High | | 新增 SunShaftComponent | - | Enable=0(预设未启用) | | 新增 PipelineComponent_ShadowCast | - | CastSemiTransparentShadow=0 | | 新增 SuperResolutionComponent | - | Sharpness=100 | | HeightFogComponent/Type | LegacyHeightFog | **None** | | SkyAtmosphereComponent/Type | Legacy | **SkyBox** | | Planet/Cloud 节点 | (完整配置) | **(整体删除)** | | 新增方向灯 direction_light | - | Intensity=3.5, SpecularScale=0, ShadowAlpha=0.6 | --- ## 2b. res/scene/ 下 PostProcess 文件变化 共 **55 个 .postprocess 文件**有变更,其中 50 个有实际参数变化,5 个仅格式重排无参数变更。 ### 批量变化 #### CSMSceneSetting(新增,49 个场景) 同 .scn 文件一致:CSMDebugMode=0, CustomShadowMode=0, ShadowDistance=**40**, DistributionExponent=**3**。 #### BloomComponent(26 个场景) - **19 个场景**:Quality High→**Low**, EnableAntiFlickering 0→**1** - **7 个场景**(Room_01, beach01, farm, lunlunroom, map_01, resident01, town02):从无到有新增完整 Low 品质 Bloom 配置 #### TAAComponent(26 个场景) - **19 个场景**:TaaQuality High→**Low**, EnableBicubic 1→**0** - **7 个场景**:从无到有新增完整 Low 品质 TAA 配置 - MINE_B02-B04, MINE_B06 额外新增/修改顶层 TaaQuality #### SSAOComponent(26 个场景) - **19 个场景**:UseFilter 1→**0**,其中 8 个矿洞场景同时 UseFullResolution 1→**0** - **7 个场景**:从无到有新增完整 SSAO 配置(HBAO, UseFilter=0, UseFullResolution=0) #### DOFComponent(11 个场景) | 设置路径 | 旧值 | 新值 | 涉及场景 | |---|---|---|---| | Mode | Bokeh | **Gaussian** | 8-9 个矿洞场景 | | FarEnd | 600.0 | **150.0** | 同上 | | NearEnd | 24/100 | **10** | 同上 | | FarBegin | 36/500/20 | **0** | 11 个场景 | | Enabled | 1 | **0** | Shenshu01, Workshop01, mineA01 | #### LensflareComponent | 设置路径 | 旧值 | 新值 | 涉及场景数 | |---|---|---|---| | Enable | 1 | **0** | 8 场景(KuangDong_003, kuangdong_B01-B06, mine_treasure_floor5) | #### VVGIComponent(10 个场景新增) 与 .scn 中的 VVGI 配置一致。额外: - **Town03**:GIMethodType=**TraceWorldProbe**, IndirectIntensity=**2.0**, LocalLightGIScale=**2.0** - **ironroom**:IndirectIntensity=**3.0**, LocalLightGIScale=**6.0**(全项目最高) #### LuminanceScale 移除 | 设置路径 | 旧值 | 新值 | 涉及场景数 | |---|---|---|---| | 顶层 LuminanceScale | 1.0,1.0,1.0,1.0 | **(删除)** | 21 场景 | ### 单场景独有变化 #### room.postprocess(变动最大,约 142 处变更) **新增组件**: | 新增组件 | 关键参数 | |---|---| | ColorGrading | LUT=scene/room_VVGI/RGBTable16x1_H78.png, LUTWeight=0.8 | | ExposureComponent | FixedExposure, Compensation=-0.2 | | Film(色调映射) | Slope=0.88, Toe=0.55, Shoulder=0.26, WhiteClip=0.04 | | DOFComponent | Gaussian, Enabled=0, FarEnd=150 | | SunShaftComponent | Enable=0(预设未启用) | | SSRComponent | Enabled=0, Quality=High | | SuperResolutionComponent | Sharpness=100 | | PipelineComponent_ShadowCast | CastSemiTransparentShadow=0 | **移除内容**:整个 SkyAtmosphereComponent/Cloud 节点(约 40+ 参数)、HeightFog 所有子节点。 从完整室外天气/大气配置重构为纯室内场景。 #### LivestockRoom.postprocess HeightFogComponent 整体移除(ExpHeightFog、LegacyHeightFog、FogCulling 全部清除),新增 VVGI。 --- ## 3. GlobalRenderComponentsConfig.xml 变化(r10 → r3165) | 设置项 | 旧值 (r10) | 新值 (r3165) | 说明 | |--------|-----------|-------------|------| | EditorBuildPriority | Val="Disable" | **(删除)** | 移除编辑器构建优先级设置 | | EnableIB | Val="1" | **(删除)** | 移除 Instance Batching 开关 | | MaterialCommonComponent | (不存在) | **(新增空节点)** | 新增材质公共组件 | | CSM PerLayerResolution | **2048** | **1024** | 阴影贴图分辨率减半 | | CSM LayerCount | **4** | **1** | 级联层数从 4 降到 1 | | SoftShadowLevel | **Max** | **High** | 软阴影品质降低 | # 相关影响 ## 张子涵各提交具体变化 ### r3164 — NongChang_003 后处理降级(首次试点) **文件**: `res/scene/NongChang_003.scn`(1 个文件) | 参数 | 变更前 | 变更后 | 说明 | |---|---|---|---| | Bloom Quality | High | **Low** | 泛光质量降级 | | BloomIntensity | 5.010 | 5.000 | 微调 | | DOF Enabled | 1 | **0** | 关闭景深 | | UsePreExposition | 1 | **0** | 关闭自动曝光 | | Lensflare Enable | 1 | **0** | 关闭镜头光晕 | | SSAO UseFilter | 1 | **0** | 关闭 SSAO 滤波 | | TAA Quality | High | **Low** | TAA 降级 | | TAA EnableYCoCg | 1 | **0** | 关闭 YCoCg 色彩空间转换 | | TAA EnableBicubic | 1 | **0** | 关闭双三次采样 | 新增节点: - `PipelineComponent_ShadowCast` → CastSemiTransparentShadow=**0**(关闭半透明阴影投射) - `CSMSceneSetting` → ShadowDistance=**30**, DistributionExponent=**2**(新增场景级 CSM 控制) --- ### r3165 — GlobalRenderComponentsConfig.xml 全局阴影降级 **文件**: `res/GlobalRenderComponentsConfig.xml`(1 个文件) | 参数 | 变更前 | 变更后 | 说明 | | ---------------------- | ---- | -------- | ------------ | | CSM PerLayerResolution | 2048 | **1024** | 阴影贴图分辨率减半 | | CSM LayerCount | 4 | **1** | 级联层级从 4 降到 1 | | SoftShadowLevel | Max | **High** | 软阴影精度降低 | **影响**:全局生效,所有场景的阴影质量直接受影响。单级联 + 1024 分辨率在远处阴影边缘可能出现明显锯齿。 --- ### r3180 — NongChang_003 参数微调 **文件**: `res/scene/NongChang_003.scn`(1 个文件) | 参数 | 变更前 | 变更后 | 说明 | |---|---|---|---| | TAA EnableYCoCg | 0 | **1** | 恢复 YCoCg(r3164 关掉后又开回来) | | CSM ShadowDistance | 30 | **35** | 阴影距离增加 | | CSM DistributionExponent | 2 | **3** | 阴影分布更向近处集中 | 新增节点: - `CenariusVegetation` → UseGlobalConfig=true, GlobalConfigPath=`scene/NongChang_003_content/cenarius.cfg`(植被全局配置接入) --- ### r3248 — 全场景统一移动端设置(最大批量) **文件**: 约 **42 个 .scn + 42 个 .postprocess** + 2 个 .scnex,覆盖几乎所有游戏场景 涉及场景(示例):ForestRoom, KuangDong_002/003, L_SmallTown, LivestockRoom, NongChang_003, SeaSide, Shenshu01, Store_01, Town03, Workshop01, XLG006, beach01_house01, coop01-04, hospitalroom, ironroom, kuangdong_A01-A06, kuangdong_A04/A05_dark, kuangdong_B01-B06, map, mineA01, mine_treasure_floor5, mount01, neighbor01, neighborH, room, seedroom, woodroom **统一施加的渲染设置变化**(以 NongChang_003.scn 为代表): | 参数 | 变更前 | 变更后 | 说明 | |---|---|---|---| | Bloom EnableAntiFlickering | 0 | **1** | 开启抗闪烁 | | TAA EnableYCoCg | 存在 | **删除** | 移除该配置项 | | TAA AntiFlicker | 0.750 | **0.880** | 增加抗闪烁强度 | | **CastShadow** | **True** | **False** | **关闭场景级阴影投射** | | CSM ShadowDistance | 35 | **40** | 阴影距离微增 | 新增节点: - `LodPerViewSettings` → LodTransitionDuration=**500ms**, UseFixedLodLevel=0(LOD 过渡动画 500ms) **postprocess 文件**:同步使用编辑器重保存,格式统一化(XML 重排版),实际参数值与 scn 中的对应设置一致。 --- ### r3261 — 补充更多场景的阴影/后处理分级 **文件**: 约 **50 个 .scn + 50 个 .postprocess** + 若干 .scnex 相比 r3248 **新增覆盖的场景**:farm, beach01, lunlunroom, resident01, town02, map_01, Room_01, coop01-03(.scnex) 变更模式与 r3248 一致(编辑器整体重保存,统一后处理/阴影设置)。注意此提交是全文件重写 diff。 --- ### r3268 — 遗漏场景补充上传 **文件**: 32 个文件 — MINE_B01-B06.postprocess + 部分 scn/scnex **新覆盖的场景**:MINE_B01-B06(矿洞 B 系列 postprocess)、Workshop01, beach01, farm, kuangdong_B01-B06, lunlunroom, map_01, resident01, town02, Room_01 的 scn/scnex 补充调整。 --- ### r3440 — 场景模型 LOD 参数优化(移动端适配) **文件**: **133 个文件** — 46 .gim + 33 .lod2 + 31 .mtg + 12 .mesh + 11 .mtl **LOD 阈值大幅提升**(以 SM_Weed02 为例): | LOD Level | 变更前 LevelParam | 变更后 LevelParam | 倍数 | |---|---|---|---| | Level0 (最高) | 0.1015 | **0.6000** | ~6x | | Level1 | 0.0424 | **0.3000** | ~7x | | Level2 | 0.0176 | **0.1000** | ~6x | | Level3 (最低) | 0(显示最低LOD) | **0(LODType=2 → 完全剔除)** | 消失 | 新增属性: - `SimplifierType="0"` - `LODType="0"` (Level0-2), `LODType="2"` (Level3,完全剔除) **涉及模型类别**: - 植被:杂草(Weed)、灌木(Bush)、草地(Grass/FoliageGrass) - 树木:Maple(枫树)、Oak(橡树)、Pine(松树)、CherryBlossom(樱花)、PineThin - 地形散件:石头(Rock/Stone/Boulder/LimeStone)、树桩(Stump)、树枝(Twig)、大圆木(LargeLog) - 建筑:House_Online、House_Player、TimberShop、WorkShopBefore - 铁匠铺模型:Forge-4_Gradient **材质文件**同步变更:新增 `ShaderMacro`(ALPHA_TEST_ENABLE、TWO_SIDED、ALPHA_BLEND_ENABLE 显式声明)和 `RenderTechs`(DeferredGBuffer、ForwardOpaque、PreZ 等渲染通道声明)。 --- ### r3598 — Weed LOD 微调 **文件**: 5 个文件 — SM_Weed02/03/04 的 .lod2 和 .gim 在 r3440 基础上进一步微调杂草的 LOD 参数和网格数据。 --- ### r3978 — Mesh 顶点压缩 **文件**: **6935 个 .mesh 文件**(二进制格式,无法查看具体数值变化) 对项目中几乎所有骨骼网格文件执行顶点压缩。涉及目录: - `ANGRY_MESH/`(花卉、灌木、蘑菇等自然物) - `Marketplace/`(各种场景资产包) - `ProjectCoral/`(主场景资产) - `Characters/`(角色模型) - `Scenes/`(场景专用网格) - 以及其他所有包含 .mesh 的资源目录 --- ### LOD影响场景 张子涵 r3440 + r3598 修改了 33 个 `.lod2` 文件的 LOD 配置。以下列出所有模型的具体 LevelParam 变化,以及被哪些 `.scn` 场景文件引用。 **LODType 说明**:`0` = 显示对应 LOD 网格,`2` = 完全剔除(不渲染) #### 全部模型 LOD 参数变化明细(r3440) ##### 草地/杂草类 | 模型 | Level | 旧值 | 新值 | LODType | 备注 | |---|---|---|---|---|---| | **SM_FoliageGrass_Merge** | L0 | 0.1045 | **0.6000** | 0 | 从 4 级缩减为 3 级 | | | L1 | 0.0527 | **0.1000** | 0 | | | | L2 | 0.0151 | **0.0000** | **2** | 剔除 | | | L3 | 0 | *(删除)* | - | | | **SM_grass_bush** | L0 | 0 (仅1级) | **0.2000** | 0 | 从 1 级扩展为 2 级 | | | L1 | *(无)* | **0.0000** | **2** | 新增剔除级 | | **SM_grass1_Out** | L0 | 0.1058 | **0.6000** | 0 | | | | L1 | 0.0458 | **0.3000** | 0 | | | | L2 | 0.0316 | **0.1000** | 0 | | | | L3 | 0 | **0.0000** | **2** | 原显示→剔除 | | **SM_Weed02** (Debris) | L0 | 0.1015 | **0.6000** | 0 | | | | L1 | 0.0424 | **0.3000** | 0 | | | | L2 | 0.0176 | **0.1000** | 0 | | | | L3 | 0 | **0.0000** | **2** | 原显示→剔除 | | **SM_Weed03** (Debris) | L0 | 0.3991 | **0.6000** | 0 | | | | L1 | 0.1758 | **0.3000** | 0 | | | | L2 | 0.0940 | **0.1000** | 0 | | | | L3 | 0 | **0.0000** | **2** | 原显示→剔除 | | **SM_Weed04** (Debris) | L0 | 0.1015 | **0.6000** | 0 | | | | L1 | 0.0424 | **0.3000** | 0 | | | | L2 | 0.0176 | **0.1000** | 0 | | | | L3 | 0 | **0.0000** | **2** | 原显示→剔除 | | **SM_Weed03** (Foliage) | L0 | 0.2677 | **0.6000** | 0 | | | | L1 | 0.0608 | **0.3000** | 0 | | | | L2 | 0.0338 | **0.1000** | 0 | | | | L3 | 0 | **0.0000** | **2** | 原显示→剔除 | | **SM_Weed05** (Foliage) | L0 | 0.5268 | **0.6000** | 0 | | | | L1 | 0.1423 | **0.3000** | 0 | | | | L2 | 0.1136 | **0.1000** | 0 | | | | L3 | 0 | **0.0000** | **2** | 原显示→剔除 | ##### 灌木类 | 模型 | Level | 旧值 | 新值 | LODType | |---|---|---|---|---| | **SM_BushBig_02** | L0 | 0.0568 | **0.4000** | 0 | | | L1 | 0.0206 | **0.2000** | 0 | | | L2 | 0.0109 | **0.1000** | 0 | | | L3 | 0 | **0.0000** | 0 (保留) | ##### 树木类 | 模型 | Level | 旧值 | 新值 | LODType | |---|---|---|---|---| | **SM_TreeCherryBlossom01** | L0 | 0.1107 | **0.6000** | 0 | | | L1 | 0.0756 | **0.4500** | 0 | | | L2 | 0.0531 | **0.1500** | 0 | | | L3 | 0 | **0.0000** | 0 (保留) | | **SM_TreeCherryBlossom02** | L0 | 0.1093 | **0.6000** | 0 | | | L1 | 0.0747 | **0.3000** | 0 | | | L2 | 0.0524 | **0.1000** | 0 | | | L3 | 0 | **0.0000** | 0 (保留) | | **SM_TreeMaple01** | L0 | 0.3037 | **0.6000** | 0 | | | L1 | 0.0615 | **0.3000** | 0 | | | L2 | 0.0600 | **0.1000** | 0 | | | L3 | 0 | **0.0000** | 0 (保留) | | **SM_TreeOak01_S03** | L0 | 0.3476 | **0.6000** | 0 | | | L1 | 0.0445 | **0.3000** | 0 | | | L2 | 0.0393 | **0.1000** | 0 | | | L3 | 0 | **0.0000** | 0 (保留) | | **SM_TreePine01_S03** | L0 | 0.3315 | **0.6000** | 0 | | | L1 | 0.0519 | **0.4500** | 0 | | | L2 | 0.0205 | **0.1500** | 0 | | | L3 | 0 | **0.0000** | 0 (保留) | | **SM_TreePineThin01** | L0 | 0.1472 | **0.6000** | 0 | | | L1 | 0.0690 | **0.3000** | 0 | | | L2 | 0.0397 | **0.1000** | 0 | | | L3 | 0 | **0.0000** | 0 (保留) | ##### 石头/岩石类 | 模型 | Level | 旧值 | 新值 | LODType | |---|---|---|---|---| | **SM_stone_b** | L0 | 0.8986 | **0.6000** | 0 | | | L1 | 0.3777 | **0.3000** | 0 | | | L2 | 0.1570 | **0.1000** | 0 | | | L3 | 0 | **0.0000** | 0 (保留) | | **SM_stone_e** | L0 | 0.8062 | **0.6000** | 0 | | | L1 | 0.3216 | **0.3000** | 0 | | | L2 | 0.0989 | **0.1000** | 0 | | | L3 | 0 | **0.0000** | 0 (保留) | | **SM_stone_g** | L0 | 0.5608 | **0.8000** | 0 | | | L1 | 0.2017 | **0.5000** | 0 | | | L2 | 0.0656 | **0.2000** | 0 | | | L3 | 0 | **0.0000** | 0 (保留) | | **SM_Rock_Large_01** | L0 | 1.4285 | **0.6000** | 0 | | | L1 | 1.4284 | **0.3000** | 0 | | | L2 | 0.9183 | **0.1000** | 0 | | | L3 | 0 | **0.0000** | 0 (保留) | | **SM_Rock03** | L0 | 0.0863 | **0.1500** | 0 | | | L1 | 0.0440 | **0.1000** | 0 | | | L2 | 0.0138 | **0.0500** | 0 | | | L3 | 0 | **0.0000** | **2** (剔除) | | **SM_LimeStoneSmall01** | L0 | 0.9692 | **0.6000** | 0 | | | L1 | 0.3713 | **0.3000** | 0 | | | L2 | 0.1610 | **0.1000** | 0 | | | L3 | 0 | **0.0000** | 0 (保留) | | **Boulder_B_04** | L0 | 0.1400 | **0.3000** | 0 | | | L1 | 0.0728 | **0.1000** | 0 | | | L2 | 0.0448 | **0.0000** | **2** (剔除) | | | L3 | 0 | *(删除)* | - | | **Boulder_B_14** | L0 | 0.3857 | **0.3000** | 0 | | | L1 | 0.1868 | **0.1500** | 0 | | | L2 | 0.0882 | **0.1000** | 0 | | | L3 | 0 | **0.0000** | **2** (剔除) | ##### 宝石矿 | 模型 | Level | 旧值 | 新值 | LODType | |---|---|---|---|---| | **SM_precious_stone_03** | L0 | 0.6359 | **0.6000** | 0 | | | L1 | 0.1307 | **0.3000** | 0 | | | L2 | 0.0561 | **0.1000** | 0 | | | L3 | 0 | **0.0000** | **2** (剔除) | ##### 地形散件类 | 模型 | Level | 旧值 | 新值 | LODType | |---|---|---|---|---| | **SK_LargeLog01** | L0 | 1.1604 | **0.6000** | 0 | | | L1 | 0.4129 | **0.3000** | 0 | | | L2 | 0.1716 | **0.1000** | 0 | | | L3 | 0 | **0.0000** | **2** (剔除) | | **SM_Stump02** | L0 | 1.0460 | **0.6000** | 0 | | | L1 | 0.4173 | **0.3000** | 0 | | | L2 | 0.1609 | **0.1000** | 0 | | | L3 | 0 | **0.0000** | **2** (剔除) | | **SM_Twig03** | L0 | 0.1849 | **0.6000** | 0 | | | L1 | 0.0801 | **0.3000** | 0 | | | L2 | 0.0343 | **0.1000** | 0 | | | L3 | 0 | **0.0000** | **2** (剔除) | ##### 建筑类 | 模型 | Level | 旧值 | 新值 | LODType | |---|---|---|---|---| | **SM_House_Online** | L0 | 1.2367 | **1.2000** | 0 | | | L1 | 0.4566 | **0.8000** | 0 | | | L2 | 0.1645 | **0.3000** | 0 | | | L3 | 0 | **0.0000** | 0 (保留) | | **SM_House_Player** | L0 | 1.1742 | **1.2000** | 0 | | | L1 | 0.4390 | **0.8000** | 0 | | | L2 | 0.1581 | **0.3000** | 0 | | | L3 | 0 | **0.0000** | 0 (保留) | | **SM_TimberShop_01** | L0 | 0.8152 | **1.2000** | 0 | | | L1 | 0.3298 | **0.8000** | 0 | | | L2 | 0.1186 | **0.3000** | 0 | | | L3 | 0 | **0.0000** | 0 (保留) | ##### 铁匠铺 | 模型 | Level | 旧值 | 新值 | LODType | 备注 | |---|---|---|---|---|---| | **Forge-4_Gradient_0** | L0 | 0.8639 | **0.0000** | 0 | 从 4 级缩减为 1 级(仅保留最高LOD) | | | L1 | 0.3321 | *(删除)* | - | | | | L2 | 0.2073 | *(删除)* | - | | | | L3 | 0 | *(删除)* | - | | ##### 装饰物 | 模型 | Level | 旧值 | 新值 | LODType | |---|---|---|---|---| | **comm_obj_0040n** | L0 | 0.0689 | **0.4000** | 0 | | | L1 | 0.0390 | **0.2000** | 0 | | | L2 | 0.0256 | **0.1200** | 0 | | | L3 | 0 | **0.0000** | 0 (保留) | | **comm_obj_0041n** | L0 | 0.0393 | **0.4000** | 0 | | | L1 | 0.0209 | **0.2000** | 0 | | | L2 | 0.0140 | **0.1200** | 0 | | | L3 | 0 | **0.0000** | 0 (保留) | ##### r3598 追加调整(Weed LOD 回调) r3598 在 r3440 基础上将 Debris/Weed 系列的 LOD 阈值**下调了一半**: | 模型 | Level | r3440 值 | **r3598 最终值** | |---|---|---|---| | **SM_Weed02** (Debris) | L0 | 0.6000 | **0.3000** | | | L1 | 0.3000 | **0.1500** | | | L2 | 0.1000 | **0.0500** | | | L3 | 0 (剔除) | 0 (剔除,不变) | | **SM_Weed03** (Debris) | L0 | 0.6000 | **0.3000** | | | L1 | 0.3000 | **0.1500** | | | L2 | 0.1000 | **0.0500** | | | L3 | 0 (剔除) | 0 (剔除,不变) | | **SM_Weed04** (Debris) | L0 | 0.6000 | **0.3000** | | | L1 | 0.3000 | **0.1500** | | | L2 | 0.1000 | **0.0500** | | | L3 | 0 (剔除) | 0 (剔除,不变) | > 说明:r3598 将 Debris/Weed 的 LOD 阈值从 r3440 的统一 0.6/0.3/0.1 下调为 0.3/0.15/0.05,意味着杂草需要在更近距离才会降级,避免了肉眼可见的 pop-in。但 Foliage/Weeds 目录下的 SM_Weed03/05 未做此回调。 #### 场景直接引用的模型(22 个模型 → 命中 22 个场景) ##### 石头类(场景分布最广) | 模型 | 引用场景 | 场景数 | |---|---|---| | SM_stone_b | KuangDong_002/003, NongChang_003, XLG006, kuangdong_A01-A06, A04/A05_dark, kuangdong_B01-B06, mine_treasure_floor5 | **19** | | SM_stone_e | KuangDong_002/003, L_SmallTown, NongChang_003, XLG006, kuangdong_A01-A06, A04/A05_dark, kuangdong_B01-B06, mine_treasure_floor5, neighbor01, neighborH | **22** | | SM_stone_g | KuangDong_002/003, L_SmallTown, NongChang_003, XLG006, kuangdong_A01-A06, A04/A05_dark, kuangdong_B01-B06, mine_treasure_floor5 | **20** | | SM_Rock_Large_01 | NongChang_003, XLG006, mount01 | 3 | | SM_LimeStoneSmall01 | SeaSide, Shenshu01, Town03, map, map_01, mount01 | 6 | ##### 树木类 | 模型 | 引用场景 | 场景数 | |---|---|---| | SM_TreeOak01_S03 | NongChang_003, SeaSide, Shenshu01, Town03, map, mineA01, mount01, neighbor01, neighborH | **9** | | SM_TreeMaple01 | NongChang_003, SeaSide, Town03, map, neighbor01, neighborH | 6 | | SM_TreeCherryBlossom02 | NongChang_003, Shenshu01, Town03, map, neighbor01, neighborH | 6 | | SM_TreeCherryBlossom01 | NongChang_003, Shenshu01, mount01 | 3 | | SM_TreePine01_S03 | NongChang_003, mount01, neighbor01, neighborH | 4 | | SM_TreePineThin01 | NongChang_003, map, map_01 | 3 | | SK_TreePine01_S04_03 | Shenshu01, mineA01 | 2 | | SK_TreeOak01_S03_04 | neighbor01 | 1 | ##### 灌木/杂草类 | 模型 | 引用场景 | 场景数 | |---|---|---| | SM_BushBig_02 | NongChang_003, SeaSide, Shenshu01, Town03, map, mineA01, mount01, neighbor01, neighborH | **9** | | SM_Weed03 | neighbor01, neighborH | 2 | | SM_Weed04 | neighbor01, neighborH | 2 | | SM_Weed05 | neighbor01, neighborH | 2 | ##### 地形散件 | 模型 | 引用场景 | 场景数 | |---|---|---| | SM_Stump02 | neighbor01, neighborH | 2 | | SK_LargeLog01 | NongChang_003 | 1 | ##### 建筑 | 模型 | 引用场景 | 场景数 | |---|---|---| | SM_House_Player | L_SmallTown, NongChang_003, XLG006, beach01, farm | 5 | | SM_House_Online | L_SmallTown, XLG006, beach01, farm | 4 | | SM_TimberShop_01 | Town03, map | 2 | ##### 其他 | 模型 | 引用场景 | 场景数 | |---|---|---| | comm_obj_0040n | NongChang_003, Town03, neighbor01, neighborH | 4 | | comm_obj_0041n | NongChang_003, neighbor01, neighborH | 3 | #### 关键结论 1. **NongChang_003(主农场)和 neighbor01/neighborH(邻居场景)受影响最大**,超过 12 个模型的 LOD 阈值被调整 2. **石头类模型(stone_b/e/g)影响面最广**,覆盖 19-22 个场景(几乎所有室外场景 + 全部矿洞) 3. **SM_BushBig_02 和 SM_TreeOak01_S03 各覆盖 9 个场景**,是植被中影响面最大的 4. **建筑模型(House_Player/Online)影响 4-5 个场景**,玩家房屋在多个场景可见 5. **约一半模型(22/44)不在 .scn 中直接引用**,通过 UE Actor 管线或 Cenarius 植被系统加载,但 LOD 设置同样生效 6. **矿洞系列 18 个场景虽数量多,但仅引用石头类模型**,LOD 影响相对可控 ### 综合影响评估 #### 1. 后处理画质降级(r3164 → r3248 → r3261 → r3268) | 功能 | 变化 | 性能收益 | 画质代价 | |---|---|---|---| | Bloom | High → Low | 减少 bloom 下采样/模糊 pass 数 | 泛光边缘更粗糙 | | DOF | 开 → 关 | 省掉整个景深 pass | 失去远近虚化效果 | | 自动曝光 | 开 → 关 | 省掉直方图计算 | 亮暗场景切换时不再自动适应 | | 镜头光晕 | 开 → 关 | 省掉 lensflare 计算 | 太阳方向失去镜头感 | | TAA | High → Low, 去掉 YCoCg/Bicubic | 减少每帧 TAA 采样和重投影开销 | 抗锯齿质量下降,可能出现更多闪烁 | | SSAO 滤波 | 开 → 关 | 省掉 SSAO 模糊 pass | AO 边缘更硬/有噪点 | | 半透明阴影 | 开 → 关 | 减少 shadowmap 渲染对象数 | 半透明物体(树叶、玻璃等)不再投射阴影 | **注意**:这些降级是写死在场景文件里的,不随画质档位变化。后续脚本层的画质分档系统(程侃 Git 提交)会在此基础上叠加动态控制。 #### 2. 阴影系统大幅简化(r3165 + r3248) - **全局 CSM**:分辨率减半(2048→1024)+ 级联层数从 4 降到 1 - **场景级 CastShadow=False**:大部分场景关闭了静态物体阴影投射 - 综合效果:**场景级静态物体基本不投射阴影,仅保留可能由脚本动态控制的角色阴影** - 风险:低画质下如果脚本层也关阴影,场景将完全没有阴影;中高画质下需要脚本层重新开启 #### 3. LOD 策略激进化(r3440 + r3598) - LOD 切换阈值提升 **~6-7 倍**,模型在更近的距离就切换到低精度版本 - 最远级别改为 **完全剔除**(LODType=2),而非显示最低 LOD 网格 - LOD 过渡时间 500ms - 涉及 **全场景主要自然物体和建筑模型** - 风险:中近距离可能出现 **LOD pop-in**(模型突然切换为低精度),尤其在快速移动相机时明显 #### 4. 顶点压缩(r3978) - **6935 个 .mesh 文件**全量压缩 - 减少 GPU 顶点缓冲区内存占用和带宽消耗 - 风险:极端情况下可能引入微小顶点位置精度误差(通常肉眼不可见);若压缩格式与某些 shader 不兼容可能出现渲染异常 #### 5. 时间线与依赖关系 ``` 4/3 r3164 ─ NongChang 试点后处理降级 4/3 r3165 ─ 全局 CSM 降级(影响所有场景) 4/3 r3180 ─ NongChang 参数回调(YCoCg 恢复、阴影距离调大) 4/3 r3248 ─ 全场景批量设置(最大影响面) 4/3 r3261 ─ 补充更多场景 4/3 r3268 ─ 遗漏场景补充 4/7 r3440 ─ LOD 参数移动端适配(133 文件) 4/8 r3598 ─ Weed LOD 微调 4/10 r3978 ─ Mesh 顶点压缩(6935 文件) ``` 张子涵的优化工作路线:**后处理降级(4/3) → 阴影简化(4/3) → LOD 激进化(4/7-4/8) → 顶点压缩(4/10)**,配合程侃同期的脚本层画质分档系统和贴图压缩,共同构成移动端性能优化方案。 ## 程侃代码影响 ### 提交前基线状态(aa9e6b12 之前) 只有两档:HIGH(0) / LOW(1)。`GlobalData.graphic_level` 默认 HIGH。 | 功能 | HIGH | LOW | |------|------|-----| | 管线 | Forward | Deferred | | 分辨率 | 1.0 | 0.7 | | SSR | 场景默认(mActive=False) | 强制关闭 | | SSAO | 场景默认(mActive=False) | 强制开启(Type=2) | | 阴影 | 不控制 | 不控制 | | Bloom/DOF/TAA | 不控制 | 不控制 | | LOD | 不控制 | 不控制 | --- ### aa9e6b12 — 高中低三档 + 低档关阴影 - 新增 `MEDIUM = 1`,LOW 从 1 变为 2 - **HIGH 变成"最干净"**:SSR/SSAO 全部 `mActive=False`(不覆盖场景默认,场景文件里美术配什么就是什么) - **MEDIUM 继承了原 LOW 的配置**:Deferred 管线、0.7 分辨率、SSR 关、SSAO 开(Type=2+Filter) - **LOW 新增**:关闭主光源阴影 (`light.enable_shadow = False`) - 管线判断逻辑反转:原来 LOW=Deferred / HIGH=Forward,现在 HIGH=Forward / MEDIUM+LOW=Deferred --- ### 8951e2e9 — pub_design 默认中画质 + 后处理细分 + 低档 0.5 分辨率 - **`IS_DESIGN_TEST and IS_RELEASE` 时默认 MEDIUM** — 策划体验包强制走中画质 - **LOW 分辨率从 0.7 降至 0.5** — 像素量仅为原生的 25% - **三档后处理细分**: | 后处理 | HIGH | MEDIUM | LOW | |--------|------|--------|-----| | Bloom | mActive=False(场景默认) | mActive=False(场景默认) | **强制关闭** | | DOF | mActive=False(场景默认) | mActive=False(场景默认) | **强制关闭** | | TAA | mActive=False(场景默认) | mActive=False(场景默认) | **强制关闭** | --- ### da9a031b — LOD 偏移 + 三档显式 LOD 配置 - HIGH/MEDIUM: `mLodBias = 0`(正常 LOD 级别) - **LOW: `mLodBias = 1`** — LOD 往下偏移一级,模型在相同距离显示更低精度版本 - 三档都显式设置 `mLodPerViewSettingsConfig.mActive = True`,保证幂等(避免切换画质后 LOD 状态残留) --- ### c2ccbeb8 — GM 重构(纯架构,渲染逻辑等价) - 将 `refresh_default_render_config()` 拆分为 `_FEATURE_LEVEL_MAP`(数据表)+ 每功能独立 `_apply_xxx`(执行函数) - 数据映射与之前完全一致,只是结构化 - 新增 `GMGraphic.py` 虚拟文件夹,可在 GM 面板中单独切换每个渲染功能(管线/分辨率/SSR/SSAO/Bloom/DOF/TAA/LOD/阴影) - 后处理功能引入三态语义:`None`=场景默认、`True`=脚本强制开、`False`=脚本强制关 --- ### 最终三档画质对比(当前状态) | 功能 | HIGH | MEDIUM | LOW | |------|------|--------|-----| | **管线** | Forward | Deferred | Deferred | | **分辨率** | 1.0 (100%) | 0.7 (70%) | **0.5 (50%)** | | **SSR** | 场景默认 | 强制关 | 强制关 | | **SSAO** | 场景默认 | **强制开**(Type=2+Filter) | 强制关 | | **Bloom** | 场景默认 | 场景默认 | 强制关 | | **DOF** | 场景默认 | 场景默认 | 强制关 | | **TAA** | 场景默认 | 场景默认 | 强制关 | | **LOD Bias** | 0 | 0 | **+1** | | **阴影** | 开 | 开 | **关** | ### 画质切换逻辑 **没有平台级自动档位选择。** 整个脚本仓库中不存在基于设备性能、GPU 能力或平台类型的自动画质选择逻辑。 #### `graphic_level` 的三个写入点(全代码库仅此三处) **1) 模块默认值 — `GlobalData.py:69`** ```python graphic_level: int = GraphicLevel.HIGH ``` 所有环境的起始值都是 HIGH。 **2) 唯一的自动降级 — `demo.py:30-33`** ```python def _init_graphic_level(): if version_config.IS_DESIGN_TEST and version_config.IS_RELEASE: GlobalData.graphic_level = GraphicLevel.MEDIUM ``` 在 `demo.init()` 启动流程中调用(line 196)。仅当两个标志同时为 True 时降为 MEDIUM。 **3) GM 手动切换(仅调试用)— `GMCommandHandle.py:571`** ```python GlobalData.graphic_level = levels[next_index] # 循环 HIGH→MEDIUM→LOW→HIGH ``` #### 各包类型对应的画质等级 `version_config.py` 在本地源码中默认 `IS_DESIGN_TEST=False, IS_RELEASE=False`。打包时由 `pack_farm.py` 的 `modify_version_config()` 方法物理覆写此文件,打包完成后 `git reset --hard` 恢复。 | 包类型 | IS_DESIGN_TEST | IS_RELEASE | 画质等级 | |--------|----------------|------------|----------| | 本地开发 / PC 编辑器 | False | False | **HIGH** | | inner_design_demo | True | False | **HIGH**(条件不满足,and 短路) | | **pub_design_demo** | **True** | **True** | **MEDIUM** | | inner_trunk_demo | False | False | **HIGH** | | pub_trunk_demo | False | False | **HIGH** | #### LOW 永远不会被自动触发 `GraphicLevel.LOW` 没有任何自动触发路径。不存在任何条件(包类型、平台、设备性能)会自动将画质设为 LOW。LOW 只能通过 GM 面板手动切换到达。 #### 不存在的逻辑 以下机制在整个代码库中完全不存在: - **设备性能检测** — 无 GPU benchmarking、device score、device tier - **平台判断选画质** — `is_mobile()`(`client_utils.py:82`)和 `game3d.get_platform()` 只用于输入处理和 FPS 设置,从未参与画质决策。`SceneRenderHelper` 中原有的 `# platform = game3d.get_platform()` 已被注释掉 - **设备白名单/黑名单** — 无按机型分级逻辑 - **运行时性能自适应** — 无根据帧率动态调整画质的逻辑 #### 完整流程图 ``` 构建时: pack_farm.py 根据 --is_design_test / --is_release 参数覆写 version_config.py pub_design_demo => IS_DESIGN_TEST=True, IS_RELEASE=True 启动 (demo.init): _init_graphic_level() IS_DESIGN_TEST and IS_RELEASE? => graphic_level = MEDIUM 否则 => 保持 HIGH(GlobalData 默认值) 场景加载 (Space.on_scene_view_changed): refresh_default_render_config() 读取 GlobalData.graphic_level set_feature_states_from_level(level) => 填充 graphic_feature_states 字典 apply_all_features() => 逐个调用 _apply_* 函数: _apply_pipeline() -- forward vs deferred _apply_resolution() -- render.set_redirect_scale(scale)(全代码库唯一调用点) _apply_ssr() -- SSR 三态 _apply_ssao() -- SSAO 三态 _apply_bloom() -- Bloom 三态 _apply_dof() -- DOF 三态 _apply_taa() -- TAA 三态 _apply_lod_bias() -- LOD 偏移值 _apply_shadow() -- 阴影开关 运行时调试: GM "渲染" 指令 => 循环切换 graphic_level => 重新应用全部功能 GM "画质控制" 虚拟文件夹 => 单独切换各功能(绕过等级预设) ``` --- ### 为什么移动端渲染比 PC 编辑器差很多 核心原因不是某个功能有 bug,而是**画质等级选择逻辑本身在做分层降质**。 #### 1. 默认画质等级的差异是根因 - `GlobalData.graphic_level` 默认值 = `GraphicLevel.HIGH`(`GlobalData.py:69`) - **PC 编辑器** / 开发者本地 → `IS_DESIGN_TEST=False, IS_RELEASE=False` → **默认 HIGH** - **策划体验包**(pub_design)→ `IS_DESIGN_TEST=True, IS_RELEASE=True` → `_init_graphic_level()` **强制降为 MEDIUM**(`demo.py:32`) - 没有基于设备性能的自动选档逻辑(`game3d.get_platform()` 被注释掉了) #### 2. HIGH → MEDIUM 的差距已经很大 | 差异项 | 效果影响 | |--------|----------| | Forward → Deferred | 光照模型不同,Deferred 在移动端可能丢失前向渲染特有的透明/半透效果 | | 分辨率 1.0 → 0.7 | 像素量直接降到 49%(0.7×0.7),画面明显模糊 | | SSR 场景默认 → 强制关 | 水面、地板反射完全消失 | | SSAO 场景默认 → 强制开 | 这个反而是"加了",但在低分辨率 Deferred 管线下效果有限 | #### 3. LOW 是全面劣化 - 分辨率 50%(像素量仅 25%) - Bloom/DOF/TAA 全关 — 无泛光、无景深、无抗锯齿 - 阴影关闭 — 场景完全没有阴影 - LOD +1 — 模型更粗糙 - SSAO 也关了 — 无环境遮蔽 #### 4. "场景默认" vs "脚本强制" 的机制陷阱 HIGH 档对 SSR/SSAO/Bloom/DOF/TAA 都设 `mActive=False`,意思是**不覆盖场景默认设置**。美术在编辑器里调好的场景渲染参数会完整生效。 MEDIUM/LOW 档用 `mActive=True` + `mEnabled=True/False` **强制覆盖了场景级别的后处理配置**。 结论:**美术在编辑器里精心调好的场景渲染参数,只在 HIGH 档下能完整体现**。MEDIUM/LOW 的脚本会强制覆盖场景设置。 #### 5. 与张子涵 SVN 提交的叠加效应 张子涵在场景文件层面已经做了一轮降级(Bloom High→Low, TAA High→Low, SSAO UseFilter关闭, DOF Bokeh→Gaussian等)。程侃的脚本层画质分档系统在此基础上**再叠加动态控制**: - HIGH 档:场景文件已降级的设置生效(Bloom Low + TAA Low + ...) - MEDIUM 档:SSR 强制关 + SSAO 强制开(覆盖场景设置)+ 0.7 分辨率 + Deferred 管线 - LOW 档:在 MEDIUM 基础上再关 Bloom/DOF/TAA/SSAO/阴影 + 0.5 分辨率 + LOD+1 两层降级叠加后,移动端(MEDIUM/LOW)相比 PC 编辑器(HIGH + 原始场景设置)的差距非常显著。 #### 6. 时间线 ``` 4/7 aa9e6b12 ─ 三档画质 + 低档关阴影 4/8 8951e2e9 ─ pub_design 默认中画质 + 后处理细分 + 低档 0.5 分辨率 4/8 da9a031b ─ LOD 偏移 + 三档幂等 4/14 c2ccbeb8 ─ GM 重构(架构优化,逻辑等价) ``` 与张子涵 SVN 优化(4/3 场景降级 → 4/7 LOD → 4/10 顶点压缩)同步推进,共同构成移动端性能优化的**场景层 + 脚本层**双重方案。 # 贴图压缩影响 已完成全量分析并写入 # 贴图压缩影响 章节。核心发现: - 1888 个贴图,4852 MB → 433 MB,整体压缩 91.1% - 71% 文件压缩到原始 25% 以下 — 非常激进 - 大量法线/ORM 贴图被替换为纯色占位图(12 MB → 3 KB),尤其是赵晴等 NPC 角色和多种场景资产,细节完全丢失 - 按类别:NPC 角色压缩率最高(93.8%),动物最极端(95.3%) - 单文件最大节省:T_OakTree_Bark_01_A.png,21.7 MB → 63 KB - 提交标注为"测试贴图压缩",属实验性质 ## 总览 | 指标 | 值 | |---|---| | 涉及文件数 | **1888** | | 压缩前总大小 | **4,852.2 MB** | | 压缩后总大小 | **433.3 MB** | | 节省空间 | **4,418.8 MB** | | 整体压缩率 | **91.1%**(压缩后仅为原始的 8.9%) | ## 按资源类别统计 | 类别 | 文件数 | 压缩前 | 压缩后 | 节省 | 压缩率 | |---|---|---|---|---|---| | UE场景资产 | 895 | 2,384.8 MB | 181.4 MB | 2,203.3 MB | 92.4% | | 场景 | 233 | 767.7 MB | 81.6 MB | 686.1 MB | 89.4% | | NPC角色 | 63 | 540.5 MB | 33.8 MB | 506.7 MB | **93.8%** | | 道具 | 317 | 389.7 MB | 57.3 MB | 332.4 MB | 85.3% | | AIGC食材 | 51 | 238.0 MB | 23.6 MB | 214.4 MB | 90.1% | | UI | 185 | 181.6 MB | 18.5 MB | 163.1 MB | 89.8% | | 玩家角色 | 70 | 159.0 MB | 20.9 MB | 138.0 MB | 86.8% | | UE角色资产 | 35 | 112.0 MB | 11.5 MB | 100.5 MB | 89.8% | | 动物 | 19 | 69.5 MB | 3.3 MB | 66.3 MB | **95.3%** | | 道具模型 | 9 | 7.7 MB | 1.2 MB | 6.5 MB | 83.9% | | 特效 | 11 | 1.8 MB | 0.2 MB | 1.6 MB | 89.8% | ## 按贴图类型统计 | 贴图类型 | 文件数 | 压缩前 | 压缩后 | 节省 | 压缩率 | |---|---|---|---|---|---| | Other(无明确后缀) | 727 | 1,803.7 MB | 125.4 MB | 1,678.3 MB | **93.0%** | | BaseColor(_D/_B/_BaseColor) | 531 | 1,316.5 MB | 149.7 MB | 1,166.8 MB | 88.6% | | Normal(_N/_Normal) | 298 | 1,202.9 MB | 115.9 MB | 1,086.9 MB | 90.4% | | ORM(_ORM/_MRO/_Roughness) | 297 | 481.3 MB | 37.4 MB | 443.9 MB | 92.2% | | Mask | 11 | 27.7 MB | 1.1 MB | 26.6 MB | **96.0%** | | Emissive | 21 | 19.5 MB | 3.8 MB | 15.7 MB | 80.5% | | HeightMap | 3 | 0.6 MB | 0.04 MB | 0.6 MB | 99.4% | ## 按文件格式统计 | 格式 | 文件数 | 压缩前 | 压缩后 | 节省 | 压缩率 | |---|---|---|---|---|---| | .png | 1,770 | 3,853.0 MB | 358.6 MB | 3,494.4 MB | 90.7% | | .tga | 117 | 998.7 MB | 74.7 MB | 924.0 MB | 92.5% | | .jpg | 1 | 0.5 MB | 0.05 MB | 0.4 MB | 90.2% | ## 压缩率分布 | 压缩后/原始 比例 | 文件数 | 占比 | 说明 | |---|---|---|---| | 0-25%(压缩超过 75%) | **1,341** | **71.0%** | 绝大多数文件压缩极度激进 | | 25-50% | 495 | 26.2% | | | 50-75% | 39 | 2.1% | | | 75-90% | 0 | 0% | | | 90-100%(几乎不变) | 12 | 0.6% | | | >100%(变大) | 1 | 0.1% | T_NongChang_LandscapeWeight_001.png | **71% 的文件压缩到原始大小的 25% 以下**,说明大量贴图被降低分辨率或使用了更激进的压缩参数。 ## 压缩最极端的文件(几乎归零) 以下文件从数 MB 压缩到几百字节甚至不足 100 字节,说明被替换为**纯色/空白占位图**: | 原大小 | 新大小 | 比率 | 类别 | 文件 | |---|---|---|---|---| | 16.0 MB | 4 KB | 0.000x | 动物 | T_White.tga(×2) | | 12.0 MB | 3 KB | 0.000x | NPC角色 | T_ZhaoQing 系列法线/ORM(10 个文件) | | 12.0 MB | 3 KB | 0.000x | 道具 | T_PackagingMachine_01_N/ORM.tga, T_Barn_01_N.tga 等 | | 12.6 MB | 3 KB | 0.000x | 动物 | T_SmallChicken_01_N.tga | | 12.6 MB | 2.5 KB | 0.000x | UE场景资产 | T_Default_N.png | | 10.8 MB | 1.1 KB | 0.000x | UE场景资产 | T_Cliff_Large_C/N/R.png | | 7.2 MB | 0.7 KB | 0.000x | UE场景资产 | T_DirtTile_R.png | | 5.0 MB | 1.1 KB | 0.000x | UI | T_concrete_BaseColor.png | | 3.2 MB | 0.7 KB | 0.000x | UI | T_wallpaper_A_Normal.png(×2) | 这些文件很可能是将**未使用或临时占位的大尺寸贴图**替换为 1×1 或极小分辨率的占位图。 ## 节省空间最大的单文件 Top 20 | 节省 | 原大小 | 新大小 | 比率 | 类别 | 文件 | |---|---|---|---|---|---| | 21.6 MB | 21.7 MB | 63 KB | 0.003x | UE场景资产 | T_OakTree_Bark_01_A.png | | 20.2 MB | 20.5 MB | 289 KB | 0.014x | 场景/UE资产 | T_RockClassic_BC_N.PNG / T_RockSpire_N.png(×4) | | 19.8 MB | 19.9 MB | 103 KB | 0.005x | UE场景资产 | T_Grass1_BC_NeoX.png | | 19.7 MB | 20.6 MB | 965 KB | 0.047x | UE场景资产 | T_OakTree_Bark_01_RMA.png(×2) | | 19.6 MB | 20.0 MB | 361 KB | 0.018x | 场景 | T_BigTree1_D.png | | 18.9 MB | 19.0 MB | 64 KB | 0.003x | UE场景资产 | T_AMStatue_ME_01_A.png | | 18.9 MB | 19.9 MB | 1.0 MB | 0.051x | UE场景资产 | T_TableSet01_RMA.png | | 18.8 MB | 19.1 MB | 333 KB | 0.017x | UE场景资产 | T_DirtTile_N.png | | 18.4 MB | 18.5 MB | 101 KB | 0.005x | 场景/UE资产 | T_Grass1_BC.PNG/png(×3) | | 18.4 MB | 19.8 MB | 1.4 MB | 0.072x | 场景 | Grass_Normal.png | | 18.3 MB | 23.5 MB | 5.3 MB | 0.225x | UE场景资产 | T_TableSet01_BC.png | | 17.5 MB | 18.3 MB | 788 KB | 0.043x | 场景 | T_WacomTablet_MRO.png | | 16.9 MB | 17.9 MB | 936 KB | 0.052x | UE场景资产 | T_PineBark_02_N.png(×2) | ## 涉及目录分布(Top 20) | 目录 | 文件数 | 类别 | |---|---|---| | StylizedProvencal/Textures | 54 | 场景植被/建筑贴图 | | Indoor/Grocery/Textures | 48 | 室内杂货店贴图 | | House/Textures | 42 | 房屋贴图 | | Marketplace/StylizedProvencal | 41 | 同上(另一路径) | | AIGC/Source/Ingredient/NoPlate | 28 | AIGC 生成的食材贴图 | | NPC/ZhaoQing/textures | 28 | 赵晴 NPC 全套贴图 | | AIGC/Source/Food | 25 | AIGC 生成的食物贴图 | | Interact/Textures | 24 | 可交互物件贴图 | | PlayerRoom/Textures | 24 | 玩家房间贴图 | | FarmCrops/Textures | 24 | 农作物贴图 | | DreamscapeMountains/Stones/Rocks | 24 | 山地石头贴图 | | LiTieShan/Textures | 22 | 李铁山 NPC 贴图 | | Trees/Textures (×2路径) | 21+21 | 树木贴图 | | Buildings/Textures | 19 | 建筑贴图 | | KEKOSTropicalBeach | 17 | 热带海滩贴图 | | Rocks | 16 | 岩石贴图 | | WuQiDian/Textures | 16 | 武器店 NPC 贴图 | | MeadowEnvironment/Props | 15 | 草地环境道具贴图 | ## 涉及的 NPC 角色 | NPC | 文件数 | 贴图类型 | |---|---|---| | 赵晴 (ZhaoQing) | 28 | 全套:法线、ORM、BaseColor(8套服装) | | 李铁山 (LiTieShan) | 8 | 武器店系列贴图 | | 梁秀兰 (LiangXiuLan) | 5 | Body/Cloth/Hair 材质 | | 赵兰 (ZhaoLan) | 5 | Body/Cloth/Hair 材质 | | 陈丽华 (ChenLiHua) | 4 | Body/Cloth/Hair/Item 材质 | | 杜伦 (DuLun) | 6 | Body/Cloth/Hair (materials+textures 双目录) | | 张海潮 (ZhangHaiChao) | 3 | Body/Cloth/Hair 材质 | | 梁萌 (LiangMeng) | 3 | B/Normal/RM 贴图 | | 草帽姐 (CaoMaoJie) | 5 | 帽子/兔子玩具/蟹笼等 | ## 涉及的动物 | 动物 | 文件数 | |---|---| | 羊驼 (Alpaca + Alpaca_Small) | 4 | | 小鸡 (Chick/Chicken/Chicken_01/Chicken_Old/Hen) | 10 | | 狗 (Dog) | 2 | | 其他(T_White.tga 等通用贴图) | 3 | ## 分辨率变化(全量 1888 文件) ### 缩放倍数分布 | 缩小倍数 | 文件数 | 占比 | 像素缩减 | 说明 | |---|---|---|---|---| | **2x**(如 2048→1024) | **649** | **34.6%** | 75% | 最常见,相对温和 | | **4x**(如 2048→512) | **428** | **22.8%** | 93.75% | | | **8x**(如 2048→256) | 266 | 14.2% | 98.4% | | | **16x**(如 2048→128, 512→32) | 232 | 12.4% | 99.6% | 激进 | | **32x**(如 1024→32) | 147 | 7.8% | 99.9% | 极度激进 | | **64x**(如 2048→32, 4096→64) | 149 | 7.9% | 99.98% | 几乎清零 | > 约 **28%(528 个文件)被缩小 16 倍以上**,即从常规贴图变成了极小图(32px-128px),基本等同于纯色占位。 ### 压缩后分辨率分布 | 新分辨率 | 文件数 | 占比 | 说明 | |---|---|---|---| | 256×256 | 417 | 22.1% | 最常见目标分辨率 | | **32×32** | **387** | **20.5%** | **第二多 — 大量贴图被压到 32px** | | 128×128 | 300 | 15.9% | | | 512×512 | 295 | 15.6% | | | 1024×1024 | 231 | 12.2% | | | **64×64** | **172** | **9.1%** | | | 2048×2048 | 34 | 1.8% | 仅 4096→2048 和少数不变 | | 其他 | 52 | 2.8% | | > **20.5% 的文件(387 个)被压到 32×32**,加上 64×64(172 个),意味着**近 30% 的贴图在视觉上等同于纯色方块**。 ### 极端案例 | 文件 | 旧分辨率 | 新分辨率 | 缩放 | 旧大小 | 新大小 | |---|---|---|---|---|---| | T_White.tga(×2) | 2048×2048 | 32×32 | 64x | 16.0 MB | 4 KB | | 赵晴法线/ORM 系列(10 文件) | 2048×2048 | 32×32 | 64x | 12.0 MB | 3 KB | | T_Default_N.png | 2048×2048 | 32×32 | 64x | 12.6 MB | 2.5 KB | | T_Cliff_Large_C/N/R.png | 2048×2048 | 32×32 | 64x | 7-11 MB | 1-1.4 KB | | T_OakTree_Bark_01_A.png | 4096×4096 | 64×64 | 64x | 21.7 MB | 63 KB | | T_Grass1_BC.png(×3) | 4096×4096 | 64×64 | 64x | 18.5 MB | 103 KB | | 8192×4096 地形贴图(×2) | 8192×4096 | 512×256 | 16x | — | — | ## 关键结论 1. **压缩极度激进**:91.1% 的空间节省,71% 文件被压缩到原尺寸 25% 以下 2. **99.4% 的文件被降低分辨率**:1876/1888 文件分辨率下降 3. **近 30% 贴图等同纯色**:387 个文件被压到 32×32,172 个到 64×64,视觉上已无纹理细节 4. **最常见的操作是缩小 2 倍(649 文件)和 4 倍(428 文件)**,但仍有 528 个文件被缩小 16 倍以上 5. **大量贴图被替换为占位图**:数十个文件从 10+ MB 缩减为几 KB,尤其是法线贴图和 ORM 贴图 3. **覆盖面极广**:NPC 角色(7+个)、动物、场景、UI、特效、AIGC 食材全部涉及 4. **NPC 法线图清零风险最高**:赵晴等角色的法线/ORM 贴图从 12 MB 压到 3 KB,意味着角色表面细节(凹凸、金属度、粗糙度)完全丢失 5. **场景大面积贴图(草地、树皮、岩石)压缩比也极高**:T_Grass1_BC 从 18.5 MB → 103 KB,T_OakTree_Bark 从 21.7 MB → 63 KB 6. **仅 1 个文件变大**:NongChang 地表权重图,属正常更新 7. **此提交标注为"测试贴图压缩"**:说明是实验性质,但如果直接上线将严重影响画面质量 # 打包设置相关 当前项目没有自定义的 build_settings.json(Cook_Content 目录下不存在),所以完全使用 default_pack_settings.json 的默认值: ┌─────────────┬───────────────┬────────────────────────┐ │ 参数 │ 默认值 │ 含义 │ ├─────────────┼───────────────┼────────────────────────┤ │ ASTC 块大小 │ ASTC_RGBA_8x8 │ ~2 bpp,中等质量 │ ├─────────────┼───────────────┼────────────────────────┤ │ 编码质量 │ level: 0 │ fastest — 最低编码努力 │ ├─────────────┼───────────────┼────────────────────────┤ │ Mipmap │ false │ 不生成 │ └─────────────┴───────────────┴────────────────────────┘ 实际执行的压缩命令等价于: ```bash nximagep.exe astcenc -i -pfd ASTC_RGBA_8x8 -format ktx -level 0 -filter bilinear -profile ldr_srgb -swizzle rgba -threads 0 -force -o ``` 注意:代码中 pfd 的 fallback 默认值写的是 ASTC_RGBA_4x4(builder.py:2099),但 JSON 配置文件明确写了 ASTC_RGBA_8x8,实际走的是 JSON 值。 ASTC 8x8 意味着什么 ┌────────┬──────────┬──────────┬──────────────────────┐ │ 块大小 │ 比特率 │ 像素量比 │ 质量描述 │ ├────────┼──────────┼──────────┼──────────────────────┤ │ 4x4 │ 8.00 bpp │ 基准 │ 最高,接近原始 │ ├────────┼──────────┼──────────┼──────────────────────┤ │ 6x6 │ 3.56 bpp │ 44% │ 高质量 │ ├────────┼──────────┼──────────┼──────────────────────┤ │ 8x8 │ 2.00 bpp │ 25% │ 中等,细节有可见损失 │ ├────────┼──────────┼──────────┼──────────────────────┤ │ 10x10 │ 1.28 bpp │ 16% │ 低质量 │ ├────────┼──────────┼──────────┼──────────────────────┤ │ 12x12 │ 0.89 bpp │ 11% │ 最低 │ └────────┴──────────┴──────────┴──────────────────────┘ 8x8 比 4x4 的数据量少 75%,对高频细节(法线贴图、文字纹理、渐变色)会出现可见的块状伪影。加上 level=0(最差编码搜索),实际质量比 8x8 理论上限还要差一些。 Mipmap 不开启 "mipmap": false — 构建管线不会生成 mipmap 链。 这意味着: - 如果源贴图本身带 mipmap(如 DDS 格式),ASTC 重编码后 mipmap 是否保留取决于 nximagep 工具的行为(可能丢失) - 如果源贴图不带 mipmap(如 PNG/TGA),输出一定没有 mipmap - 没有 mipmap 会导致:远处物体贴图闪烁(aliasing)、GPU 缓存命中率下降、带宽浪费 # 相关Commit - SVN - 张子涵 - **r3164** (2026-04-03 11:16:25 +0800) — nongchang后处理设置优化分级 - **r3165** (2026-04-03 11:17:21 +0800) — 全局阴影设置优化分级 - **r3180** (2026-04-03 11:45:59 +0800) — (无提交信息) - **r3248** (2026-04-03 16:50:52 +0800) — 游戏内所有场景都使用了移动端阴影和后处理设置 - **r3261** (2026-04-03 17:34:03 +0800) — 场景阴影和后处理效果分级批量设置 - **r3268** (2026-04-03 17:57:18 +0800) — 后处理和阴影设置上传 - **r3440** (2026-04-07 17:39:33 +0800) — nongchang场景模型lod参数优化适配移动端 - **r3598** (2026-04-08 14:58:05 +0800) — 调整weed的lod - **r3978** (2026-04-10 11:11:47 +0800) — mesh顶点压缩后上传 - 程侃 - SVN - **r3306** (2026-04-03 23:03:14 +0800) — refs #1363 全场景材质覆盖合批优化:fork gim 消除 CustomMaterialFiles 合批阻断,覆盖 38 个场景约 7200 个模型引用 - **r3319** (2026-04-06 23:06:54 +0800) — refs #1363 【4月测试需求】程序-性能优化-测试贴图压缩 - `/newdemo/farm/games/trunk/res/ue_export_common/CaravanSandwitch/MaterialLibrary/Common/` (M:12, 共 12 文件) - `/newdemo/farm/games/trunk/res/ue_export_common/UnpackAessets/CaravanSandwitch/MaterialLibrary/Common/` (M:9, 共 9 文件) - `/newdemo/farm/games/trunk/res/Character/NPC/LiTieShan/materials/` (M:8, 共 8 文件) - `/newdemo/farm/games/trunk/res/Model/scene/Battery/Tex/` (M:6, 共 6 文件) - `/newdemo/farm/games/trunk/res/ue_export_common/ProjectCoral/Art/Buildings/Ambient/BathHouse/HotSpring/Textures/` (M:6, 共 6 文件) - `/newdemo/farm/games/trunk/res/ue_export_common/ProjectCoral/Art/Buildings/Ambient/SacredTree/SacredTreeLake/` (M:6, 共 6 文件) - `/newdemo/farm/games/trunk/res/Character/NPC/LiangXiuLan/materials/` (M:5, 共 5 文件) - `/newdemo/farm/games/trunk/res/Character/NPC/ZhaoLan/materials/` (M:5, 共 5 文件) - `/newdemo/farm/games/trunk/res/ue_export_common/Materials/Scene/Landscape/Tex/` (M:5, 共 5 文件) - `/newdemo/farm/games/trunk/res/ue_export_common/ProjectCoral/Art/Buildings/Ambient/Materials/` (M:5, 共 5 文件) - `/newdemo/farm/games/trunk/res/Character/NPC/ChenLiHua/materials/` (M:4, 共 4 文件) - `/newdemo/farm/games/trunk/res/effect/texture/mask/` (M:4, 共 4 文件) - `/newdemo/farm/games/trunk/res/ue_export_common/BlazingHighlands/Environment/Village/Materials/` (M:4, 共 4 文件) - `/newdemo/farm/games/trunk/res/ue_export_common/Characters/girl/Textures/V2/` (M:4, 共 4 文件) - `/newdemo/farm/games/trunk/res/ue_export_common/Marketplace/BlazingHighlands/Environment/Village/Materials/` (M:4, 共 4 文件) - `/newdemo/farm/games/trunk/res/ue_export_common/ProjectCoral/Art/Buildings/Ambient/SacredTree/` (M:4, 共 4 文件) - `/newdemo/farm/games/trunk/res/Character/NPC/DuLun/materials/` (M:3, 共 3 文件) - `/newdemo/farm/games/trunk/res/Character/NPC/ZhangHaiChao/materials/` (M:3, 共 3 文件) - `/newdemo/farm/games/trunk/res/ue_export_common/ProjectCoral/Art/Buildings/Ambient/Carpenter/WoodStack/` (M:3, 共 3 文件) - `/newdemo/farm/games/trunk/res/ue_export_common/ProjectCoral/Art/Buildings/Ambient/Coral_Inn/Textures/` (M:3, 共 3 文件) - *(另有 60 文件变更在其他目录)* - **r3417** (2026-04-07 16:56:50 +0800) — refs #1363 【4月测试需求】程序-性能优化-测试贴图压缩-回退ui - Git - `aa9e6b12` (2026-04-07) refs #1363 画质档位改为高中低三挡,低档关闭阴影 - `client/consts/const_graphic.py` - `client/debug/GMCommandHandle.py` - `client/helper/SceneRenderHelper.py` - `da9a031b` (2026-04-08) refs #1363 低画质LOD偏移+1,三档画质显式设置LOD配置保证幂等 - `client/helper/SceneRenderHelper.py` - `8951e2e9` (2026-04-08) refs #1363 pub_design包默认中画质,三档后处理细分(bloom/dof/taa),低档分辨率降至0.5 - `client/demo.py` - `client/helper/SceneRenderHelper.py` - `c2ccbeb8` (2026-04-14) refs #0 画质控制GM重构:每个渲染功能独立开关+虚拟文件夹,保留原渲染指令 - `client/debug/GMCommandHandle.py` - `client/debug/gm_modules/GMGraphic.py` - `client/debug/gm_modules/__init__.py` - `client/helper/SceneRenderHelper.py` # AI提示词 ## 张子涵 ## 程侃代码分析 仔细分析./script/的git仓库中的以下提交会对渲染效果产生什么样的影响?并且告诉会为什么移动平台的渲染效果会比PC编辑器中差那么多?是不是有什么劣化逻辑导致移动端的渲染设置比PC低很多? - `aa9e6b12` (2026-04-07) refs #1363 画质档位改为高中低三挡,低档关闭阴影 - `client/consts/const_graphic.py` - `client/debug/GMCommandHandle.py` - `client/helper/SceneRenderHelper.py` - `da9a031b` (2026-04-08) refs #1363 低画质LOD偏移+1,三档画质显式设置LOD配置保证幂等 - `client/helper/SceneRenderHelper.py` - `8951e2e9` (2026-04-08) refs #1363 pub_design包默认中画质,三档后处理细分(bloom/dof/taa),低档分辨率降至0.5 - `client/demo.py` - `client/helper/SceneRenderHelper.py` - `c2ccbeb8` (2026-04-14) refs #0 画质控制GM重构:每个渲染功能独立开关+虚拟文件夹,保留原渲染指令 - `client/debug/GMCommandHandle.py` - `client/debug/gm_modules/GMGraphic.py` - `client/debug/gm_modules/__init__.py` - `client/helper/SceneRenderHelper.py`