1. 工业模型进Unity,为什么PiXYZ是绕不开的一环
做过数字孪生项目的朋友大概率都经历过这个场景:甲方甩过来一个几十兆甚至上百兆的STEP或IGES文件,说“把这个设备模型放进场景里,下周演示”。你兴冲冲地把文件拖进Unity,结果要么是导入报错,要么是模型面数爆炸直接把编辑器卡死,要么是材质全丢变成一片灰白。这不是Unity不行,而是CAD模型和实时渲染引擎之间,本来就隔着一条巨大的鸿沟。
CAD软件的核心诉求是精确,它用NURBS曲面和精确边界表示(BRep)来描述几何体,一个螺栓可能由几十个数学曲面拼接而成。而Unity这类实时引擎的核心诉求是效率,它只认三角网格,每一帧要在十几毫秒内完成渲染。这两套体系的语言根本不通。PiXYZ Plugin就是在这个背景下出现的——它专门负责把工业CAD数据“翻译”成Unity能高效消化的网格数据,同时尽可能保留层级结构、材质信息和装配关系。
我接触PiXYZ大概是在做第一个工厂产线数字孪生项目的时候。当时试过直接用Unity的CAD导入器,也试过先导出FBX再导入,效果都不理想。FBX这条路的问题在于,CAD软件导出的FBX往往带着大量冗余数据,面数高得离谱,一个简单的阀门就能有几十万三角面。PiXYZ的价值在于它提供了规则化的减面策略和层级重建能力,让你能在导入阶段就把模型治理好,而不是等到场景里再一个个手动优化。
这篇文章适合谁看?如果你正在做工业数字孪生、产线监控、设备运维可视化这类项目,需要把CAD模型搬进Unity,那这篇内容应该能帮你少走不少弯路。如果你只是做游戏场景,用的都是美术做的低模,那PiXYZ可能对你意义不大。下面我会从整体思路、核心操作、实操流程到踩坑经验,把PiXYZ处理工业模型的完整链路拆开讲一遍。
2. 整体思路:CAD到Unity的数据治理逻辑
2.1 为什么不能直接导入CAD文件
很多人第一反应是“Unity不是支持FBX和OBJ吗,我让CAD软件导出一个不就行了”。这个思路在模型简单的时候勉强能用,但一旦涉及真实工业场景就会崩盘。原因有三层。
第一层是几何精度与面数的矛盾。CAD模型用NURBS曲面描述,一个圆柱面在数学上就是一个方程,但转成三角网格后,曲率越大的地方需要越多的三角形来逼近。一个直径200mm的管道,如果按0.1mm的弦高误差来离散,光一个弯头就可能产生几万个三角面。整条产线几百个设备,面数轻松上千万,Unity根本扛不住。
第二层是层级结构的丢失。CAD装配体是有父子关系的,一个减速机下面有壳体、齿轮组、轴承、端盖,每个零件还有自己的名称和属性。直接导出FBX再导入Unity,这些层级往往变成一堆扁平的Mesh,你想单独控制某个零件的显隐或者做动画,根本找不到对应的对象。
第三层是材质与颜色的错乱。CAD软件里的颜色信息通常以顶点色或者简单的漫反射颜色存在,导出后经常丢失或者变成奇怪的默认材质。工业场景里设备颜色是有意义的,管道什么颜色代表什么介质,这些信息丢了,数字孪生的可视化价值就大打折扣。
PiXYZ的思路是在Unity内部直接解析CAD文件,在导入过程中就完成曲面离散、层级重建、材质映射、减面优化这一整套治理流程。你可以把它理解成一个专门为工业数据设计的ETL工具,Extract(提取)、Transform(转换)、Load(加载)都在Unity编辑器里完成。
2.2 PiXYZ的核心能力矩阵
PiXYZ Plugin的功能可以归纳为四个核心模块,理解这四个模块的分工,后面的操作就不会迷路。
CAD解析模块负责读取各种格式的工业文件。它支持的格式相当全,STEP、IGES、JT、CATIA V5、SolidWorks、Creo、NX这些主流格式都能直接读。底层用的是PiXYZ自己的几何内核,对BRep的解析精度和鲁棒性比通用转换器好不少。我实测过一些复杂的铸件模型,用其他工具转换经常出现破面或者丢面,PiXYZ基本能完整保留。
网格化模块负责把NURBS曲面离散成三角网格。这里的关键参数是弦高误差(Chordal Deviation)和角度误差(Angular Deviation)。弦高误差控制的是离散后的三角面与原始曲面的最大距离,值越小越精确但面数越多。角度误差控制的是相邻三角面法线夹角,影响曲率变化区域的细分密度。这两个参数需要根据模型的尺寸和最终在屏幕上的显示大小来权衡。
减面模块是PiXYZ最值钱的部分。它提供了多种减面算法,包括基于二次误差度量的边折叠、基于曲率的自适应减面、以及针对平面区域的 aggressive 简化。工业模型里大量存在平面、圆柱面这些规则几何,减面算法能识别这些特征并大幅压缩面数,同时保留倒角、圆孔这些关键细节。
层级与材质模块负责重建装配树和映射材质。PiXYZ会读取CAD文件里的产品结构树,在Unity里生成对应的GameObject层级。材质方面,它会根据CAD里的颜色和材质属性,自动创建或匹配Unity的Material,支持Standard、URP、HDRP管线。
2.3 处理策略的选型逻辑
拿到一个项目,先别急着往PiXYZ里拖。我一般会先做一轮评估,判断这个模型的处理策略。
如果模型是单台设备展示,比如一个泵或者一个电机,重点在于保留细节。减面比例可以控制在50%到70%,弦高误差设小一点,让曲面看起来光滑。材质要精细映射,可能需要手动调整金属度和粗糙度。
如果模型是整条产线或者整个车间,重点就变成了性能。这时候要分层处理:近处的主设备保留较高精度,远处的辅助设备大幅减面,甚至可以替换成简模。PiXYZ支持按对象设置不同的处理参数,这个能力一定要用起来。
如果模型是建筑或者厂房结构,比如钢结构、管道支架,这类模型的特点是大量重复的型材和规则几何。处理策略是识别重复实例,用Prefab的方式复用,同时把平面区域减到极致。一个工字钢梁,原始模型可能几千面,减面后可以压到几十面,视觉上几乎看不出区别。
提示:在开始处理前,先问清楚这个模型最终在什么设备上跑、屏幕分辨率多少、相机距离多远。这些信息直接决定了你的精度预算。一个在4K大屏上近距离展示的模型,和一个在移动端小屏幕上远距离观看的模型,处理策略完全不同。
3. 核心细节解析:参数背后的几何逻辑
3.1 弦高误差与角度误差的配合
弦高误差和角度误差是网格化阶段最重要的两个参数,但很多人搞不清楚它们的关系。我用一个生活化的类比来解释:想象你要用直线段去画一个圆。弦高误差就是你允许直线段偏离圆弧的最大距离,角度误差就是你允许相邻两段直线之间的转角。
这两个参数是或的关系,只要满足其中一个条件,细分就会停止。实际使用中,弦高误差通常设得比较小,因为它直接决定了曲面的视觉光滑度。角度误差设得相对宽松,用来控制曲率变化剧烈区域的细分密度。
具体数值怎么定?我的经验是:弦高误差取模型整体尺寸的0.1%到0.5%。比如一个2米高的设备,弦高误差设在0.5mm到2mm之间。角度误差一般设在15度到30度之间。如果模型要在VR里近距离观看,弦高误差要再小一个数量级。
这里有个容易踩的坑:弦高误差设得太小会导致面数指数级增长。因为曲面离散的三角形数量大致与弦高误差的平方成反比。你把误差从1mm降到0.1mm,面数可能增加100倍。所以一定要结合最终显示尺寸来定,不要盲目追求高精度。
3.2 减面算法的选择与参数
PiXYZ提供了几种减面模式,每种适用于不同的场景。
Ratio模式是最简单的,你指定一个目标面数比例,算法自动减面。适合对模型结构不了解、只想快速压缩的情况。但缺点是它不区分重要特征,可能把倒角、小孔这些细节先减掉。
Chordal模式是基于弦高误差的减面,算法会保证减面后的网格与原始网格的偏差不超过设定值。这个模式适合对精度有要求的场景,比如需要做尺寸测量或者碰撞检测。
Feature模式是我最常用的。它会识别模型的几何特征,比如平面、圆柱面、边界边、尖锐边,然后针对性地简化。平面区域可以大幅合并,曲面区域保留较多三角形,边界和倒角则尽量不动。这个模式处理工业模型效果最好,因为工业模型本身就是特征驱动的。
减面比例的经验值:对于整机展示,保留30%到50%的面数通常足够;对于产线级场景,可以压到10%到20%;对于建筑结构,5%到10%也能接受。但这不是绝对的,关键看减面后的视觉效果。
3.3 层级重建与命名规范
PiXYZ导入时会读取CAD的产品结构树,在Unity里生成对应的GameObject层级。但CAD里的命名往往是一串编码,比如“PART-00123-A”,直接拿来用根本不知道是什么设备。
我的做法是在PiXYZ的导入设置里开启名称映射功能,把CAD里的零件名称映射成可读的中文或英文名称。如果CAD文件本身命名规范,这一步可以自动化;如果命名混乱,就需要在导入后手动整理。
层级结构也要根据项目需求调整。CAD的装配树可能非常深,一个设备下面有子装配、子子装配、零件、特征,层级可能十几层。Unity里层级太深会影响性能,也不方便管理。我一般会把层级压到三到四层:设备级、部件级、零件级。更细的层级在导入后合并掉。
注意:层级重建不是越细越好。每多一层GameObject,就多一次Transform计算。对于静态设备,可以考虑把零件合并成单个Mesh,只保留设备级的层级。对于需要做动画或者交互的部件,才保留独立对象。
3.4 材质映射与渲染管线适配
CAD里的颜色信息通常以两种形式存在:一种是零件级别的颜色属性,一种是面级别的颜色。PiXYZ能读取这两种信息,并映射到Unity材质。
但CAD的颜色是简单的RGB漫反射色,没有金属度、粗糙度、法线这些PBR属性。直接映射到Standard Shader会显得很平,没有质感。我的做法是建立一个材质映射表,把常见的工业颜色对应到预设的PBR材质上。比如深灰色对应金属漆,浅灰色对应塑料,蓝色对应喷涂钢板。
如果项目用的是URP或HDRP管线,PiXYZ也支持直接生成对应管线的材质。但要注意,HDRP的材质属性更多,可能需要手动调整一些参数才能达到理想效果。我一般会先让PiXYZ生成基础材质,然后在Unity里批量替换成项目统一的材质模板。
4. 实操流程:从CAD文件到Unity场景的完整链路
4.1 环境准备与插件安装
PiXYZ Plugin的安装不算复杂,但有几个细节容易出问题。首先确认Unity版本,PiXYZ对Unity的版本有要求,太新的版本可能还没适配。我目前用的是Unity 2022 LTS,PiXYZ 2023.1版本,配合稳定。
安装方式是通过Unity Package Manager,从PiXYZ的私有源添加。需要在Package Manager里添加Scoped Registry,地址和scope名称在PiXYZ的文档里有。添加后就能搜索到PiXYZ Plugin和PiXYZ Core两个包,都要装上。
装完后在菜单栏会出现PiXYZ的菜单项。第一次使用需要激活License,PiXYZ是商业插件,有试用版但功能受限。激活过程需要联网,这里不展开。
提示:安装前先备份项目。PiXYZ会修改一些项目设置,比如Scripting Define Symbols和Package依赖。如果项目里已经有其他CAD导入工具,可能会有冲突。
4.2 导入设置的关键参数配置
导入CAD文件时,PiXYZ会弹出一个设置窗口,参数不少,但核心的就那么几个。
Import Mode选择“Full”会导入所有几何和层级,“Geometry Only”只导入网格,“Structure Only”只导入层级。一般选Full。
Tessellation部分就是前面说的弦高误差和角度误差。我通常先设一个中等精度,比如弦高0.5mm、角度20度,导入后看效果再调整。
Decimation部分选择减面模式。第一次导入建议先不减面或者轻度减面,看看原始面数有多少,再决定减面策略。
Hierarchy部分控制层级重建。可以设置最大深度、是否合并相同名称的节点、是否保留空节点。
Materials部分选择材质生成方式。可以按CAD颜色生成,也可以按零件生成,或者不生成材质后续手动指定。
Coordinate System部分很重要。CAD软件通常用Z轴向上,Unity用Y轴向上。PiXYZ会自动做坐标转换,但有时候需要手动调整旋转。导入后如果模型躺着的,就是这里没设对。
4.3 模型检查与问题定位
导入完成后,先别急着优化,做一轮检查。
打开Scene视图,把模型拖进去,调整相机看整体效果。检查有没有明显的破面、丢失的零件、错位的部件。PiXYZ的导入日志会记录警告和错误,比如“Failed to tessellate face”或者“Missing material”,这些都要关注。
用Unity的Stats窗口看面数和顶点数。如果面数超过预期,可能是弦高误差设太小了。如果模型看起来有黑面或者闪烁,可能是法线方向反了,需要在PiXYZ里重新计算法线。
层级结构在Hierarchy窗口里检查。看看命名是否可读,层级是否合理,有没有多余的节点。如果CAD文件里有隐藏的零件或者参考几何,PiXYZ可能也会导入,需要手动删除。
4.4 减面优化与LOD生成
确认模型完整后,开始减面优化。PiXYZ提供了两种操作方式:一种是在导入时设置减面参数,另一种是导入后用PiXYZ的减面工具对选中的对象进行处理。
我一般用第二种方式,因为可以针对不同对象设置不同参数。选中一个设备,打开PiXYZ的Decimation窗口,选择Feature模式,设置目标面数比例,点击应用。处理完后对比一下视觉效果,如果细节丢失太多就调高比例。
对于大型场景,LOD是必须的。PiXYZ可以生成多个减面级别的模型,然后在Unity里配置LOD Group。LOD0保留原始精度,LOD1减到50%,LOD2减到20%,LOD3减到5%。相机距离越远,使用越低级别的LOD。
注意:LOD的切换距离要根据模型的屏幕尺寸来定。一个经验公式是:当模型在屏幕上的投影高度小于屏幕高度的10%时,就可以切换到下一级LOD。具体数值需要在运行时调试。
4.5 材质调整与光照烘焙
减面完成后,处理材质。如果PiXYZ生成的材质不理想,可以批量替换。选中所有使用某个材质的对象,在Inspector里替换成项目预设的材质。
工业场景的光照通常用Baked GI,因为实时全局光照性能开销太大。在烘焙前,确保所有静态对象的Static标记正确设置。PiXYZ导入的模型默认不是Static,需要手动勾选。
烘焙参数根据场景规模调整。Lightmap Resolution一般设每单位10到20 texel,太小会有噪点,太大烘焙时间爆炸。Lightmap Padding设2到4,避免相邻对象的光照贴图串扰。
如果场景里有大量重复设备,可以用Lightmap Parameters的Prefab模式,让相同Prefab共享光照贴图,减少烘焙时间和显存占用。
5. 常见问题与排查技巧实录
5.1 导入报错与文件兼容性问题
问题:导入STEP文件时报“Unsupported entity type”
这是PiXYZ遇到了不支持的BRep实体类型。常见于一些老版本CAD软件导出的文件,或者包含特殊曲面(如NURBS控制点曲面)的文件。解决方法是先用CAD软件把模型导出为中间格式,比如JT或者Parasolid,再导入PiXYZ。如果还不行,尝试在CAD软件里修复几何,或者用PiXYZ的Healing工具自动修复。
问题:导入后模型尺寸不对,大了1000倍或者小了1000倍
这是单位问题。CAD软件可能用毫米,Unity默认单位是米。PiXYZ在导入时可以设置单位缩放,检查导入设置里的Unit Scale参数。如果已经导入,可以在Transform里手动缩放,但注意缩放后物理碰撞体会不准。
问题:模型导入后是黑色的,没有材质
检查PiXYZ的材质生成设置。如果CAD文件里没有颜色信息,PiXYZ不会自动生成材质。可以在导入设置里勾选“Generate Default Material”,或者导入后手动指定材质。
5.2 性能问题的排查思路
问题:场景帧率很低,GPU占用高
先用Unity的Profiler看瓶颈在哪。如果是Draw Call太多,检查有没有合并相同材质的对象。PiXYZ导入的模型每个零件是独立Mesh,Draw Call可能几百上千。用Unity的Static Batching或者手动合并Mesh来减少Draw Call。
如果是面数太高,检查减面是否到位。用Scene视图的Wireframe模式看网格密度,如果还有大片密集网格,继续减面。
问题:编辑器操作卡顿,旋转视图不流畅
这通常是场景里对象太多或者单个对象面数太高。用Hierarchy窗口的搜索功能,按面数排序,找出面数最高的对象优先处理。另外,关闭Scene视图的实时阴影和后期效果也能提升编辑流畅度。
5.3 视觉效果的常见缺陷
问题:模型表面有黑斑或者闪烁
这是法线问题。可能是法线方向不一致,或者法线被压缩后出现了精度问题。在PiXYZ里重新计算法线,或者在Unity的Import Settings里勾选“Calculate Normals”。
问题:曲面看起来有棱角,不够光滑
弦高误差设太大了。减小弦高误差重新网格化,或者对曲面区域单独提高精度。如果模型已经减面,可能是减面算法把曲面简化过度了,换用Feature模式重新减面。
问题:材质在URP/HDRP下显示不正常
PiXYZ生成的材质可能是为Built-in管线设计的。在URP/HDRP项目里,需要用Render Pipeline Converter转换材质,或者手动重新指定Shader。
5.4 常见问题速查表
| 问题现象 | 可能原因 | 排查方法 | 解决方案 |
|---|---|---|---|
| 导入报错 | 不支持的实体类型 | 查看PiXYZ日志 | 转中间格式或修复几何 |
| 尺寸不对 | 单位不匹配 | 检查Unit Scale | 调整导入缩放或Transform |
| 模型全黑 | 无材质信息 | 检查CAD颜色属性 | 生成默认材质或手动指定 |
| 帧率低 | Draw Call或面数高 | Profiler分析 | 合并Mesh或继续减面 |
| 表面黑斑 | 法线问题 | 检查法线方向 | 重新计算法线 |
| 曲面有棱角 | 弦高误差大 | 检查网格密度 | 减小误差重新网格化 |
| 材质异常 | 管线不匹配 | 检查Shader | 转换或重新指定材质 |
| 层级混乱 | CAD命名不规范 | 检查Hierarchy | 手动整理或名称映射 |
6. 几个让我印象深刻的实战案例
6.1 汽车焊装产线数字孪生
这个项目是我做过的最复杂的PiXYZ应用场景。客户要给一个汽车焊装车间做数字孪生,包含几十台机器人、夹具、输送线、安全围栏。原始CAD文件是一个总装配体,大小超过2GB,零件数量十几万。
直接导入肯定不行。我的策略是分块处理:先把总装配按工位拆成十几个子装配,每个子装配单独导入PiXYZ。导入时用Feature模式减面,机器人本体保留50%面数,夹具保留30%,围栏和支架保留10%。材质方面,机器人用白色和橙色区分,夹具用灰色,输送线用蓝色。
层级重建时,我把每个工位做成一个Prefab,工位内部按设备类型分组。这样在场景里可以按工位加载和卸载,不用一次性全部加载。最终场景在高端PC上能跑到60帧,面数控制在800万左右。
这个项目让我学到的是:PiXYZ处理能力再强,也扛不住无脑导入。分块、分级、分策略,才是大型场景的正确打开方式。
6.2 化工管道模型的减面优化
化工管道的特点是大量重复的管段、弯头、法兰、阀门。一个装置区可能有几千个管段,每个管段如果都保留原始精度,面数直接爆炸。
我的做法是先分析管道的几何特征。直管段是圆柱面,弯头是环面,法兰是圆盘加螺栓孔。这些几何都可以用很少的三角形来表达。用PiXYZ的Feature模式,把弦高误差设到管道直径的1%,角度误差设到30度,减面比例压到5%。
减面后,一个直管段从几千面降到几十面,弯头从几百面降到几十面。视觉上,在正常观看距离下几乎看不出区别。材质方面,按管道介质颜色映射,蒸汽管红色、水管蓝色、气管黄色,一目了然。
提示:管道模型的减面要特别注意连接处。两个管段连接的地方如果有错位,减面后会出现缝隙。PiXYZ有焊接顶点的功能,可以在减面前把相邻管段的连接顶点合并,避免缝隙。
6.3 机床设备的交互式拆解展示
这个项目需要做一个机床的交互式拆解动画,用户点击某个部件,该部件就飞出来并显示详细信息。这对模型的层级和命名要求很高。
PiXYZ导入时,我开启了名称映射,把CAD里的零件编号映射成中文名称。然后在Unity里写了一个脚本,根据名称自动生成交互逻辑。每个可交互部件挂一个Collider和Highlight脚本,点击时触发拆解动画。
难点在于减面后零件的独立性。如果减面时把多个零件合并成一个Mesh,就没法单独控制了。所以这个项目里,可交互的零件不减面或者轻度减面,不可交互的内部结构才大幅减面。PiXYZ支持按对象设置减面参数,这个功能在这里派上了大用场。
6.4 移动端数字孪生应用的极限压缩
移动端项目对性能的要求比PC苛刻得多。面数要控制在50万以内,Draw Call要控制在100以内,纹理内存要控制在200MB以内。
PiXYZ在这个项目里的角色是极限压缩。弦高误差设到模型尺寸的1%,角度误差设到45度,减面比例压到3%到5%。材质全部换成简单的Unlit Shader,去掉光照计算。纹理用ASTC压缩,分辨率降到512。
最终一个中等复杂度的设备模型,从原始200万面压到了8万面,Draw Call从300多降到20多。在移动端设备上能稳定跑30帧。当然视觉效果有损失,但移动端屏幕小,观看距离远,实际体验可以接受。
7. 一些不在文档里的经验之谈
7.1 处理前先做模型体检
拿到CAD文件,别急着往PiXYZ里拖。先在CAD软件里打开,检查几个东西:模型有没有破面、有没有多余的参考几何、单位是什么、装配层级是否合理、零件命名是否可读。这些问题在CAD软件里修复,比在PiXYZ里修复容易得多。
我一般会用CAD软件的“检查几何”功能跑一遍,把破面和缝隙修掉。然后把不需要的参考平面、坐标系、草图隐藏或删除。这些在PiXYZ里也会被导入,白白增加面数和层级。
7.2 减面不是越狠越好
新手容易犯的错是追求极致的减面比例,觉得面数越低越好。实际上,减面到一定程度后,视觉质量会断崖式下降。一个圆孔减面过度会变成多边形,一个倒角减面过度会消失,曲面减面过度会出现明显的棱角。
我的经验是:先确定视觉底线,再尽可能减面。在目标观看距离下,如果减面后的模型和原始模型看不出区别,那就是合适的比例。如果已经能看出区别,就调高比例。不要为了省那点面数牺牲视觉效果。
7.3 材质和光照比面数更影响观感
很多人把精力全花在减面上,忽略了材质和光照。实际上,在面数已经足够的情况下,材质和光照对最终观感的影响更大。一个面数适中但材质精细、光照合理的模型,看起来比一个面数很低但材质粗糙、光照平淡的模型好得多。
我的做法是:减面到合理范围后,把省下来的性能预算花在材质和光照上。用PBR材质、加环境光遮蔽、烘焙高质量光照贴图。这些对观感的提升立竿见影。
7.4 建立可复用的处理模板
如果你经常做类似的项目,建议把PiXYZ的处理参数保存成模板。Unity的Preset功能可以保存导入设置,下次直接套用。减面参数、材质映射规则、层级重建规则,都可以做成模板。
更进一步,可以写一些Editor脚本,自动化处理流程。比如批量导入一个文件夹里的所有CAD文件,自动减面、自动生成LOD、自动替换材质。这些脚本一次投入,长期受益。
7.5 和CAD工程师保持沟通
这一点可能听起来不像技术建议,但实际项目中非常重要。CAD工程师和Unity开发者的思维方式不同,他们关注的是设计精度和制造可行性,我们关注的是渲染效率和视觉效果。处理模型时遇到问题,直接找CAD工程师沟通,往往比自己在PiXYZ里折腾半天更有效。
比如模型导入后发现有破面,可能是CAD软件导出时的精度设置问题,让CAD工程师重新导出一次可能就解决了。或者某个零件的层级不对,CAD工程师在源文件里调整一下,比在Unity里手动整理快得多。
8. 关于PiXYZ与Unity数字孪生工作流的几点个人体会
PiXYZ Plugin解决的是工业数字孪生里最脏最累的那部分活——把CAD数据变成Unity能用的资产。这个环节做好了,后面的交互开发、UI设计、数据对接才能顺利推进。这个环节做不好,后面全是坑。
我个人的工作流是:CAD软件里做初步清理,PiXYZ里做网格化和减面,Unity里做材质和光照,最后用脚本做交互和数据处理。每一步都有明确的输入和输出,出了问题也容易定位。
PiXYZ不是万能的。它处理不了CAD软件里的参数化特征,也处理不了装配约束。它就是一个几何转换工具,把BRep变成Mesh,把装配树变成GameObject层级。理解它的能力边界,才能用好它。
最后分享一个小技巧:PiXYZ处理完的模型,建议导出成Unity的AssetBundle或者Addressable资源,而不是直接放在场景里。这样可以在运行时按需加载,也方便版本管理和更新。工业数字孪生项目往往需要持续更新模型,资源化的管理方式会让后续维护轻松很多。