Chapter 13 追光Raytracing

一个打了光效的特斯拉叶轮机

图 13.1: 一个打了光效的特斯拉叶轮机

FreeCAD 在 3D 窗口中展示模型,这个图片的质量一般来说已经足够好了。这样的图片既能传递出重要设计信息,也能很快渲染出来。不过有时候,你可能需要质量更佳的图片,比如为了制作产品样册,或者为了展示产品。为此目的,FreeCAD 有一个 追光/Raytracing 工作台。

追光工作台

图 13.2: 追光工作台

所谓 Raytracing,顾名思义,就是模拟光的路线,从光源出来,跟各个对象交互作用,直到进入相机,最终产生照片。照片模拟的是场景中的对象与光线互动的效果。这个模拟可以表现出很多微妙的视觉效果,比如阴影、透明、镜面、和反射。追光虽好,代价是太耗费计算资源了,每一幅照片都要渲染很长时间。

FreeCAD 并不是直接做追光,而是依靠外部渲染器来产生照片。就 0.17 版来说,FreeCAD 支持 Povray 和 Luxrender 引擎。

二者必须单独安装。完整的安装指导在各自的网站上有。

本章下面使用的是 Povray 渲染器的 3.7.0 版。

(FreeCAD 只提供了 Povray 和 Luxrender 的基本渲染功能。如果你需要更复杂的场景,要么手工修改 POV-Ray 的脚本,要么导出模型给 Blender 然后用那里的功能。)
追光工具栏

图 13.3: 追光工具栏

13.1 配置 FreeCAD

  1. 要渲染一个项目,必须先告诉 FreeCAD 怎么找到渲染器引擎的执行文件。只要在追光工作台的首选项标签页里配置一次就行了。
配置 POV-Ray 可执行文件的位置

图 13.4: 配置 POV-Ray 可执行文件的位置

13.2 创建 PovRay 项目

  1. 在文档中创建追光项目时,它使用相机的当前位置。在 3D 窗口中把零件居中。如果视图没有设置为透视,你会接到警告消息,最终结果可能不同于你看到的样子。要避免这样,把视图设为透视(视图 -> 透视视图)。 如果项目已经创建,你还想改变相机的位置,可以先调整 3D 窗口后,然后点击图标 把相机挪过来。

  2. 点击图标 向文档中插入一个新的 POV-Ray 项目。

  3. POV-Ray 渲染器调用模版工作,FreeCAD 包含了几个模版供选择。不论是 RadiosityNormal 还是 RadiosityOutdoorHQ 都能做出不错的效果。当然你也可以自己创建附加模版,但那超出本书范围了。

选择 RadiosityNormal 或 RadiosityOutdoorHQ 以得到最佳效果。

图 13.5: 选择 RadiosityNormal 或 RadiosityOutdoorHQ 以得到最佳效果。

  1. 从你的模型中选中零件,加入那些你想包括在最终渲染图里的部分。点击图标 把零件的视图加入 POV-Ray 项目中。
为每一个零件创建了一个视图对象

图 13.6: 为每一个零件创建了一个视图对象

13.3 进行渲染

  1. 在模型树上选中项目节点,点击图标 按钮渲染它。渲染照片可能要用几分钟的时间。渲染完成后你可以点击照片,它会打开一个单独的标签页。

13.4 调整零件透明度和颜色的一点注意事项

在第 5 步,把零件加入追光项目,在项目节点下创建了许多个新的视图对象。原零件的透明度和颜色信息也复制到了新对象身上。但是这里有一个奇怪的地方。

在原始零件中,透明度和颜色是在属性面板的“视图”标签页里4,如图 13.7 所示。当颜色和透明度复制到新的“视图”对象身上后,它们出现在属性面板的“数据”标签页,如图 13.7 所示。如果想要改变颜色和透明度来重新渲染,你可以改变“视图”对象的数据属性,也可以改变原始数据对象的视图属性,然后重新把它们加入渲染项目中来。

颜色和透明度数据从原零件那里复制过来了

图 13.7: 颜色和透明度数据从原零件那里复制过来了


  1. 技术上说,这些是对象的“视图提供者”的属性。