Skip to content

嵌套电介质


为了正确解析通过不同透明介质(例如玻璃、水和冰)的过渡,Octane 使用 "嵌套电介质" — 材质优先级和相交几何体的组合,以帮助在渲染时正确解析不同的边界接口。不同的 IOR 体积 必须 重叠 并且是封闭的。(电介质材料是非金属(非导电)的任何东西,通常也是透明的。)

材质优先级

材质优先级用于区分不同的 IOR 体积 — 不同优先级的材质分配给不同的透明对象。优先级从最低(-100)到最高(100)数字分配。优先级值位于 Octane 材质的 通用 标签中,如下图所示。

nested dielectrics priority

下面的图表显示了液体体积如何与玻璃体积相交/穿透。冰块放置在液体体积内(并突破到液体上方的空气中),以及一些凝结物沿着玻璃表面的任何有空气接触玻璃的地方排列。嵌套电介质基本上通过延迟液体的着色直到它不再在玻璃体积内来将水推入玻璃内部,从而正确渲染它。红色部分根本不会被着色。

以下图像显示了左侧的正确结果,以及右侧禁用嵌套电介质的结果。差异可能很微妙,但很明显。在这里,玻璃材质的优先级为 1,IOR 为 1.5;冰材质的优先级为 2,IOR 为 1.309(如果需要,可以随意调整此值);液体材质(波旁威士忌,如果您必须知道)的优先级为 0,IOR 为 1.335。最后,凝结物的优先级为 -1,IOR 为 1.33。

nested dielectrics

如果光线在较高优先级表面内时击中较低优先级表面,则较低优先级表面将被忽略 — 换句话说,水将被忽略,直到光线离开玻璃。因此,避免了水和玻璃之间的双反射/全内反射。这基本上就是嵌套电介质在 Octane 中的工作方式 — 只要冰的优先级高于水,它就会在渲染中正确显示。在此示例中,凝结物的优先级为 -1,因为它是水,而玻璃中的液体是波旁威士忌,不同的 IOR 值 — 如果凝结物几何体出现在液体体积内,凝结物将不可见,因为凝结物的优先级较低。此外,由于凝结物的优先级小于玻璃的优先级,凝结物 内部 的任何相互穿透也将不可见(这对动画很有用)。

工作原理

在光线追踪中,当两个体积(对象等)共享一个面时,关于如何呈现真实结果存在一些歧义。如果玻璃和水都共享一个表面,该边界区域中的特定像素应该用什么材质着色?水还是玻璃?通过向代表水和玻璃的材质添加优先级值,以及正确建模的相交表面,有足够的信息来正确着色给定的像素。

通过将水的优先级降低到低于玻璃的值,并将凝结物优先级值设置为高于玻璃,有足够的信息来渲染出如上图所示的结果。由于水的优先级低于冰,水的优先级低于玻璃,并且由于冰实际上不与杯子相交,因此不需要设置不同的优先级。由于凝结物可能与玻璃相交,请给它更高的优先级。仅当两个表面相互相交并且需要视觉上区分时,才更改表面的优先级。

多杯水

在桌面上放满装有水、冰和凝结物的玻璃杯的情况下,每个共享材质,一切仍然有效。每个玻璃杯都局限于它所容纳的内容以及附着在其上的内容。玻璃杯的数量无关紧要;该过程只关注玻璃的局部环境(在此示例中)。

OctaneRender® 和 OTOY® 是 OTOY Inc. 的注册商标