CAD模型导入Unity全流程指南:SolidWorks/ProE到FBX优化与材质转换
搞工业模型导入这活儿我一开始真没觉得有多难直到有一次客户发来一个SolidWorks的总装配体压缩包解出来2个多G我兴冲冲地拖进Unity结果编辑器直接卡成幻灯片转个视角要等三秒。那一刻我意识到CAD软件里的看着挺好和Unity里的跑得动完全是两码事。这篇文章就是把我在这个坑里爬出来的全过程捋一遍从ProE/Creo和SolidWorks的导出设置到Unity的导入面板再到减面、材质转换、布光一步步说清楚。适合正在做数字孪生项目、设备展示程序或者被领导安排把三维模型弄进Unity里做演示的同学参考。1. 为什么CAD模型不能直接拖进Unity两种底层逻辑的冲突很多刚接触这个流程的人会有一个直觉模型是三维的Unity也是三维的那直接拖进去不就行了真不是这么回事。我从根源上讲一下你理解了这些差异后面每一步操作你就知道为什么要这么干了。1.1 NURBS曲面和三角网格的思维差异ProE现在叫Creo和SolidWorks这类工业CAD软件内部用的核心是NURBS曲面也就是用数学公式去描述一个曲面。在CAD里你看到一个圆柱面它的本质是一个完美的数学曲面无论放大多少倍它都是光滑的。实时渲染引擎不是这么玩的Unity里所有模型都是三角网格一个圆柱是由一圈圈三角形拼接出来的精度取决于你给多少个三角面。这就是为什么你把CAD模型导进来之后模型一旋转边缘会出现多边形感的锯齿——三角面不够多。反过来为了让圆柱边缘光滑你加细分面数蹭蹭往上涨直接压垮你的显卡。这个底层的差别导致一个必然的结果CAD模型以最高精度导出时面数往往以百万甚至千万计。我导过一套中型注塑机的装配体单个零件还好整机导出来顶点数超过800万这种数据量在Unity里根本没法实时交互。1.2 单位、坐标系和标注基准的错位CAD世界里默认单位是毫米SolidWorks默认毫米ProE默认也是毫米而Unity的世界单位是米。千万别小看这个差异一个零件直接拖进去Unity会把它当成米来处理一个标注为100mm的零件会变成100米场景里直接看不见模型一缩放就会发现大得离谱。这是最经典的新手坑。坐标系也是一个问题。机械设计里Z轴是高度方向竖直向上而Unity的Y轴才是高度方向。FBX格式虽然带坐标转换信息但如果你在CAD软件里导出时设置不当模型进Unity后会躺倒在地上或者转轴方向完全不对。我早期做项目时吃过这个亏。一台设备的模型导入Unity后整个设备横躺在XZ平面上传动轴方向全都错了。我当时以为是Unity的轴设置问题后来才发现是SolidWorks导出选项里没有勾选Y轴向上的选项从源头上就搞错了。1.3 资源树层级和装配关系的翻译CAD装配体有严格的装配树一个总装下面是子装配子装配下是零件零件之间还有配合约束关系。Unity虽然也有父子层级但它对装配约束这个概念是完全不理解的。你导出一个装配体成FBXUnity能保留的主要是谁挂在谁下面的层级关系而各个零件在空间里是否对齐、是否有旋转偏移这些信息会被烘焙进每个零件的transform里。听起来简单但实际操作中经常出现零件拆开之后坐标全乱了或者整个装配体进来后层级树又长又乱找零件找到怀疑人生。我实际操作下来最稳妥的做法是在CAD软件里先把需要动的零部件整理好层级给关键零件起好英文/拼音命名Unity对中文名兼容性现在虽然好了但导出插件偶尔还是会有编码问题然后把不参与交互的零件合并成一个静态网格。这样导出来Unity里的层级树才勉强能看。2. 导出前的CAD端准备这几步决定了你后面省不省心模型在CAD软件里处理得越干净Unity里的工作就越轻松。那些指望导入Unity后再慢慢优化的想法基本都行不通因为Unity端的减面和层级修复工具远没有CAD端好用。2.1 单位设置和坐标系修正SolidWorks里通过选项-文档属性-单位确认你的模型确实是MMGS毫米-克-秒系统。ProE/Creo则是在文件-准备-模型属性里查看单位设置。这两个软件默认的单位体系可能不同但导出前统一确认一下总没错。坐标系调整因人而异但我个人的建议是在CAD里就把模型摆正。所谓摆正就是让模型的主轴方向和软件的绝对坐标系对齐——设备的长边沿X轴宽边沿Y轴高度沿Z轴。这一步很重要因为后续不管转FBX还是OBJ模型的局部坐标系大概率会跟着导出如果CAD里是歪的Unity里也是歪的每次使用都要手动修正很麻烦。ProE/Creo装配体里可以通过重新定向或创建新的默认坐标系把模型摆正。SolidWorks里我习惯用移动/复制实体功能把整个装配体选中用约束或手动输入数值让它对齐到全局原点。这一步花十分钟能省掉一个小时。2.2 零部件整理和模型轻量化CAD装配体里往往有大量不影响外观但非常吃性能的零件比如螺栓、螺母、垫片、密封圈、卡簧。这类标准件动辄几百上千个每一个在Unity里都是一个独立的GameObject都有自己的Transform和渲染网格对性能是灾难性的。我的习惯是在导出前做一轮瘦身标准件、紧固件直接隐藏或从装配体中删除如果不涉及拆装动画。不参与展示的内部机芯、线缆、管路可以抑制Suppress掉等需要时再还原。相同零件可以保留一个原始模型在Unity里用Prefab实例化而不是每个都导出独立网格。检查一下有没有多余的重叠曲面、小圆角、小特征。CAD里一个螺栓头部的倒角导到Unity里可能产生几千个三角面这种精度对实时渲染毫无意义。我做过一个对比实验一个包含12000个零件的装配体隐藏掉标准件和内部结构后只剩2800个零件导出FBX体积从1.8GB降到420MBUnity里加载时间从55秒降到9秒帧率从12帧升到50帧以上。这个差距非常直观。2.3 导出格式怎么选FBX是首选OBJ做备胎直接说结论绝大多数场景选FBX。FBX的优势在于它不仅可以保存网格和材质还能保存模型的层级结构、变换信息、法线、UV、动画骨骼虽然工业模型基本用不到。Unity对FBX的支持是最完善的导入时可以直接做缩放单位转换、轴转换省去很多手动调整。OBJ格式也不是不能用它的优点是无脑、兼容性极强任何软件打开都不会出严重问题。缺点是它本质是纯几何格式不带骨骼、不带动画、层级信息也几乎没有零件一多就乱了材质虽然可以通过MTL文件引用但Unity对OBJ材质映射的支持很凑合基本要手动重刷。STL格式劝大家别拿来进Unity做渲染它是三角形面片格式没有任何材质、颜色、纹理信息只适合3D打印或纯几何分析。还有一种情况如果你要导出的模型带颜色外观但你的软件导出FBX时材质映射经常出错可以用ProE的导出-渲染模型或者SolidWorks的保存为-3D PDF做中转再通过一些中间工具转换。这条链路比较绕不推荐常规使用但遇到顽固的颜色丢失问题时可以救命。2.4 导出选项截图对照SolidWorks和ProE两个实际配置我把两个软件常用的导出选项列个清单你对照着勾选就行这是我自己反复试出来的稳定组合。SolidWorks导出FBX时在保存类型里选FBX然后点选项弹出对话框里输出选项选实体/曲面几何体不要选外观里那种特殊类型。面片化精度默认在中或者高之间。中精度够展示用高精度面数直接翻倍不划算。将文档单位应用到模型一定勾上。Y轴向上建议勾上这样可以减少Unity里轴矫正的额外操作。几何体类型选三角测斜不要选四角测斜避免导入Unity后出现网格缝隙。ProE/Creo导出FBX通过文件-另存为-FBX时比较关键的是在导出设置里单位保持模型单位通常是毫米FBX导出器会自动带上单位信息Unity导入时可以识别并转换。面片化的弦高Chord Height和角度控制Angle Control不要追求极致的精细度。我在Creo里设置弦高为0.1mm、角度为10度显示效果已经很好了。导出为选择装配或零件取决于你要导出什么。装配模式会保留子装配层级。外观选项里勾导出外观/指派材料这样SolidWorks或者Creo里的上色外观能带到FBX里作为一个基础颜色参考。导出完成后建议用一个轻量查看器比如Windows自带的3D查看器或者免费的Autodesk FBX Review打开FBX检查一下层级在不在、单位对不对、颜色还在不在。到这一步就把问题堵在源头不要等到Unity里炸了才回来排查。3. Unity导入面板的正确打开方式缩放因子和轴修正把FBX从CAD端拖进Unity的Asset文件夹项目窗口中就会出现一个同名模型资源。双击它Inspector里会显示导入设置面板。这个面板很多人都是默认一顿操作直接应用结果模型躺的躺、斜的斜白白浪费时间。3.1 Model标签页的缩放和单位处理Unity导入FBX时默认会读取FBX文件里写的单位信息。如果你的FBX是毫米单位导入模型导入后在场景里拖出来一般会自动缩放成Unity的米单位。但如果你在CAD导出时没有勾单位选项或者FBX文件压根没写单位Unity就会按1单位1米来理解模型直接膨胀1000倍。这种情况解决办法是在导入面板的Model选项卡里找到Scale Factor字段把它从1改成0.001。这个操作不是简单缩放模型而是告诉Unity这个模型一个单位表示1毫米请按1毫米0.001米来换算。还有一个选项Convert Units勾选后Unity会自动处理单位转换一般不勾问题也不大但如果你发现模型导进来老是带一个奇怪的缩放值可以尝试切换这个选项的开关状态看哪种组合能导出正确的缩放比。3.2 轴修正为什么模型躺倒了FBX格式有一个轴转换信息字段记录了模型制作时使用的坐标系。如果CAD导出时你选的是Z轴向上机械行业默认而Unity的世界坐标系是Y轴向上Unity的导入器理论上会自动做轴矫正。但这个矫正并不可靠——我遇到过好几次某些版本的FBX导出器写不进去正确的轴信息导致模型在Unity里沿X轴躺下。这种情况可以手动修正在导入面板勾选Bake Axis Conversion让Unity强制烘焙坐标转换。如果还不行那就直接把FBX重新导出一次在CAD软件里设置Y轴向上再导。终极手段把模型资源放进场景给它套一个空物体父节点手动将模型旋转-90度让Z轴转到Y轴。这个做法最快但模型如果有后续动画或程序化控制坐标会有点扭曲能不用尽量不用。3.3 导入后的网格检查清单每次导入模型后我都有几个固定动作到场景里拖一个模型实例看它的Scale是否是(1,1,1)同时选中模型后在Scene视图看它的包围盒大小确认不是离谱的数值。切换到一个俯视视角快速检查模型有没有倒伏、翻转、错位。打开模型资产的Materials标签页看看有没有出现None材质或者一堆自动生成的Standard材质球。如果材质丢失大概率是CAD端导出时没有嵌入材质或者是FBX里引用了外部贴图路径Unity找不到。这个在我们后面的材质章节细说。检查清单跑完模型在Unity里至少能正常显示了接下来的重点就是让它跑得动和看得顺。4. 面数减负从千万级多边形到实时渲染的安全线导入进来了模型能看了但性能还不行。一个直接拖进来不做优化的CAD模型面数轻松上百万。要让它在普通配置的电脑上流畅旋转、缩放你得把总面数控制在合理范围同时不能肉眼可见地损失细节。4.1 实时渲染的面数预算怎么算Unity官方性能建议是移动端场景控制在10到30万三角面PC端可以到100万左右但这是整个场景的量级。工业展示场景往往还有粒子特效、反射探针、后期处理你给模型预留的面数空间就更小了。我给自己定的规则是大型设备整体场景比如整条生产线30到60万三角面。中型机械主机展示比如一台机床、一台包装机15到25万三角面。单体精细产品比如一个发动机缸体8到15万三角面。如果你的模型超了这个数就得减面了。4.2 Unity自带的简易减面方案Unity本身没有内置一个一键减面工具标准管线没有URP/HDRP也没有所以跨这个坎一般靠第三方工具。我试过的方案有Mesh Baker这个插件擅长批量处理网格和材质合并它内置了一个简易的减面功能可以控制在Blender里做还是用它自带的效果中规中矩适合大批量处理。Simplygon这是业界比较顶级的自动减面优化方案能根据视距保守地生成LOD效果好到惊人但价格也不便宜主要面向游戏大厂。Blender免费减面用Decimate修改器把每个零件单独导入Blender按比例减面后重新导出FBX。这个方法最灵活、免费适合你只要处理一个关键大件的情况。我做项目时觉得最划算的组合是大件用Blender精减标准件小件用Mesh Baker批量处理最终再整体检查一遍。这套组合下来既省钱又高效。4.3 实战中减面要注意的几个点减面并不是无脑减少以下几类情况我踩过坑给你提个醒关键外形不能崩设备的外轮廓、装配结合线、铭牌区域的细节减面时不要让轮廓走形否则一眼假。我的做法是减面时把关键区域保护的权重提高——Blender的Decimate没有这个功能但你可以先把关键区域单独切出来不减面只对大面积平面减。花纹和文字会糊掉CAD模型上如果有激光打标的文字、铭牌凹凸、表面纹理减面后基本变成一片糊。这类细节如果不重要直接在CAD导出前就删除特征省得后面处理。圆角是面数大户一个零件上一堆R1、R2的小圆角减面时这些区域优先处理掉。在CAD阶段就可以用删除圆角功能把它们移除或者用面片化精度调低的方式来整体压面数。不要减到出现闪电形长条三角面减面过多时网格上会出现细长条三角形形成阴影显示上的条带瑕疵。检查模型时切到线框模式看一眼看到太长的三角形就说明减过头了适当退回一档。4.4 用LOD组让性能有质的提升除了整体减面工业模型还特别适合用LODLevel of Detail分级。原理很简单根据相机距离远处用低模近处用高模人眼基本察觉不到切换但性能收益非常明显。Unity里创建一个LOD Group组件可以挂4个级别的模型LOD 0最精细LOD 3最粗糙。在CAD里导出时就可以准备多个精度的模型版本比如原始精度、减50%、减80%、减95%分别拖到LOD Group的各个层级调好切换距离就行。我用LOD做过一个实际测试一套压铸机模型原始面数120万做了四级LOD之后场景整体三角面数在默认视角下被压到18万帧率从22帧提升到61帧。这个优化幅度是所有手段里最猛的一个强烈建议你在减面完成后再做这一步。5. 材质转换从SolidWorks外观到Unity PBR工作流材质是很多工程师最容易懵的环节。CAD里给零件拖一个抛光钢的外观看起来挺像回事导入Unity后往往变成一片灰白或者干脆变成纯黑色、纯粉色——那是材质丢失的经典表现。5.1 为什么颜色和材质会丢根本原因是CAD软件的材质系统和Unity的PBR材质系统是两套完全不同的逻辑。SolidWorks的外观Appearance和ProE的外观本质上是给曲面一个颜色粗糙度反射它依赖的是CAD渲染器比如SolidWorks的RealView去解释。导出FBX时FBX格式的材质部分只支持有限字段CAD软件会尽量把外观信息写进FBX的材质属性里但这个翻译过程通常只保住了一个基色Albedo/BaseColor粗糙度、金属度、法线贴图这些信息基本都丢了。结果就是你在CAD里看到的不锈钢亮面零件进Unity后变成一块中灰色的哑光塑料质感。5.2 快速恢复材质的核心思路我的做法是放弃自动完美转换的幻想直接在Unity里重做材质球。流程是导入模型后在Unity里会生成一堆材质球资源每个在CAD里用了不同外观的零件都会生成一个。先检查这些材质球能把base color保留下来就是赚的。对关键的、出镜率高的零件手动建标准或URP的PBR材质把金属度、粗糙度、法线贴图等参数重新调一遍。具体的参数选择经验法则如下金属材质表面有明显金属反射的零件把Metallic金属度拉到1Smoothness光滑度根据表面情况调到0.6到0.9之间。比如拉丝铝调0.5-0.6镜面不锈钢调0.9以上。塑料/橡胶材质Metallic调0Smoothness调0.1到0.3之间高光别太强。漆面材质比如设备外壳的钣金喷漆Metallic调0到0.1Smoothness调0.5到0.7这样会产生一种哑光但带一定光泽的烤漆效果。玻璃/透明材质URP下用Surface Type设为TransparentSmoothness调到接近1Metallic保持0。同时要注意让透明物体调用合适的Render Queue否则会和其它透明物体穿插。5.3 如何借用CAD软件来预览材质呈现效果这个技巧很多人不知道CAD软件里的外观参数粗糙度、反射率等其实可以反转推出一些PBR参数的近似值。比如SolidWorks的外观编辑面板里有一个反射度和粗糙度滑杆把这两个数值记录下来映射到Unity里的Smoothness和Roughness注意Unity用的是Smoothness是roughness的反面Smoothness 1 - Roughness。这是一个粗略映射但比盲猜靠谱很多。我在实际项目中总结了一张粗略的映射表给你参考CAD外观类型Unity Metallic值Unity Smoothness值备注镜面抛光不锈钢10.95反射非常强适合做产品特写拉丝铝/哑光铝10.5金属质感保留但别太亮普通机械加工钢10.35表面有刀具纹路微粗糙黄铜/铜合金10.8偏暖色调工程塑料ABS/PA00.2哑光塑料反光很弱橡胶密封圈00.1纯哑光黑色氧化/发黑处理10.2金属但黑暗反光弱粉末喷涂浅色00.5工业设备最常见的表面这张表我用了很多年基本能覆盖九成以上工业零部件的材质需求。5.4 材质丢失后的终极抢救方案如果你的模型导入Unity后材质球全部都丢了这是ProE导出的高发问题有一个快速抢救方案在CAD软件里给模型简单地赋一个接近真实的颜色比如主体灰、把手黑、按钮红导出FBX把base color带过来凑合用。然后只对关键展示零件单独做精细材质。这个方案下你的模型在Unity里至少是有色可看的不至于一片灰。如果是那种必须100%还原真实质感的数字孪生项目比如客户要求设备外观和照片一样那工作量会大很多。你需要在Unity里给每个零件都精细调材质并且利用光照烘焙把反射和阴影烘出来那个活儿就不是一篇博客能说完的了。6. 布光和渲染配置让工业模型在Unity里真正出片模型导入正常了性能优化也到位了材质球也刷完了但看起来还是不高级——灰扑扑的、没有立体感金属不反光塑料没有高光。这通常是光照问题不是模型问题。工业模型不同于游戏场景没有复杂的自然光环境它的好看完全取决于你怎么布光。6.1 URP和HDRP怎么选Unity 2022以后新项目基本都是URP或HDRP。我这个主题下直接给结论如果你的项目还要兼容中低端显卡或者要发布到Web端、移动端选URP。如果项目追求极致画质在PC独显上跑想用光线追踪、体积光、高级后处理选HDRP。URP的渲染性能和画质平衡得比较好我用URP做工业设备展示比较多。HDRP我遇到过一些Shader兼容问题比如CAD导入的模型某些材质球在HDRP下会发紫需要手动换Shader比较折腾。6.2 工业模型布光的基本套路工业场景布光其实有规律可循我用的是三光环境光的基本盘主光Key Light放在相机视角的斜上方45度强度1到1.5URP的光照单位光照开启阴影。辅光Fill Light放在主光的对侧强度0.3到0.5不开阴影或开软阴影负责把暗部照亮减少反差过大的死黑区域。轮廓光/背光Rim Light放在模型背后强度比主光低一些让模型边缘从背景中分离出来有立体感。环境光用HDRI环境贴图代替默认的天空盒子给模型一个基础的柔光环境反射探针也会从HDRI里采样来做反射。这个HDRI的选择很关键一个工业展厅类型的HDRI比一个晴天户外的HDRI更适合设备展示因为光照更均匀、色温更准。这里有一个非常容易忽略的点光阴影。CAD模型进来后很多小零件之间有穿插阴影在细碎面上会产生很多噪点。这种情况下把Shadow Distance阴影距离调到10到15米阴影分辨率配合调低一点画面干净很多。6.3 反射探针和光照烘焙纯直射光下的金属表面会显得很脏因为金属材质非常依赖反射环境。如果场景里没有反射探针一个不锈钢零件就是一块灰铁皮。我的做法是在模型周围放2到3个Reflection Probe把场景的HDRI环境烘焙进探针里这样金属表面反射的就不再是黑色天空而是周围物体的模糊光影。如果项目需要实时移动相机可以在探针上设置实时更新模式不过这个性能开销比较大静态展示场景可以直接烘焙(Bake)。烘焙光照也是提升工业模型质感的一大杀器尤其是静态场景能把间接光照和柔和阴影烘焙到光照贴图里效果比纯实时光好很多性能还高。URP环境下烘焙操作不是默认打开的需要你在Light组件上勾选Bake Lightmaps场景里的静态物体标记为Contribute GI然后打开Lighting设置面板点Generate Lighting。工业模型零件多烘焙时间可能不短我跑过一个中型装配体烘焙花了20多分钟出来的效果值得。6.4 让画面高级的两个小技巧我自己的经验里有两个设定对工业模型质感提升立竿见影一是开启泛光Bloom后处理。工业设备的灯光指示、屏幕背光、金属高光有了Bloom都会变得柔和且高级。注意Bloom强度不要拉太高0.3到0.5即可太高会糊成一片。二是相机曝光值EV控制。在URP里用Volume组件控制相机的曝光值把EV设为8到10之间画面不会太亮也不会太暗。工业设备展示通常希望背景偏暗、设备偏亮这时候适当压低EV设备表面的高光和金属反射会更加突出。这两个设定在URP的Post-processing Volume里都能找到配置一次保存为Prefab后面做其他模型展示直接复用省时省力。7. 完整流程复盘从SolidWorks总装到Unity数字孪生的一次实操记录最后走一遍完整的流程说一个我最近做的项目——客户给了一个SolidWorks的液压站总装模型要求做成一个能拆装演示的交互程序。这个案例基本覆盖了前面所有步骤你照抄这个流程就能跑通。7.1 需求分析和工作量评估拿到模型后我先在SolidWorks里打开查看了装配体结构总共3600个零件单零件最大的是油箱体面数约30万总面数预估接近200万。客户要求展示整机外观、能做爆炸图动画、点击按钮能高亮特定元件并显示说明文字。基于这些需求我做了一个评估整机展示主模型需要减面到20万面左右。爆炸图动画需要保留至少主要零件的独立层级关系。高亮交互关键元件需要单独命名、单独导出、单独做材质数量控制在30个以内。明确了需求后面才不会漫无目的地优化整个模型。7.2 CAD端操作顺序在SolidWorks里我按以下顺序操作设置单位为MMGS。把坐标系调整到设备基座底面中心通过移动实体功能。隐藏所有螺栓、垫片、密封圈这些标准件不需要展示。对油箱、电机、泵体这些大件用简化功能去除不重要的倒角和小孔特征。给30个需要交互的关键元件重命名为Pump_01、Valve_02这样的英文名。导出两个FBX文件一个是全模型整体导出整机外观一个是把30个关键元件单独导出供交互用。导出时都勾选Y轴向上、毫米单位、带外观。整个CAD端准备花了大概两小时但正是这两个小时让后面Unity端的活儿变得非常顺。7.3 Unity端导入和装配Unity里新建URP工程把两个FBX拖入Assets。整体模型导入后Scale Factor自动识别为0.001Scale是(1,1,1)模型正立直接拖进场景干得漂亮——因为CAD端的坐标系摆正了Unity这边零调整。然后处理30个交互元件FBX单独导入后我需要把它们对准到整机模型上。做法是先看这30个元件在SolidWorks里的坐标系和整机坐标系是否一致在CAD里是同一个装配坐标系那么导入Unity后它们应该天然对位。果不其然拖进场景后元件和整机位置完全重合。这一步省去了手动对齐大量零件的痛苦全靠CAD端起好了名字和坐标系。接下来就是减面油箱体在Blender里用Decimate减到5万面大泵体减到3万面面数降下来后整体精度肉眼几乎看不出区别。然后给30个元件建LOD Group每个元件分三级LOD。7.4 材质、布光和最终效果材质方面我给整机做了3套材质外壳是深灰色粉末喷涂Metallic 0Smoothness 0.5液压油箱是蓝色烤漆Metallic 0.1Smoothness 0.6管接头和电机外壳用不锈钢金属材质Metallic 1Smoothness 0.8。这三个材质已经覆盖了液压站九成表面剩下的元件直接用CAD里带过来的颜色材质撑住。布光方面场景里放了一盏方向光做主光角度45度暖白色一盏辅助方向光冷白色强度0.3两盏点光源分别照在泵体和阀组区域加了反射探针和强度为0.4的泛光。最终效果很理想模型加载时间2.3秒整机面数26万帧率稳定在60帧金属油缸有高光反射蓝色油箱有漆面质感立体的光影让液压站的层次感非常清楚。客户看完演示直接点头通过后续只需要把30个关键元件的交互逻辑加上就行。7.5 踩过的最深的三个坑流程走完把这次以及过往项目里踩过的坑集中说一下都是实实在在的教训第一SolidWorks导出FBX时网格品质选项一定要看清楚。SolidWorks的FBX导出器默认可能使用草稿品质导出后的网格边界会锯齿严重。必须手动调成高否则Unity里模型边缘会像狗啃过一样而且后期很难修复。第二ProE导出FBX时默认会生成一个非常复杂的材质命名每个曲面都会有一个独立的材质球导致Unity生成几十上百个重复材质。这种情况我建议在ProE导出前用外观管理器把相同外观的曲面合并或者接受现实在Unity里用Mesh Baker把相同材质的子网格批量合并。第三透明零件永远是工业模型的噩梦。SolidWorks里玻璃视窗、油标、透明罩导入Unity后经常变成半透明或者带了奇怪的alpha混合。我的处理原则是如果这个透明件不参与交互直接把它改成不透明纯色或者带一点透明度的PBR材质通过调Transparency参数实现不要指望CAD导出的透明信息能完美还原。如果必须要完美透明效果那就在Unity里手动重做它的Mesh Renderer材质把Render Face设为BothSurface Type设为Transparent再调整Alpha值。8. 最后分享一点个人工作流上的体会这个流程跑过十几个项目之后我自己沉淀了一套比较固定的工作流分享出来给你参考。在CAD端我永远花30%的时间整理模型、摆正坐标系、精简层级在Unity端我花30%的时间做减面和LOD剩下40%的时间花在材质和灯光上——这个时间分配是我摸索出来性价比最高的比例。还有一个习惯就是每做一个项目我都会把CAD端的导出设置、Unity端的导入参数、常用材质参数截图存成一份文档放在项目文件夹里下次直接套用。工业模型导入这个事没什么玄学套路对了、流程固定了它就是个体力活——但对没趟过这些坑的人来说每一个细节都可能是一个通宵。如果你正在进行自己的第一个CAD转Unity项目我建议你从一个小型装配体开始练手别一上来就挑战几百个零件的总装。先把单位、坐标系、材质映射、减面这四件事跑通再逐步加大模型复杂度。相信我这套流程顺了之后你再看那些复杂设备模型心里就有底了。