Log in to join the discussion
Back to list

关于"装了模组以后游戏掉帧"的一些说明

Strategy
OPApr 26, 01:12 PM460

各位车长好。

最近社区里关于"模组导致性能下降"的讨论比较多,我们想借这个帖子,把车库里那三个性能指标的含义、为什么模组会影响帧率、以
及如何在不删模组的前提下改善体验,一次性讲清楚。


一、为什么会变卡

先说最关键的一点:官方载具都经过严格的性能预算审核。我们的官方车面数大多控制在 1~3 万面
之间,材质球数量、刚体数量也都有内部上限。

模组则不一样。模组是社区作者自行制作并导入的,质量分布很广——有的作者经验丰富,知道怎么用法线贴图替代真几何、怎么合并材
质;有的作者更注重视觉精度,单辆车做到 30 万面、十几个材质球、八十多个刚体也并不少见。

引擎不会因为是模组就特殊处理。它只老老实实按资源给的内容渲染、提交 DrawCall、跑物理。所以你装了几个高精度模组之后帧率
明显下降,这不是引擎问题,而是同屏渲染和物理的总开销超过了你机器的承受范围


二、看懂车库的三项性能指标

进入车库选中任意一辆载具,右侧面板的 Vehicle Performance(载具性能)
一栏会显示三个数字。它们会根据数值自动变色,规则如下:

指标 含义 绿色 黄色 红色
Triangle 三角面数(影响 GPU 渲染) < 5 万 5 ~ 10 万 ≥ 10 万
Material 材质球数量(影响 DrawCall) < 5 5 ~ 10 ≥ 10
Rigid 刚体数 = 内部模块 + 受击盒(影响物理计算) < 25 25 ~ 50 ≥ 50

一些参考值帮助理解:

  • 官方载具基本都是三项全绿,绝大部分面数落在 1~3 万之间
  • 单辆面数过 10 万的载具,渲染开销大致相当于三辆官方车
  • 材质球数飘红的载具,对中低端机型和移动端尤其不友好——每多一个材质就多一次 DrawCall 提交
  • 刚体数飘红的载具,被命中时引擎需要逐一与所有受击盒求交点,多辆同型号对射时 CPU 压力会显著上升

三、为什么"AI 使用"是性能杀手

简单的乘法:

你自己只开 1 辆。
AI 是按规则不断刷出来的,遭遇战、人机大乱斗、Roguelike 等模式同屏常驻 6~16 辆。

如果一辆 30 万面 / 15 材质 / 80 刚体的精品模组被 AI 大量调用,并且场上同时刷出 8 辆,那么:

  • 渲染:240 万面
  • DrawCall:120+
  • 物理刚体:640 个

这种规模即使在高端 PC 上也会出现明显帧率下降。问题不在单辆载具,而在群体规模。


四、操作建议:直接在车库禁止人机使用

车库已经内置了这个功能

操作路径:选中目标载具 → 找到 "人机使用 / Bot Usage" 开关 → 关闭。

关闭之后,这辆车会被加入个人禁用列表,从今往后所有模式下的 AI 都不会再驾驶它,但你自己依然可以正常使用。

我们给的筛选标准建议如下:

  • 三项全绿:放心交给 AI,无脑勾选
  • 一项黄、其余绿:可以给 AI 用,影响不大
  • 两项及以上飘红:建议直接关闭"人机使用",自己开就好

一句话原则:单辆红色不要紧,让 AI 群体使用红色才是性能瓶颈。


五、给模组作者的优化建议

如果你希望自己的作品被更多车长在多人/AI 战中启用,三项指标就是最直接的入选门槛。我们提供了一些工具帮你优化:

关于面数

尽量控制在 8万以内。履带、铆钉、螺丝这类细节用法线贴图替代真几何,玩家在游戏内距离下基本看不出差别,但渲染开销可以下降一个数量级。

关于材质

合并!一辆完整的坦克通常 4~5
个材质球就足够了——车体、炮塔、履带、玻璃、内饰。给每块装甲板单独一个材质是最常见也最隐蔽的性能陷阱。

关于刚体(重点)

内部模块默认会挂 Rigidbody + MeshCollider,这是"复杂物理"模式,开销不小。编辑器里我们提供了一键转换按钮:

选中 InternalModule → Inspector 面板 → "切换至简易物理 / Switch to Simple Physics"

点一下,组件会自动把 Rigidbody 和 MeshCollider 移除,替换成根据渲染包围盒生成的 BoxCollider。多个 BoxCollider
叠加足以表达大多数模块的物理体积,这样就不需要每个模块挂独立的刚体,Rigid 数能大幅下降。

如果之后想恢复成精细物理,同一位置会显示 "切换至复杂物理 / Switch to Complex Physics" 按钮,可以一键还原。

受击盒同理,按"前 / 侧 / 后 / 顶 / 底 + 主要模块"的粒度划分就够用了,不需要细化到铆钉级别。


总结

  1. 不是引擎优化下降了,是同屏资源开销变大了。
  2. 车库三项性能指标 = 单辆载具的成本仪表盘,红色 = 高消耗。
  3. 进战之前花 30 秒,把两项以上飘红的模组在车库关闭"人机使用"。
  4. 模组作者请善用编辑器的"切换至简易物理"按钮,能显著降低 Rigid 数。

希望这篇说明对大家有帮助。如果还有疑问欢迎在评论区留言

13 replies
Apr 26

Thank you so much for this information. I've always wanted to understand how this system works, as I'm also a beginner. I'd also like to ask if it's possible to get some video tutorials To explain how to merge pieces, how to build geometric shapes, etc., because it's very difficult for beginners like me.

One last thing: would it be possible to add the number of polygons and materials in real time to the tank workshop?

Thank you !! 😊

Apr 26

Even for map workshop*

Apr 26

或许你可以直接尝试制作模组了

Apr 26
@工-具-人-2-3-号

I have no experience and my last attempt was a failure

Apr 26
@STL785

没事,有啥问题可以问问其他模组人,你也可以在discord上联系我

Apr 26
@工-具-人-2-3-号

Thank man

Apr 26

战雷模型的灯,灯罩,机枪,膛线甚至观察镜等等都有单独的贴图,所以材质球特别多

Apr 26

你可以合并的 rebake 下的

May 11

I have a question.

I'm not entirely sure what the materials in the tank workshop represent. Are they cubes?

If so, does merging 2 cubes = 1 material?

May 11

the unity engine material

May 11
@DevTeam

Ok ok, but how can we know how to optimize a DIY vehicle? How can we know in advance that the diy will be far too heavy?

May 12
@STL785

Merge poly in the same layer.

4 days ago

为什么我禁用了个坦克,AI还会使用?

1 / 1
1/200/2000
Login To Reply