POV-Ray 3.7

POV-Ray是一个基于SDL (场景描述语言)的渲染引擎,具有悠久的历史,使其非常稳定和功能丰富。POV-Ray 3.7的最新版本可在 项目网址 中找到。

特性

导出器的一些主要特点包括:

  • 几何导入和导出及其修改器、键控和物理动画

  • 添加POV-Ray特定的非网格基元(从不显示tessellation)

  • 实例项

  • 毛发粒子

  • 烟雾模拟

  • 大气介质(体积雾)

  • HDRI环境

  • 光圈景深

  • 材质属性如过滤、自发光、半透明、次表面散射、玻璃雾(着色吸收)、模糊/光泽反射…

  • 程序纹理(从Blender和POV-Ray本机仿真)

  • 图像纹理

  • 纹理影响通道: Alpha、漫反射、凹凸、高光、镜面(使用与镜面相同的通道)

  • 全局照明:辐射度(间接照明)、光子苛性(反射/折射)、网格灯

  • 自定义POV-Ray代码输入,可访问导出器不支持的任何POV-Ray功能。

POV-Ray 3.7

容积计和介质(散射/吸收)、模糊反射( uberPOV )、运动模糊( uberPOV )、微多角形位移( HGPOV )等。

激活

  • 当然,不要忘记 下载 并安装POV-Ray本身!

  • 打开Blender并转到“偏好设置”,然后转到“插件”选项卡。

  • 单击渲染,然后复制渲染设置以启用脚本。

用法

快速入门

  1. 从渲染引擎选择器中选择 POV-Ray 3.7。然后,您可以使用 Render 按钮照常渲染。

  2. 将根据 “属性” 中设置的参数渲染图像。

例如,可以在 “渲染” 选项卡中更改主要全局渲染设置。但也有环境、材质(纹理)、物体等的属性,所有这些属性都可以在其他选项卡中访问,具体取决于所选对象(几何形状、相机、灯光… )。

POV-Ray 分支

以下是该导出器可用的两个引擎的一些特点的比较:

特征/引擎/支持

POV-Ray

UberPOV

全部

✓ (开发中)

超采样

Alpha映射

凹凸贴图

法线贴图

转换贴图

运动模糊

次表面散射 (SSS)

体积光照明

模糊反射

✓ (very tricky)

黏塑

景深

材质分层

薄膜涂层

色散

各向异性

Thin Film Interference

复杂IOR文件

Coating Thickness Absorption

自定义反射率 90

自定义曲线

✓ (tricky)

✓ (tricky)

西格玛

焦散

环境光遮蔽

✗ (tricky)

✓ (开发中)

镜头平移

膜片 圆形/多角形

每个物体的纹理坐标

纹理投影模式

前/侧/顶/摄影机视图

✓ (tricky)

✓ (tricky)

多UV贴图

Texture Tone Mapping

✓ (tricky)

✓ (tricky)

程序纹理

合成纹理分层

合成纹理分层

Point Lighting

光照

基于图像照明

物理太阳/天空

✓ (tricky)

✓ (tricky)

HDRI(高动态范围图像)

IES纹理支持

实例支持

合并

交互式渲染

晕眩/开花/眩光(帖子)

✓ (tricky)

✓ (tricky)

相机响应功能(后置)

Color Balance (Post)

多线程

区域渲染

被动

发射体

不可见物体

目标物体

精确光源(点光,聚光和定向光源)

小块渲染

输出 UI 属性

渲染属性

辐射

在POV-Ray中, “辐射度” 是漫反射,与基于顶点颜色的辐射无关。实际上,它更类似于辐照度样品的最终收集并且提供无噪声间接光。

包括一些无线电性的预设值,它们的名称和设置是 rad_def 包括随POV-Ray附带的文件,它们设置了属性,因此您不需要在导出的POV文件中包含 rad_def.inc ,这是像Blender这样的界面可以为所有不习惯使用POV-Ray的用户带来的众多示例之一。

See also

更多详细信息在 POV-Ray Wiki

抗锯齿

支持三种抽样方法:

  • 非递归

  • 递归

  • 随机(蒙特卡洛)仅适用于UberPOV。

采样

值必须包含在1和9之间。值越高,渲染时间越长,甚至可能会引入一些不希望的模糊。

反锯齿阈值

在简单、非递归的方法中, POV-Ray最初会跟踪每个像素的一个射线。如果像素的颜色与其邻项(向左或向上)至少不同设定阈值,那么通过投射给定的固定数量的额外光线对像素进行超采样。默认阈值为0.3 ,但可以使用此 Antialias_Threshold = n.n 选项进行更改。

See also

更多详细信息在 POV-Ray Wiki

Tip

无抗锯齿的景深

开启摄像机景深时不使用抗锯齿功能将加快渲染速度,并经常提供足够的图像。

边界框

也称为加速,由导出器设置为自动BSP (二进制空间分区) ,因为它通常是最有效的(仅POV-Ray 3.7 ) ,但POV-Ray中提供了其他加速方法。

See also

更多详细信息在 POV-Ray Wiki

命令行开关

某些命令行参数可以传递给POV-Ray。参数用空格分隔。命令行开关由 / (斜线)、 + (加号)或 - (减号)符号组成,后面有一个或多个字母字符,可能还有一个数字值。

See also

更多详细信息在 POV-Ray Wiki

一些常用的命令:

-D: 渲染时隐藏图片

使用此命令行开关可在POV-Ray中不显示渲染的图像(在内存上稍微更快、更轻)。完成后,图像将被发送回Blender (在Linux上,这是一个隐藏的默认开关,以避免操作系统特定的编辑器问题)。

+WT:限制使用的线程数

将POV-Ray限制为仅使用一个渲染线程。(同样, + WT2 将指示POV-Ray使用两个渲染线程。)

+C:继续中断的渲染

因为 “继续跟踪” 能够恢复上次渲染停止的点并从那里继续(即使您关闭了计算机)。

/EXIT:渲染图像后关闭 POV-Ray

POV-Ray for Windows界面中也有一个同样的选项: “完成时” 选项中的 “退出POV-Ray for Windows” (在 渲染 菜单中)。

Tip

快速预览渲染

首次设置场景时,若要快速进行预览渲染,请关闭抗锯齿、景深、光子、Radiosity、昂贵的材质功能,并在场景着色面板中关闭阴影。(在导出器的未来版本中,此面板可能会关闭其他功能。)

或者,使用 Quality 命令行开关 + q1+ q11 。这些功能允许您轻松禁用大多数CPU密集型功能。

格式设置

可以自定义导出的 POV-Ray 文档:

  • 不同缩进字符可供选择。

  • 用于向 POV-Ray 文档添加注释的选项。

  • 在一行中写入长列表坐标的选项,以便于浏览POV文件(以及由渲染器稍微更快的解析)。

场景属性

色彩管理

目前应始终使用sRGB。

世界属性

背景

Blender 世界 出口:

  • 作为POV-Ray 背景{} (如果扁平着色)。

  • 使用Blender的 Blend Sky 选项可将其导出为POV-Ray sky_sphere {}

(Sky texture currently appears a little different because of its mapping).

大气介质

(用于创建体积光照):

  • 介质计算的采样数

  • 大气介质颜色

物体属性

重要性采样

这是一个介于0和1之间的优先级值,可以在 Radiosity 的 对象 属性选项卡中为每个对象设置,以在最需要的对象上投射更多的光线。在尝试改善渲染时间时,请仔细触摸此图标。

数据属性

脚本导出天空、光源、毛发粒子、烟雾、液体、网格、斑点(融球)。

摄像机

景深

必须启用它才能执行以下属性:

视野深度的焦点基于Blender UI Distance 字段或 Object 字段。

光圈

设置模糊量(增加以获得更多)。

摄 动

相机平面的法线贴图,本机POV程序模式可以与变量一起使用:

  • 强度

  • 紊流

  • 比例|缩放

灯光

任何阴影切换按钮都不能仅用于停用特定光源的阴影跟踪。

Tip

为了实现真实的光线衰减

使用反向平方衰减,并且具有较高光强度的小衰减距离值将通过POV-Ray实现反向平方定律而产生最佳结果。请参阅此 讨论

烟雾材质

导出DF3文件( POV-Ray体素格式)并与具有与Blender烟雾域相同尺寸和分辨率的POV-Ray介质容器一起使用。

毛发

POV-Ray sphere_sweep 的联合导出并用于每个股。它们可以采用应用于发射对象的纹理的颜色,并且球体扫描的形状尝试模拟股线的形状。

材质属性

自发光(发射)

Tip

全局照明:辐射度(间接照明)、光子苛性(反射/折射)、网格灯

当与Radiosity一起使用时, Emit属性将允许您创建灯泡或任何真正照亮其他物体的发光形式。

SSS / SSLT

请注意, POV-Ray (称为SSLT )中的SSS非常敏感,如果网格法线是光滑的或平坦的,则会产生不同的结果。

半透明

从曲面到曲线偏移的距离。

See also

更多详细信息在 POV-Ray Wiki

IOR Mirror

此选项用于使用一个一致的IOR进行光线跟踪反射和折射,并且不违反两者之间的能量保存定律。

彩虹色

(牛顿薄膜涂层)

焦散

  • 折射焦散的色散

  • 快速的伪焦散(有点像Blender光线追踪透明 )

  • 折射焦散使用光量子

  • 使用光子的反射焦散(高IOR或无镜像IOR ,效果更轻松)

Tip

更快的光子

要设置一些苛责,尝试从最小的光子深度值移动到你开始看到你所追求的效果的最小值。勾选任何不需要的对象的 接收光子 物体属性。(然后你可以平衡其他参数来调整光子分布和平滑(聚集)。不要在场景设置中把全局间距设置得太细,因为这样你仍然可以在每个物体上使用其间距乘数使其更细。如果你的系统有几个线程,它们可以在光子阶段使用:每个灯一个线程,这样你就可以在没有开销的情况下使你的场景照明更加复杂。

着色器

从Blender中尝试模仿:

  • 镜面和漫反射(还没有边缘)

  • Phong和Cook Torrance (相同)

  • 布尔(不完全匹配)

  • 沃德各向同性

  • Fresnel和Minnaert ,开始但尚未完成

Tip

类似玻璃的材质

当尝试获得一些类似玻璃的材质时,请保持低扩散值,暗色或完全黑色,以避免枯燥的表面,并保持清晰的透明度。

纹理属性

UV 坐标

目前最适合平面投影。(Silvio Falcinelli)

纹理通道

当前导出的纹理影响包括: Alpha、Diffuse、Bump、Specular、Mirror (使用与Specular相同的渠道)。(由于他们的POV-Ray不统一语法,没有其他通道。)

Gamma

对于图像纹理(使用前请阅读POV-Ray 3.7文档,因为通常不需要使用)。

See also

更多详细信息在 POV-Ray Wiki

自定义代码POV

POV-Ray文件不仅仅是纯数据文件(与大多数其他渲染器不同)。它们是具有循环、功能等的程序。这意味着,无论该导出器可以支持多少功能, POV-Ray在引擎盖下总是有更多的功能。

循序渐进

您可以直接在Blender的文本编辑器中添加自定义POV代码,您只需确保此POV代码直接或间接具有 # declare 关键字,然后是您选择的名称和您要使用的POV项目。(当前的POV语法比Python更接近C ,因此任何跟随两个斜杠字符( // )的字符都是注释。)

从包含文件中添加POV代码

POV项目可以是任何东西,但目前只能使用此方法替换等效的Blender材质。在POV-Ray中,它被称为 “纹理” ,不要混淆,它包含所有材料属性。

虽然您可以在POV-Ray文件中直接指定 “纹理{}”块,但 # declare 指令允许将其分配给变量并更容易地重复使用。导出器默认使用此功能,因此除非您声明,否则您将无法使用自定义纹理。下面是一个例子:

  1. #declare MyTexture =
  2. texture{
  3. pigment{
  4. brick color rgb< 0.99, 0.99, 0.99> // color mortar
  5. color rgb< 0.75, 0.5, 0.30>*0.75 // color brick
  6. brick_size <0.25, 0.0525, 0.125> // format in X, Y and Z-direction
  7. mortar 0.01 // size of the mortar
  8. scale 3
  9. } // end of pigment
  10. normal {wrinkles 0.75 scale 0.01}
  11. finish {ambient 0.15 diffuse 0.95 phong 0.2}
  12. rotate<0,0,0> translate< 0.01, 0.00, 0.00>
  13. } // end of texture
  1. 打开文本编辑器的侧栏。

  2. 在文本视图属性选项中,您可以选择渲染3D视图和/或文本。启用 两者

  3. 语法高亮检测 pov/inc/mcr/ini 扩展。

  4. 一些完整的POV-Ray场景可用于模板标题菜单。

  5. 以及插入菜单,只需在光标的位置添加一些POV代码段。

  6. 然后,您需要进入 自定义POV代码 字段的材质属性,只需键入要使用的声明项目的名称:给出的示例中的 “MyTexture”。然后,您可以正常渲染图像,并将替换材质。

Blender和POV-Ray不具有相同的坐标系统: POV是Y ,而Blender是Z ,因此预期文本生成的内容不会与导出的UI项目相同,因为导出器向所有导出的实体添加变换矩阵。因此,如果您希望通过查看界面更直观地指定方向,则必须在自定义块的末尾指定一些变换,例如:

  1. scale <-1, 1, 1>
  2. rotate <90, 0, -90>
  3. }

从包含文件中添加POV代码

在任何POV-Ray场景中,您可以使用 #include 指令来添加来自外部POV-Ray文件的项目。这就像Python中的import函数。要包含的文件以 .inc 作为其扩展名。然后在替换字段中,您可以键入包含文件中可用的任何声明名称。”Out of the box”,POV-Ray提供了大量的include文件。因此您可以将它们用于您的纹理,但您也可以将它们用于某些元素。例如,一个非常常用的包含文件是允许用它们的名字而不是数字来调用颜色的,叫做 colors.inc ,所以前面的例子也可以写成:

  1. #include "colors.inc"
  2. #declare MyTexture =
  3. texture{
  4. pigment{
  5. brick color White*0.99 // color mortar
  6. color rgb< 0.75, 0.5, 0.30>*0.75 // color brick
  7. brick_size <0.25, 0.0525, 0.125> // format in x, y and z- direction
  8. mortar 0.01 // size of the mortar
  9. scale 3
  10. } // end of pigment
  11. normal {wrinkles 0.75 scale 0.01}
  12. finish {ambient 0.15 diffuse 0.95 phong 0.2}
  13. rotate<0,0,0> translate< 0.01, 0.00, 0.00>
  14. } // end of texture

其他一些POV-Ray特定对象也可用:在POV-Ray中,三角形网格只是许多原始对象中的一个。您可以通过修改输出文件来探索POV-Ray语言,使用相同的方法,手动添加这些基元,也可以从 添加 菜单中选择一些。

POV-Ray 基本体

3D视口中的 “添加” 菜单允许您添加POV-Ray特定对象以及本机Blender对象。

它们是数学上定义的形状,而不是网格。球体、环形、圆柱体或圆锥体侧面在渲染时始终是圆形光滑的,无论您离它们有多近,也不管它们在3D视口中的外观,这只是代理。

这些对象是导入POV-Ray文件时创建的对象类型,因此理想情况下,您可以在POV-Ray和Blender之间来回 “交换” 数据。

无限平面

渲染的平面实际上是无限的,但在3D视口中由代理表示,它只是非常大,但仍然是有限的。如果您希望使用不同的默认量表,请报告。

See also

更多详细信息在 POV-Ray Wiki

方框

基于网格立方体,可以使用移动/旋转/缩放转换对象

See also

更多详细信息在 POV-Ray Wiki

球形

球体具有半径参数、位置和刻度。

See also

更多详细信息在 POV-Ray Wiki

柱体

在POV-Ray中,圆柱体由半径、基点和终点定义。为方便起见,移动/旋转/缩放也可用于相同的效果。

See also

更多详细信息在 POV-Ray Wiki

锥形

锥体具有基准半径和末端半径。

See also

更多详细信息在 POV-Ray Wiki

环体

环体的横截面半径。

See also

更多详细信息在 POV-Ray Wiki

参数

这是一个由三个数学方程组合产生的表面。

See also

更多详细信息在 POV-Ray Wiki

彩虹

彩虹是一种视图相关效果。

See also

更多详细信息在 POV-Ray Wiki

车削(Lathe)

此对象的行为类似于Blender Screw修改器,可通过旋转样条来创建表面,除非它遵循样条的数学曲线,因此无论缩放多近,您都不会看到任何多边形。

See also

更多详细信息在 POV-Ray Wiki

棱镜

这是一款POV光线原始设备,只需挤出形状即可。

See also

更多详细信息在 POV-Ray Wiki

超二次椭球

一种相当通用的工具,可以为垫子或星形物体提供快速模型。

See also

更多详细信息在 POV-Ray Wiki

高度场(Height Field)

这是表面在纹理之后的位移。Tessellation也发生在渲染时间,因此您以前不需要细分任何内容。

See also

更多详细信息在 POV-Ray Wiki

球面扫描

这款POV-Ray原始光线扫描球体,其长度与样条一样长,以创建可沿样条具有半径变化的插值形式。它也用于输出发绳。

See also

更多详细信息在 POV-Ray Wiki

球团

类似于Blender的融球。

See also

更多详细信息在 POV-Ray Wiki

等值面

在POV-Ray中,等表面是可以使用颜料或方程组合和变形的对象。

See also

更多详细信息在 POV-Ray Wiki

等值面盒

一个形如方盒的 isosurface组件。

等值面球

一个形如球体的isosurface组件。

超环面 Supertorus

形状为环形的等表面,其变形参数等同于超椭圆体的参数。

参数(POV-Ray 名称):

MajorRadius, MinorRadius

圆环的基本半径。

MajorControlMinorControl

控制超级托盘的圆度。使用[0, 1]范围内的数字。

精度

精度参数。

MaxGradient

最大梯度参数。

基本体

两个基元实际上是宏,在渲染时间之前从曲线生成网格:

  • 多边形到圆混合

  • 放样(Loft)

导入 & 导出文件

  1. 在同一 “添加” 菜单中,您还可以导入POV-Ray文件。

  2. 或者,从顶栏菜单中点击 文件 ‣ 导入 。

  3. 然后,您可以选择一个或多个文件。

参考

类别:

渲染

描述:

POV-Ray 3.7 集成到 Blender 中。

位置:

渲染 ‣引擎 ‣ POV-Ray 3.7

文件:

render_povray 文件夹

作者:

Campbell Barton, Maurice Raybaud, Leonid Desyatkov, Bastien Montagne, Constantin Rahn, Silvio Falcinelli

许可证:

通用公共许可证

注意:

此插件与Blender捆绑在一起。