Files
BlueRoseNote/07-Other/AI/AI Agent/NeoX/H78优化记录Raw/GIt&SVN简报.md

1313 lines
61 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
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+ 场景 |
#### 矿洞系列 DOFComponentBokeh → 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**。
#### BloomComponent26 个场景)
- **19 个场景**Quality High→**Low**, EnableAntiFlickering 0→**1**
- **7 个场景**Room_01, beach01, farm, lunlunroom, map_01, resident01, town02从无到有新增完整 Low 品质 Bloom 配置
#### TAAComponent26 个场景)
- **19 个场景**TaaQuality High→**Low**, EnableBicubic 1→**0**
- **7 个场景**:从无到有新增完整 Low 品质 TAA 配置
- MINE_B02-B04, MINE_B06 额外新增/修改顶层 TaaQuality
#### SSAOComponent26 个场景)
- **19 个场景**UseFilter 1→**0**,其中 8 个矿洞场景同时 UseFullResolution 1→**0**
- **7 个场景**:从无到有新增完整 SSAO 配置HBAO, UseFilter=0, UseFullResolution=0
#### DOFComponent11 个场景)
| 设置路径 | 旧值 | 新值 | 涉及场景 |
|---|---|---|---|
| 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 |
#### VVGIComponent10 个场景新增)
与 .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** | 恢复 YCoCgr3164 关掉后又开回来) |
| 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=0LOD 过渡动画 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 | **0LODType=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
否则 => 保持 HIGHGlobalData 默认值)
场景加载 (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.png21.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 系列法线/ORM10 个文件) |
| 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、BaseColor8套服装 |
| 李铁山 (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×64172 个),意味着**近 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×32172 个到 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 KBT_OakTree_Bark 从 21.7 MB → 63 KB
6. **仅 1 个文件变大**NongChang 地表权重图,属正常更新
7. **此提交标注为"测试贴图压缩"**:说明是实验性质,但如果直接上线将严重影响画面质量
# 打包设置相关
当前项目没有自定义的 build_settings.jsonCook_Content 目录下不存在),所以完全使用 default_pack_settings.json 的默认值:
┌─────────────┬───────────────┬────────────────────────┐
│ 参数 │ 默认值 │ 含义 │
├─────────────┼───────────────┼────────────────────────┤
│ ASTC 块大小 │ ASTC_RGBA_8x8 │ ~2 bpp中等质量 │
├─────────────┼───────────────┼────────────────────────┤
│ 编码质量 │ level: 0 │ fastest — 最低编码努力 │
├─────────────┼───────────────┼────────────────────────┤
│ Mipmap │ false │ 不生成 │
└─────────────┴───────────────┴────────────────────────┘
实际执行的压缩命令等价于:
```bash
nximagep.exe astcenc -i <src> -pfd ASTC_RGBA_8x8 -format ktx -level 0
-filter bilinear -profile ldr_srgb -swizzle rgba -threads 0 -force -o <output>
```
注意:代码中 pfd 的 fallback 默认值写的是 ASTC_RGBA_4x4builder.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`