数字孪生这个词,这几年被喊得够热闹。最开始我也觉得它不过是个营销概念——弄一个三维模型放到大屏上转两圈,配上一些流光特效和跳动数字,就敢叫数字孪生。直到真正深入做了几个项目,接触过工业园区的能源管控、汽车产线的预测性维护、大型场馆的机电运维,我才慢慢意识到,数字孪生不是“模型”,也不是“大屏”,它是一套把物理世界用数据和模型重新描述出来的方法体系。这篇文章,我准备抛开PPT里那些空泛的定义,只聊实际跑通的场景和落地链路:它们到底解决了什么问题、背后用的什么技术栈、哪些环节最容易翻车。手里有项目想落地,或者打算自己搭一个前端数字孪生网站的朋友,应该能从里面找到一些能直接拿去用的东西。
1. 数字孪生不是大屏:先把价值模型想明白
数字孪生第一次进入大众视野,靠的是可视化冲击力。但如果你只把它当成一个可视化的壳,项目做几个月就会烂尾。因为可视化的背后如果接不上业务闭环,它就只是一张会动的图,连GIS三维展示都算不上。真正让它有价值的东西,是“映射、理解、预测、干预”这四件事。
1.1 从物理世界到数字世界的映射逻辑
数字孪生的起点是“映射”。一台泵、一条产线、一栋楼、一座园区,它们在物理空间有位置、有几何、有状态,数字孪生要把这些全部搬进计算机里。几何层面好办,用Revit、SketchUp、3ds Max建模或者用倾斜摄影扫一遍就行,难的是状态层面。设备有没有在转、温度是多少、能耗曲线什么样、管网的阀有没有关死,这些数据不会自己进到模型里面,必须靠IoT感知层来采集,然后通过网关、协议、消息中间件送到后端。
映射这件事有一个非常关键的原则:数字模型必须和物理实体保持“时空一致”。时间一致性是说,你看到的数据是三秒前的还是三分钟前的,误差能不能接受;空间一致性说的是,模型里这栋楼的位置、尺寸、朝向和真实世界能不能对得上。很多数字孪生项目做出来之后看起来和实际场景差很多,不是建模建得不好,而是空间基准本身就没对齐。坐标偏移的问题,我后面会专门说。
1.2 模型、仿真和数据,三者缺一不可
这里要澄清一个概念:可视化是大屏,数字孪生是大屏加上数据闭环。一个有业务价值的数字孪生系统,至少要包含三部分。
第一是几何模型。它负责承载空间关系,让人能直观理解“设备在哪里、管线走哪里、事件发生在哪里”。第二是机理模型或算法模型。比如设备健康度模型,监听振动数据来预测轴承故障;能耗模型,根据室外温度和客流预测空调负荷。第三是业务数据,这个最容易被忽略。没有数据接入的模型只是空壳,没有模型加工的数据只是数字,两者接不上就还谈不上孪生。
所以衡量一个数字孪生项目做没做成,不能看模型炫不炫,要看三个问题:物理世界的状态能不能自动同步进系统?系统能不能基于数据给出判断和预测?判断结果能不能反馈到物理世界的操作中去?如果这三条都通,那才是闭环。
1.3 与仿真模拟的边界:什么时候用仿真,什么时候用孪生
很多朋友会把数字孪生和仿真混为一谈。仿真是在虚拟环境里做离线推演,比如对产线建模,输入一组参数,看几秒后机械臂会不会干涉。它依赖模型的准确性,但不依赖实时数据。数字孪生可以理解为“仿真加上实时数据,再回到物理世界”。它更强调持续运行、持续变化和双向互动。
一个很直观的类比:飞行模拟器是仿真,而驾驶舱前面那块实时显示飞行状态并辅助决策的仪表系统,靠近数字孪生。工业场景里两者是配合关系——仿真用来做设计和排产的推演,孪生用来做运行期的监控和优化。很多项目把二者割裂了,仿真做了出厂之后就没用,孪生做出来却缺少分析能力,这是挺遗憾的事情。
2. 哪些行业最先跑通了:四个典型应用场景拆解
数字孪生的应用场景非常多,但真正跑通并且产生稳定业务价值的,目前集中在几个方向。它们的共同点是:资产对象结构化程度高、有持续的运行数据、存在明确的运维决策需求。我挑四个自己实际接触过的方向展开说。
2.1 智慧园区:最接地气的数字孪生切入点
智慧园区是我认为最适合入门数字孪生的场景,也是目前翻单率最高的类型。原因很简单:园区本身就是一个“微缩城市”,楼宇、管网、设备、人员、车辆都在一个可控的空间尺度里,数据接入相对容易,决策链路也不长。
我做过的园区项目里,价值最明确的是能源管理。园区里有几台中央空调主机、一组水泵、若干配电柜,能耗占到园区总能耗的60%以上。数字孪生系统接到电表和传感器后,会把每台主机的实时功率、冷冻水供回水温度、水泵频率拉进模型里,运维人员直接在三维场景里点一台主机,就能看到它运行了多少小时、能效比是多少、距离上次保养还有多久。
运营方最爱的功能是异常追溯。之前园区发生过地下管网漏水,靠人工翻图纸找了三天。做了数字孪生之后,流量计数据突变会直接触发管段高亮,点击模型就能看到这条管的管径、材质、埋深和阀门编号。运维时间从三天缩到半天,这就是客户愿意复购的原因。
园区项目还有一个值得注意的点:不要一开始就想着覆盖全园区的每一个细节,先挑一栋楼、一套系统跑通。我当时是从空调系统切入的,跑通后再扩到给排水、消防和安防,整个项目周期控制在三个月左右,效果好很多。
2.2 智能制造与产线:数字孪生的发源地
工业是数字孪生概念最早生根的地方。产线上的设备有准确的几何参数、有PLC控制系统、有丰富的传感器数据,天生就适合做孪生。现实里最有价值的应用集中在两块:预测性维护和虚拟调试。
预测性维护比较好理解。电机、轴承、空压机这类旋转设备,振动频率和温度的变化有比较明显的故障前兆。系统通过电流、振动、温度的时序数据训练模型,在设备真正停机之前给出预警。我遇到过一条汽车零部件产线,之前产线上的一台关键设备突然停机,导致整线停摆两个多小时,损失订单交付。后来接入数字孪生系统,用振动特征做故障分类,提前四天预测到了轴承劣化趋势,维修团队赶在班次间隙换掉了轴承,完全没有影响生产节拍。
虚拟调试在国内应用还不算多,但潜力非常大。新建产线的时候,机械设计、电气逻辑和机器人程序往往是分头做的,等到现场联调才发现干涉、信号冲突、节拍不匹配。数字孪生可以把PLC程序和机器人的运动轨迹先在虚拟环境里跑一遍,把问题提前暴露在投产之前。一次改动在软件里只需要几分钟,在生产线上可能要停线几个钟头,这个成本对比老板看一次就明白。
2.3 建筑运维与基础设施:BIM之后的下一步
建筑行业从BIM走向数字孪生,几乎是顺理成章的。传统BIM解决的是建造阶段的设计协调,大量竣工模型在交付之后就躺在硬盘里吃灰。数字孪生要做的,是把竣工模型接上运行数据,让它服务于运维阶段。
最典型的场景是大型商业综合体和医院。这类建筑机电系统复杂,暖通、消防、给排水、强弱电管线纵横交错。日常运维管养,经常遇到一个问题:想去修一段管道,不知道这段管道属于哪个系统、阀门在哪里、上游哪里可以关断。有了基于BIM的数字孪生运维平台,点击任意管线就能查询它的系统属性、关联设备和保养记录,这比翻CAD图纸高效太多。
这个方向真正的坑在于上游BIM模型的质量。很多项目的BIM模型是“为了BIM而BIM”,构件精度、命名规则、空间坐标都不符合运维要求。模型里面有两千个阀门,结果有两百个放在错误的位置。模型轻量化之前,先做质量审查比什么都重要。模型不行,接再好的渲染引擎也没有用。
2.4 能源与水利:大尺度场景的数字孪生
能源和水利这类场景,对象尺度很大,更强调与GIS和遥感数据的融合。
风电场和光伏电站是最常见的落地形态。一个风电场分布在几十平方公里的范围,只靠平面图根本讲不清楚机位间的关系。数字孪生平台叠加了地形高程、机位坐标、发电量数据之后,可以在全域视角查看每台风机的发电状态、偏航角度、齿轮箱温度趋势,异常机组直接在地图上高亮。
水利场景更偏监测预警。水库、河道这类资产,安全是第一诉求。通过接入上下游水位计、雨量站、闸门开度数据,用数值模型做来水预测,再以孪生场景展示洪水演进路径,帮助调度人员判断什么时间点该开几孔闸。这个场景里,三维模型精度反而不是最重要的,最重要的是数据的时间同步和预测模型的准确性。水利项目的边界感要非常清晰,因为牵涉安全责任,系统只做辅助研判,不能也不应该替人做决定。
3. 技术选型:前端数字孪生网站和Unity到底怎么选
做数字孪生项目,技术选型几乎是每个团队最先遇到的分岔路口。同样一个园区项目,有人用Three.js做了个网页,有人用Unity做了个演示端,最后都能交付,但体验、成本和扩展性完全不一样。选型背后不是谁好谁坏,而是看场景对实时渲染、部署形态和交互深度的要求。
3.1 网页端数字孪生网站的主流架构
这两年搜“数字孪生”相关关键词,很大一部分流量落在“前端数字孪生网站”和“web数字孪生”上,说明越来越多人想用B/S架构交付,好处很直接:不用装客户端,打开浏览器就能用;可以方便地集成到已有的管理平台;升级维护都在服务端,甲方不用折腾。
网页端的底层渲染方案基本就是WebGL,再往上选引擎。我个人用得最多的是Three.js,生态成熟、文档多、社区活跃,做园区、楼宇、设备级孪生足够用。如果涉及城市级大场景,或者需要叠加倾斜摄影和地形,就引入Cesium,它擅长处理GIS数据和3D Tiles数据。不少项目的做法是Cesium加载起整个城市底图,再用Three.js渲染园区内部的精细设备,两者叠加展示。
前端框架用Vue或者React都可以,我习惯用Vue 3加Vite的组合,数据层用Pinia管理场景状态,图表用ECharts。整个系统对外表现就是网站,登录之后进入场景页面,左侧是布局树,中间是三维场景,底部是数据面板和时间轴,这套架构后来被我们沉淀成了内部的中后台模板,接到新项目可以快速复制。
3.2 关键引擎选型:Three.js 与 Cesium 的配合逻辑
Three.js适合做中小尺度、精细交互的场景。它可以非常精细地控制每一个模型对象、材质和动画,做设备拆解、管线透明度切换、空间测量这些交互体验都很好。缺点是不擅长处理地理坐标系,如果你直接拿经纬度坐标去喂Three.js,很容易出现几十公里的坐标偏移。
Cesium的定位恰恰相反。它原生就是围绕地理坐标系打造的,支持加载3D Tiles、地形、影像、矢量数据。数字孪生园区需要放大地图到园区边界时,还能看到周边路网、河流这些底图信息,这个能力是纯Three.js场景不容易实现的。
实际项目里我会分层处理。底层用Cesium加载城市地形和倾斜摄影模型,提供地理背景;当相机进入园区一定范围之内,加载园区的精细BIM模型,这部分交给Three.js渲染。通过一个“空间切换器”控制两层场景的显示与隐藏,效果很自然。这种双引擎方案比单一引擎能覆盖更多边界场景,但从架构第一天就要规划好两套坐标系的转换方案,不然后期有你头疼的。
3.3 Unity数字孪生的适用场景:高保真与物理仿真
网页端也不是包打天下,有些需求Web端做起来很吃力。
首先是高保真渲染。制造业的产品展示、新车发布、设备拆装培训,这些场景客户非常在意材质质感、光影效果和交互流畅度。Unity搭配HDRP渲染管线,对PBR材质的支持、实时阴影、后处理特效都比Web端成熟很多。其次是物理仿真。机械臂运动学、刚体碰撞、流体效果,在Unity里实现起来要顺滑得多。
另外,Unity在本地工业自动化和半实物仿真领域有天然优势。因为它可以方便地连接PLC、机器人控制器和仿真软件,很多智能制造项目的虚拟调试就是基于Unity做的。Unity也支持WebGL导出,但包体大、性能受限,而且和浏览器生态的集成能力偏弱。所以现在我们内部有一条不成文的选型标准:想要跨平台部署和集成管理系统,优先Web;追求渲染质量和复杂交互,优先Unity。
| 对比项 | Web端(Three.js/Three+ Cesium) | Unity数字孪生 |
|---|---|---|
| 部署形态 | 浏览器访问,B/S架构 | 桌面客户端为主,WebGL包体大 |
| 建模精度表达 | 中精度,需做轻量化 | 高精度、高保真 |
| 物理仿真能力 | 较弱,适合展示型交互 | 强,适合仿真和培训 |
| GIS/大场景支持 | 配合Cesium,支持3D Tiles | 一般,需自研或插件 |
| 与管理系统集成 | 天然集成,前端框架直接对接 | 需要额外做接口层 |
| 开发效率 | 更新快、迭代方便 | 编译周期长、交付链略重 |
3.4 数据链路怎么搭,决定了项目能不能持续跑起来
引擎只是皮囊,数据链路才是骨架。数字孪生场景中用到的数据,一般分成三类:静态主数据、动态运行数据、业务系统数据。
静态主数据指设备清单、空间编码、BIM属性,这些决定设备与模型怎么对应。动态运行数据是从IoT平台来的实时值,比如能耗、温度、振动。业务系统数据来自工单、告警、维保记录等既有系统。链路的一般走向是:传感器 → 网关(Modbus、OPC UA、MQTT) → 边缘或云端IoT平台 → 时序数据库(InfluxDB、TDengine) → 后端服务 → WebSocket推送到前端 → 绑定到三维场景。
这里面一个容易忽略的问题是数据标准化。设备在三维场景里的唯一标识,必须和IoT平台里的设备编码、业务系统里的资产编码保持一致。否则模型画得再漂亮,数据也匹配不上。我见过一个项目,三维模型里的设备编码和设备台账编码对不上,最后只能开发一堆繁琐的映射关系,维护成本极高。
所以做项目的时候我会先把数据字典定好:每一类设备有哪些属性、这些属性在模型里、IoT平台里、业务系统里分别叫什么名字,对应什么单位。看似很基础的活,却是数字孪生项目最值钱的部分之一。
4. 实操复盘:一个园区数字孪生场景的完整落地流程
前面讲了不少背景和选型思路,下面拿一个真实的园区数字孪生项目来走一遍流程。这类项目很典型,需求结构清晰,技术链条完整,抄作业价值最高。
4.1 第一步:梳理业务对象与场景层级
不要一上来就建模。第一个阶段我通常花一到两周时间去做业务对象的梳理,搞清楚这个项目到底要管什么。园区的场景层级一般是:园区→楼栋→楼层→房间→设备,每一层都要定义好编码规则和属性字段。
做一个能源管理项目时,核心对象是空调主机、水泵、配电柜、管网和阀门。我给每台设备定义了业务属性:名称、编码、所属系统、额定功率、安装位置、维保周期等,导出成一张设备清单表。这张表不仅是建模依据,也是后面所有数据接入和联调的索引。
同时还要把“事件”梳理出来。比如设备告警事件包含告警类型、级别、发生时间、关联设备。业务事件梳理清楚,后面做数据联动才有奔头。很多新手项目做到一半乱掉,根源就是前面业务对象没梳理清楚,做到哪儿算哪儿。
4.2 第二步:模型制作与轻量化处理
模型来源通常分三类:原始BIM模型(Revit)、CAD翻模、现场踏勘手工建模。Revit模型信息最全,但构件数量动辄几十万,直接导入浏览器会直接卡死。所以轻量化是必须做的一步。
轻量化我一般按三步走。第一步做几何简化,保留主要外形和关键特征,删掉螺栓、孔洞这种肉眼不可见的细节。第二步做合并网格,把同一栋楼里相同材质的构件合并成一个Mesh,减少DrawCall数量。第三步做纹理压缩,原来2048的贴图压缩到512或者1024,肉眼几乎看不出区别,性能却能提升不少。
模型导出格式统一用glTF/glb,它对Web端最友好。导出时开启Draco压缩能进一步减小文件体积。我习惯按“园区-楼栋-楼层”分别导出,方便前端按需加载。千万别图省事导出一个整栋楼的模型文件,几十兆的glb只会让页面转圈。
4.3 第三步:坐标对齐与层级架构
坐标对齐是数字孪生项目最容易出错、又最少被人提前讲的一环。建模软件用的是局部坐标系,GIS和地图服务的坐标系是地理坐标系,两者经常对不上。常见的现象是模型跑到几十公里之外,或者旋转了一个奇怪的角度。
我的做法是,在项目启动阶段就直接建立一个统一的坐标基准。园区类项目使用CGCS2000或WGS84经纬度坐标,把园区角点、每栋楼的定位坐标先定好。建模软件建好的模型在导出时挂到对应的定位点上去,在一个空的三维场景中通过经纬度转局地坐标完成对齐。
前端代码里我会抽一个Transform工具模块,把不同类型模型的本地坐标转换为场景坐标,并输出日志方便排查。项目上线前还要做一轮校验:用已知坐标的参考点在场景里和模型位置比对,偏差超过0.5米就要处理。
4.4 第四步:场景搭建与数据驱动开发
前端场景搭建,我通常用Vue 3 + Three.js + Pinia这套组合。场景初始化和数据绑定大致如下:
import * as THREE from 'three'; import { GLTFLoader } from 'three/examples/jsm/loaders/GLTFLoader.js'; import { OrbitControls } from 'three/examples/jsm/controls/OrbitControls.js'; const scene = new THREE.Scene(); const camera = new THREE.PerspectiveCamera(45, window.innerWidth / window.innerHeight, 0.1, 2000); camera.position.set(200, 150, 300); const renderer = new THREE.WebGLRenderer({ antialias: true }); renderer.setSize(window.innerWidth, window.innerHeight); document.getElementById('map-container').appendChild(renderer.domElement); const controls = new OrbitControls(camera, renderer.domElement); controls.target.set(0, 10, 0); controls.enableDamping = true; // 加载园区模型 const loader = new GLTFLoader(); loader.load('/models/park.glb', (gltf) => { scene.add(gltf.scene); }); // 加载设备数据并绑定到场景节点 const deviceStore = useDeviceStore(); deviceStore.fetchDevices().then(() => { // 遍历场景中的设备节点,按照 deviceCode 绑定状态 scene.traverse((child) => { if (child.userData.deviceCode) { bindDeviceStatus(child.userData.deviceCode, child); } }); }); // 每帧更新 function animate() { requestAnimationFrame(animate); controls.update(); renderer.render(scene, camera); } animate();数据驱动是数字孪生和普通三维展示的分水岭。设备状态、告警闪烁、管线流量这些动态效果,全部都从统一的状态管理里面取数。前端不做静态硬编码,后端通过WebSocket推送数据,把运行数据实时更新到Pinia的store,三维场景通过监听状态变化来更新相应的物体颜色、显隐和文字标签。
事件交互这一步也很关键。点击设备弹出详情面板,这是最基本的需求。Three.js里用Raycaster做射线拾取,拾取到GeoNode之后读取userData里的设备编码,再查数据store里的详情。注意大场景里不要在每一帧都对所有Mesh做射线检测,那样性能扛不住,通常会用一个visible的开关控制,只在点击瞬间开启检测,或者只对高亮层做检测。
4.5 第五步:性能优化与部署交付
性能优化是数字孪生项目上线前必须做的冲刺。客户那边常用的电脑配置通常远低于开发者机器,你不优化,交付过去就是卡顿。
最有效的手段是设备分类和按需加载。园区里几千台设备如果全部预加载,浏览器直接崩溃。做法是场景加载时只加载建筑外壳和主干道,设备模型等用户接近某个楼栋再动态加载,离远了自动卸载。这就用到LOD(Level of Detail)思路,给不同距离分配不同精度的模型。
渲染层面把能合并的合并,能用实例化的用InstancedMesh。园区里的同类型设备,比如几十个同一个型号的风机盘管,用InstancedMesh一次渲染,DrawCall能降一个数量级。纹理尽量走压缩格式,不透明物体关掉深度写入可以提升性能,但要注意场景遮挡关系,别为了性能牺牲效果。
部署形态上,单纯做数字孪生网站可以直接用Nginx部署静态文件加后端API。如果项目需要嵌入已有管理平台,就打包成前端组件,通过iframe或微前端方式集成。这两条路我都走过,微前端方式的体验更好,iframe在通信和样式隔离上总有一些别扭的地方。
5. 踩坑笔记:数字孪生项目的高发问题与排查方法
做了几个项目之后,我整理过一张问题速查表,每次新项目遇到坑都往里面加。这里挑几个出现频率最高的分享给同行,希望能帮大家少走弯路。
5.1 模型漂移、位置对不上
现象很典型:三维模型出现在地图上的错误位置,甚至跑到城市另一端。排查思路要按顺序走。先查建模软件里模型原点是否在建筑内部,很多建模的人习惯让模型偏离原点很远,导出glb之后就带了很大的偏移坐标。再查前端常用的局地坐标转换函数是否正确,经纬度转平面坐标时是否换了投影参考。最后检查Cesium场景里是否开了错误的坐标系转换。
我自己被坑过一回,问题是出在Revit模型导出时坐标基点设置成了项目基点的绝对高程,到了前端后所有楼栋都悬空或者陷入地表。解决方案是导出前统一设定世界原点为零点,所有模型都放到一个规范的区域。项目里我增加了启动时的自检逻辑,加载完模型后会输出边界盒信息,人工一眼就能判断模型位置是否合理。
5.2 页面卡顿、帧率上不去
数字孪生项目最常见的负面反馈就是卡。卡顿八成出在模型上,而不是代码逻辑上。如果一栋楼的模型有几万甚至几十万个三角形,任何前端框架都扛不住。最直接的解决手段是降低总面数,删除细节构件的面,同时开启模型合并和纹理压缩。
另外一个非常容易被忽略的坑是透明材质滥用。大厅玻璃幕墙、栏杆扶手都做成半透明材质,看起来很美观,但每多一个透明物体,渲染的排序负担和overdraw就会明显增加。如果做的是园区级项目,玻璃幕墙用假透明或者贴图模拟,性能差距会非常明显。我在交付前会固定用一次GPU面板看过DrawCall和GPU内存占用,超过预期指标就继续简化模型。
5.3 WebSocket 和实时数据的不稳定
系统上线后运维反馈数据时断时续,大概率是数据推送链路的问题。首先要区分是后端没有收到采集数据,还是前端没有收到后端推送。排查路径建议从前端倒推:前端看WebSocket连接状况,再查后端日志有没有推送记录,再看IoT平台的数据质量,一层层卡住问题点。
实时数据频率也要控制。有些设备传感器每秒上报一次,前端如果每秒钟刷新一次三维场景里的几千个节点,CPU直接跑满。我习惯做数据缓冲区,前端每帧最多处理一次批量更新,把高频原始数据在边缘侧做聚合,比如一分钟算一个平均值再推给前端。数字孪生大屏的刷新率,人眼看15到30帧就已经足够流畅了,不是越频繁越好。
5.4 模型数据对不上,设备编码冲突
设备编码冲突是个“慢性病”,通常前期不会暴露,直到做数据联动时才明显。症状是点击模型里的设备,详情面板里显示的是另一台设备的数据。
这个坑几乎全部源于项目的资产编码不统一。建模的时候模型里的设备编号用一套,IoT平台注册的设备编码又是另一套,对不上。最彻底的做法是在项目启动第一天就发布一份统一的编码规范文档,对每个设备定义唯一标识,并且确保BIM属性、后端数据库、IoT平台三处使用同一套编码。如果项目已经做了一半才发现问题,那就只能做映射表补丁,但后续维护非常痛苦。
5.5 “大屏美化”需求与性能的平衡
数字孪生项目不可避免地会遇到客户提“要炫酷一点”的需求。火焰效果、粒子系统、动态光晕,这些特效用起来很爽,但每一个特效都是性能上的一个黑洞,尤其在客户现场那台旧电脑上。
我现在的做法是:先引导客户把重点放在数据和交互上,特效只做点缀。如果确实要加特效,就做在几个关键位置,比如只对告警设备做一次告警扫描动画,而不是全场景飘光效。交付之前,我会和客户约一场“性能验收会”,在客户电脑上跑一遍真实数据,把帧率调优到可接受范围再签字。这也算是管理客户预期的一种方法。
6. 写在项目之后:数字孪生落地的关键认知
最后说点带主观色彩的东西。做了几年数字孪生项目,我最大的体会是这行真正稀缺的不是三维引擎技术,而是对业务的拆解能力。同一个Unity引擎,有人拿它做游戏,有人拿它做产线仿真;同一套Three.js,有人做出来的只是交互演示,有人做出来的是能支撑运维决策的工具。差距就在你对客户业务的理解深度。
给准备入坑数字孪生方向的团队几个建议。第一,先想清楚客户到底有什么问题要解决,再谈你要用什么技术,反过来做项目很容易做成“自嗨型演示”。第二,数据比模型重要,一个数据干净、链路稳定的轻简场景,比一个模型精美但数据断裂的“屏”更有生命力。第三,交付边界要写清楚,数字孪生项目牵涉模型、数据、业务系统集成,合同里不界定清楚范围,后面全是扯皮和加急单。
如果你正准备做自己的第一个数字孪生项目,不用一上来就追求宏大叙事,找一个小园区的能源监控、一栋楼的机电运维、一条产线的状态可视化,从这类能看懂、能度量、能闭环的场景切入,会比建一个“城市级平台”踏实得多。把一个小场景做透,比把十个场景做虚,带给你的成长要多得多。