同一个产品模型,在建模软件里转得飞起,挂上网页却卡成幻灯片,这是做**网页3D展示**最常碰到的落差。浏览器分给渲染的资源有限,模型不给它减负,再好的设备也救不回来。下面五个做法按见效程度排,多数项目做完前两个,加载就有明显改善。
先搞清体积花在哪

动手前先做个检查。用 gltf-transform 之类的命令行工具把 GLB 文件 inspect 一遍,几何占多少、纹理占多少,一目了然。经验上,工业产品模型的体积大头常在纹理,几张贴图随便就上几十兆,面数排第二。数据摆出来,才知道劲往哪使。
减面,先砍看不见的
产品内部结构、螺栓孔位、镜头根本转不到的圆角细节,这些面数可以直接删。减面工具跑一轮,比如 Blender 的 Decimate 或 gltf 管线里的 simplify,面数砍到原来的三到五成,视觉上几乎看不出差别。曲面多的产品留点余量,免得轮廓出锯齿。
几何压缩,Draco 或 meshopt 二选一
导出 GLB 时开启**Draco压缩**,几何体积通常再降一半以上,老款设备上收益尤其明显。meshopt 走另一条路,解码更快,对手机端友好。两者不能同时用,按目标设备实测一轮再定。解压放在加载线程里做,主线程就不容易卡。
纹理降尺寸,再换格式
4K 贴图在网页上多数时候是浪费,产品主贴图压到 1024 或 2048 足够。格式换成**KTX2纹理压缩**,显存占用直线下降,低端手机不再发烫。法线贴图比颜色贴图更值得先换,收益最大。
首屏只给该看的
完整模型几百兆的,拆成主模型加配件包,进页面先加载主体,用户点了选装项再拉对应分片。哪些内容进首屏、哪些按需加载,做**3D产品展示**项目时就要排好优先级,整体流程怎么走,这篇从建模到上线的流程文章里有框架可参照。
加载过程别让用户干等
进度条必须有,白屏超过三秒,一半访客已经走了。模型没就绪前先渲染一张高清渲染图占位,加载完成淡入切换,体验上就顺了。手机端再备一套降级方案,低端设备降到静态图或减配模型。交互做几层、每层值多少工作量,3D产品交互的层级划分那篇算过一笔账,规划预算时可以参考。
这五步做完,多数模型能从十几兆压到两三兆,首屏两秒内出画面。想看轻量化之后的实际效果,案例页里的项目都按这套标准交付,加载速度可以直接体验。
相关问答
网页用的3D模型多大体积算正常?
单个 GLB 控制在三到五兆以内比较稳,纹理另计。超过十兆的模型在手机4G网络下加载要好几秒,除非有分片加载兜底,否则建议继续压。
Draco压缩会明显损失画质吗?
几何精度损失肉眼几乎不可见,压缩比设在7到10这一档属于行业常规。真正的画质杀手是纹理被过度压缩,这两件事要分开看。
老旧手机跑不动WebGL怎么办?
准备降级方案,检测到设备性能不足时切换静态图或减配模型。低端设备在访客里占比不低,放弃这批人等于放弃一部分询盘。