
3D虚拟展厅要在浏览器或手机里流畅运行,背后依赖一整套技术:3D引擎、渲染管线、资源格式、轻量化策略、多端适配。理解这些技术,才能判断一个展厅「做得专不专业」,也才能在需求沟通时说清「要什么、不要什么」。在成都做3D展厅,技术选型的第一问往往是「目标端是什么」,而不是「用哪个引擎」。

Web端最常用的是基于WebGL的引擎,它们能在浏览器里渲染3D场景,无需安装插件。
国内项目也常用游戏引擎导出Web版本,优点是工具链成熟、美术资源好导入;缺点是包体大、需要针对性优化。
引擎选择要看「场景复杂度、团队熟悉度、目标端」。没有「最好的引擎」,只有「最匹配的引擎」。
渲染管线决定画面质量与性能。常见有「前向渲染」和「延迟渲染」,前者适合小场景、后者适合多光源的大场景。
光照方案有「实时」和「烘焙」:实时灵活但吃性能,烘焙省性能但不便改动。展厅多用「混合」:静态部分烘焙,动态部分实时。
还有「后处理」:抗锯齿、泛光、色调映射。后处理能提升质感,也增加开销,要按端取舍。
3D资源的格式直接影响加载速度。模型常用glTF等「面向Web」的格式,贴图用压缩纹理格式减少体积。
资源还要「分级」:远景低模、近景高模;贴图按需加载不同分辨率。分级做得好,加载快、运行稳。
资源压缩不是「越小越好」,而是「在画质可接受的前提下最小」。过度压缩,画面会糊、会脏。
轻量化是展厅能否「在手机跑起来」的关键。手段包括:减面、合并材质、图集、LOD(多细节层次)、遮挡剔除。
「遮挡剔除」尤其重要:看不见的物体不渲染,能大幅降低开销。大场景不做剔除,帧率会崩。
还有「实例化」:相同物体(如座椅、展台)用实例渲染,减少draw call。这些优化,外行看不见,内行一看便知。
热点通常用「射线检测」实现:用户点击屏幕,系统判断点到了哪个物体,再触发对应事件。成都不少展厅项目卡在手机上跑不动,根子就在轻量化没做到位。
导览和漫游用「相机控制」:限制移动范围、设置碰撞、平滑过渡,避免「穿墙」和「眩晕」。
交互还要「防误触、有反馈」:点中了要有高亮或动画,没点中要有提示。体验细节决定「好不好用」。
Web端要考虑浏览器兼容和性能差异;小程序端受包体和能力限制,要更轻;大屏端要适配分辨率和交互方式。
多端不是「一套资源跑所有端」,而是「按端分级」:手机降精度、大屏升精度。分级策略要提前设计。
适配还包括「交互方式」:鼠标、触摸、遥控,操作逻辑不同。多端项目要分别设计交互。
很多需求方把「虚拟展厅」理解成「把场景建出来就行」,结果拿到一个包体巨大的模型,在手机上打开要等半分钟、转身就卡。
建模只是第一步。真正决定体验的是「轻量化、分级、剔除、实例化」这些优化工作,它们不出现在效果图里,却决定展厅能不能跑。
另一个误区是「追求全实时光照」。全实时确实好看,但开销大,多数展厅用「静态烘焙+局部实时」即可,画面够用、性能省一半。
实践建议:在方案阶段就把「目标端、目标机型、首屏时间、帧率」写成硬指标,让技术方案围着指标做,而不是「先做效果再想办法」。
上线后要监控:加载时间、帧率、崩溃率、资源请求。数据能告诉你「哪里慢、哪里崩」。
迭代要「按数据优化」:先修最影响体验的瓶颈,而不是盲目加效果。
展厅是长期项目,技术选型和优化策略要为「后续更新」留余地,而不是「一次做死」。对成都的项目方来说,把性能指标写进方案,比只看效果图更有用。