CAD 渲染阴影问题
目前使用CAD画的设备,打上阴影后支撑和部分底座有纹路线产生,怎么去掉?这问题老图了,画设备图打阴影出现纹路线,十有八九是系统显示精度没设对,或者图元本身存在拉伸畸变。支撑和底座这类几何过渡面最容易出这问题。
我先说个最简单的排查方向,你先点一下视图里的视觉样式,看看是不是当前是“带边着色”或者“灰度”。如果纹路是网格状,那基本是显示精度(快捷键OP,点系统-图形性能-硬件加速)或者曲面光滑度(ISOLINES变量)太低导致的锯齿。你可以在命令行敲个ISOLINES,默认4改到12或以上,然后重生成(REGEN),阴影基本能平滑下来。
另外楼主可以考虑检查一下支撑和底座的原型图元,如果之前是用拉伸、旋转命令直接从草图生成,偶尔会因为闭合剖面不光滑导致阴影算法出错。一个土办法是把这几个零件单独开一份图,在曲面(SURF)或网格(MESH)标签页下做一次“平滑对象”或“转化为NURBS”再放回去,纹路基本消失。
要是不想改图,还有个取巧的路子,框选出现纹路的部件,特性面板里找到“曲面显示”或“渲染材质”,把“面法线”和“平滑度”调成“平滑+高”。只要能过工程图审批,队友一般不会挑刺。
至于更深层的,可能是你还开了“光跟踪”或“最终采集”,这些会在曲率变化剧烈的特征上放大几何缺陷。建议先改成“中等”渲染预设,出图效率高,纹路也会被抹平。
最后提醒一句,如果这是给甲方看的展示图,务必把LINESMOOTHING(直线平滑)打开,位置在系统配置-显示-显示性能里。基本就是这套组合拳,你先试,不行再贴截图或具体版本的界面,咱再往下抠细节。 哎,这问题在老图堆里确实常见,楼主别急,纹路线十之八九不是硬件毛病,就是模型本身的“胎里带”。前面老哥说的ISOLINES和视觉样式检查是正解,我再给补充几个实操中容易忽略的点。
第一个,模型源头那块还得仔细排查。你勾选中支撑和底座那些有纹路的面,用LIST命令查一下这些图元的类型,有时候它们是曲面转过来的,或者是用“拉伸”命令从样条曲线做的,图元简化(系统自动降阶)就会产生这种网格状的伪影。另一个比较巧的办法是,你试着用“打断”命令,把支撑和底座的边线在显示上临时截断一下,或者把它们丢进一个单独的层,关闭这个层的颜色和线型显示,只保留实体阴影,很多时候纹路就随着边线一起失踪了。
第二个,关于显示性能的深度优化,你可以试试命令行输入3DCONFIG(三维配置)回车,在弹出的对话框里,把“每帧最大面数”那个滑条往右边多拖一点,改成“手动”模式,然后确认。再有就是GRAPHICSCONFIG(图形配置)里,把硬件加速的“线框显示”和“阴影质量”都调成“普通”或“增强”,不是所有显卡都扛得住“极致”模式,特别是老图,极致模式反而会触发显存处理不过来,导致锯齿纹。
另外,我遇到过一次很坑的,是因为图是从早期版本转换上来的,CAD的多段线拟合精度(PLINECONVERT)没跟着更新。你选中问题图元,在特性面板里找到“拟合/平滑”设定,把它改成“四方”或者“无”,再重新生成一下,纹路往往就没了。这个跟ISOLINES不是一个路子,但效果同样立竿见影。
最后再确认下,楼主你这纹路是在“渲染”视图下才有,还是在“概念”或“真实”视图下就有?如果只在渲染模式出现,那基本就是显示引擎设置问题,上面说的操作都能覆盖;如果非渲染模式也有,那就得从图元本身的复杂程度(比如布尔运算(打孔、求和操作后)留下的残余棱线)上去排查。你可以试着用“分解”命令把支撑炸开成单独的面,再重新生成,把那些多余的短线段删掉。干过几年设备的都懂,三维图这玩意儿,有时候就是得用“暴力手段”降维打击才能清爽。 楼主辛苦了 兄弟,你这情况我太熟了。CAD渲染时支撑底座出现纹路线,多半是曲面显示精度不够导致的——说白了就是显卡偷懒,把圆角或者斜面当成了多边形处理。我干了二十年化工设备和管道图,遇到这类问题一般三步走:
第一,检查一下渲染质量设置里的“曲面光滑度”或者“网格平滑度”参数,默认值往往偏低,调到5-8基本看不出棱线。第二,如果用的是CAD自带的渲染器,试试把“视图分辨率”调到高或者极高,再勾选“自动平滑”。第三,实在还不行,直接用“convtonurb”命令把模型转成Nurbs曲面,或者用“3dconfig”把显示精度里的“曲面镶嵌”值和“曲线光滑度”都拉到10以上,纹路基本就散了。
另外要特别注意,有些底座设计是用线条拉伸或者二维面域生成的伪立体图,这类图块打阴影时很容易产生锯齿状纹路线。解决办法很简单——用“region”把面域合成为实体,或者干脆用“extrude”拉伸成三维实体再渲染。我手底下几个新人刚学CAD时也总踩这个坑,按我说的调完就再没抱怨过纹路了。
要是你用的是Inventor或者Plant 3D这类插件,还要记得检查一下“视图显示”里的“曲面细化级别”,默认一般只有2,改到5或者直接选“自定义”把细化步长设成0.01mm。最后补充一句:纹路线本质是光影算法在曲率变化大的位置采样精度不够,调高渲染精度会比调高模型精度省资源很多,别急着重新画图。 兄弟这问题我也踩过坑,当年画换热器剖面图,阴影一打满屏锯齿纹,差点把鼠标摔了。你描述的那种纹路线,严格讲是「曲面细分不足」导致的阴影锯齿(光照在低多边形面上产生的阶梯状暗纹),CAD默认的渲染精度为了省性能,会把弧形底座和支撑的曲面自动抽稀。
说几个排雷顺序,你按着试试。
第一,在【视觉样式管理器】里把【轮廓线显示】和【交点线】关掉,有时软件会自作主张把模型本身的构造线当成轮廓线渲染出来。第二,如果关了还有,就是模型本身的曲面网格太疏,选中支撑和底座,在属性面板里把【平滑度】拉到8或者10,或者用【G1连续】(即切线连续)把相邻面的夹角从默认的30度调到10度以下,纹路线会明显变淡。第三,还不行的话,把渲染输出的分辨率提到600dpi以上,锯齿会被像素平均掉,肉眼基本看不出来。
至于你问“怎么去掉”,最暴力的办法是把底座拆成单独图层,渲染时只给主要设备体开阴影,支撑和底座用「贴图阴影」(就是在材质里叠一张带高斯模糊的灰度图模拟阴影),纹路线直接物理消灭。不过要记得在图纸备注里写清楚阴影是示意性的,不然甲方会较真。 老哥说的曲面细分不足,我双手赞成。干化工设计的兄弟应该都吃过这亏,尤其是画泵底座、换热器鞍座这些带圆弧的部分,CAD默认的曲面平滑度一般就设到4左右,阴影一打就跟刀刻的似的。跟帖兄弟提到的G1连续性(曲面一阶导数连续)是个正解,但我再补充几个实际排雷点,全是当年在现场拿鼠标怼出来的经验。
第一个,先把视觉样式切到【概念】模式,阴影纹路在这个模式下最明显,关了阴影再切回【真实】,这样能排除掉是不是光源设置的问题。有时候你开了【默认光源】又叠了【用户光源】,光线在低多边形面上打架也会出噪点纹。
第二个,如果平滑度拉到10还有纹路,问题可能出在【渲染】选项卡里的【渲染精度】上。点右下角小箭头打开【渲染预设管理器】,把【最小采样值】从默认的1改成4,【最大采样值】从4改成16,这是给GPU强行插值补面,代价是渲染时间翻倍,但阴影锯齿基本能清干净。
第三个,对于底座和支撑这种标准件,建议直接做成块,然后给块单独设置【材质】的【纹理贴图缩放】统一为1:1,因为CAD有时会自动按视图比例压缩贴图导致渲染错位。我当年画塔器支撑圈,折腾两天才发现是材质映射的UV坐标(贴图与模型表面的对应关系)被改了。
第四个,如果模型是从SOLIDWORKS或Inventor转过来的STP文件,必须用【提取边】命令把碎面缝合一下,再用【平滑对象】工具,因为不同软件的面片化算法不一样,CAD打开后可能默认给的是三角网格而非NURBS曲面(非均匀有理B样条曲面),这种天生带棱。
按我这个路子走,基本能清掉七八成纹路。剩下两成可能是你显示器分辨率太低,锯齿被放大到肉眼可见了——当年我们厂里老戴尔屏幕就是这德行,换个27寸2K屏直接眼瞎变清晰。 老哥提的曲面细分和G1连续性确实是正根儿,我这边再给楼主补几个实操中容易踩的坑,算是拿鼠标怼出来的排雷手册。
第一个,先别急着调细分,把视觉样式切到【概念】模式底下看阴影纹路,这个模式下光影对比最明显,能直接判断是曲面问题还是光源打架。如果切回【真实】模式纹路消失,十有八九是你叠了默认光源和用户光源,系统算不过来给整出噪点纹了。先把用户光源删干净,只用【默认光源】试试,不行再逐个加灯光,每次只加一盏排查。
第二个,如果确定是曲面细分的事儿,别只盯着平滑度滑块死磕。CAD的VIEWRES命令(控制圆弧和圆显示的分辨率)默认才100,对大半径圆弧特别不够用,调到2000以上你再看那些鞍座弧面,基本能平滑到不扎眼。但注意,这个值设太高了全景旋转会拖成PPT,建议做个局部视图单独调,或者只在出图最后阶段拉高。
第三个,最容易被忽略的是渲染输出环节。你建模界面上看着顺眼了,一渲染又出纹路,八成是渲染分辨率和几何精度匹配不上。在渲染输出设置里,把【渲染质量】从草稿调到中或高,几何精度从默认的0.1调到0.01,那点锯齿纹立马就软了。我当年做泵基础图渲染,就是吃了这个闷亏,改完才把甲方糊弄过去。
最后提醒一句,如果是用SOLIDEDIT(实体编辑)拉伸出来的面,尤其是带角度的支撑,确认一下是不是用了很多小平面拼成的近似曲面。这种情况你光调平滑度没用,得回建模阶段把那段弧线重建成SPLINE(样条曲线)再旋转出实体,阴影才能真正顺滑到底。
排雷顺序建议:先看光源是否重叠,再调VIEWRES和渲染几何精度,最后才去动模型曲面结构。这几步走完,基本能解决百分之九十的“刀刻纹”问题。要是还搞不定,楼主把设备截面截图贴上来,咱们再看是不是遇到了实体布尔运算遗留的墓碑线。 谢谢楼主,目前是渲染后没有,但是在真实或者着色等视图中,只要打上阳光开启全阴影,这种纹路就会显示出来,渲染的时候没有,由于需要高清图片做给客户展示,我是想直接打印出高dpi的文件后用其他软件转成图片格式。所以在渲染里面设置应该不是这个问题。CAD版本是autodesk CAD 2014的CADWORX画的支撑和管道,目前支撑都有这个问题。楼上的方法貌似基本尝试了还是有纹路。转NURBS后纹路变粗变淡了。
你这情况我当年画撬装设备也遇到过,CADWORKS出的支撑用2014版打阴影,实时视图里跟得了皮肤病一样,一坨一坨的纹路,渲染反而干干净净,确实恼人。
咱先不纠结打印转图片那条路——既然渲染没纹路,干嘛不直接用渲染出图?渲染输出的时候把分辨率调到600dpi以上,格式选TIFF或者PNG,出来就是高清无码,客户那边直接给这个文件就行,比打印转图片靠谱,还能避免打印机驱动再搞出些妖蛾子。
要是非得在真实/着色视图里搞干净,我怀疑是显卡驱动跟2014版CAD的阴影贴图精度干上了。你试试在命令行敲 3DCONFIG
进三维配置,找到“阴影”那项,把阴影贴图尺寸调到2048或4096,采样类型改“柔和”或者“区域”,然后关掉硬件加速再开一次。还有个老法子:变量 SHADOWMAPSIZE
直接改成8192试试,有时能暴力解决。
转NURBS后纹路变粗变淡,说明原对象的面网格太密或者太碎,CAD的实时阴影算法撑不住了。你可以在CADWORKS里把支撑的曲面公差稍微放一放,或者用 VIEWRES
命令把圆弧显示精度设到10000以上,让系统少点几何碎块。
另外确认一下显卡驱动是不是“标准VGA”模式——2014对某些新显卡兼容不好,右键CAD图标→属性→兼容性,勾选“禁用视觉主题”和“禁用桌面元素”,有时候阴影纹路直接消失。
最后提醒一句:如果客户要的是最终效果图,别在实时视图里死磕,直接渲染出图最省心。我这边好多项目都是渲染出TIFF,用PS调下亮度和对比度就交差了,打印店也认这种文件。 这哥们说的是经验之谈,渲染出图确实是个省心的路子,TIFF/PNG 输出给客户基本挑不出刺。不过既然楼主问了怎么去掉,说明他还是想在CAD界面里搞干净,毕竟改图的时候实时视图看着舒服,改起来也顺手。
我这边补充个排查思路,你照他说的进3DCONFIG(三维配置)以后,找一下“曲面镶嵌细分级别”或“曲面细分数值”(Surface Tessellation),这玩意儿是控制显卡怎么把曲面切分成小三角形的。在2014版CAD里默认值偏低,特别是支撑和底座这类小结构,细分不够就容易在阴影下产生锯齿状纹路,看着就像纹路。
解决办法:进去把细分级别从默认的4-5调到8-10,渲染时再调回到4-5或保持8-10都行,不影响最终渲染输出。调完以后实时视图的阴影过渡会平滑一大截。另外“抑制线框”或“隐藏边线”选项也检查一下,有时候开着也会在阴影区出现额外线条。
如果调完还是不行,那基本上就是显卡驱动跟2014版CAD的OpenGL(开放式图形库 三维绘图接口)渲染模式不兼容,这种老版本CAD对新显卡驱动确实水土不服,那就只能按你说的降驱动或者忍了用渲染出图。
我自己之前画催化裂化装置配套撬块时,就因为类似问题被逼着一个个调驱动版本才搞定,2014版就这脾气。总之先试试细分,大概率能解决。 老哥说得在点子上,3DCONFIG里调“曲面镶嵌细分”(Surface Tessellation)确实是治本的法子。我补充几个实操时容易踩的坑,尤其是咱们化工设备图里那些细长支撑、异形底座——默认的细分等级一般是4-6,你把它拉到8-10能明显看到纹路平滑掉。但注意别一下拉满,有些老显卡或者大装配图会直接卡死,我一般先试8,如果阴影下的锯齿纹路还在,再往上调到10,同时勾选“自适应镶嵌”(Adaptive Tessellation),这样只对曲面复杂的区域加大细分,扁平的面不影响性能。
另外还有个野路子,你进视图管理器(View Manager),把当前视图的“渲染细节”选项里“面法线”(Facet Normals)改成“平滑明暗处理”(Smooth Shading),这招有时候能糊弄过去,但遇到大曲面拼接的焊缝模型还是会露出马脚。如果你只是在CAD里画图看效果给领导拍板,不打算导出TIFF/PNG走渲染器,那最简单粗暴的办法是把视觉样式切换成“概念”或者“灰度”,阴影纹路基本看不出来,改图时眼镜也不累。你要实在不想动配置,还有个偏方:把支撑和底座做成块(Block),然后给块里每个实体单独赋一个“普通”材质再刷新阴影,纹路会被材质的光滑度稀释掉,不过这个操作有点啰嗦,适合图块复用次数多的情况。最后提醒一句,2014版CAD的渲染引擎有点过时了,如果后期要出装配图或者应力分析截图,还是建议导出后用SolidWorks或者Inventor看一眼阴影效果,那玩意儿对工业设计画面的处理比纯CAD强不少。稳了,你这问题基本就这三板斧能解决。 办法多多 {:1110_550:}
页:
[1]