之前使用oc渲染烟雾的时候,出来的效果总是这样的。

这个没什么不对,这个也是烟雾,但是这种的烟雾并不是像特色图片中那种的虚的、飘渺的烟。

正好最近有一个项目,需要做出特色图片中那种的烟。左思右想了两天,怎么调也调不出上面那种感觉。

好在今天灵机一动,找到了渲染的方法。

这里以直接给TFD Container对象直接添加oc标签为例,其实使用oc的vdb loader导入别的vdb原理上也是一样的。

默认情况下,出来的效果是这样的。

为什么会是这样呢?因为直接给TFD Container标签的时候,OC会默认我们要渲染火。所以它会给Emission通道添加参数,让这个VDB有自发光,做出火的样子。

但是实际上我们想要渲染smoke,而不是fire。所以理所当然的把Emission的两个通道节点都去掉,直接去调节上面那些。所以不管怎么调节都调节不出来。

其实换一个思路,不一定有Emission节点就是火,我们如果把火的颜色改为白色,这个形态不就是烟了吗?

所以要做的,就是将Emission ramp中Volume Gradient渐变节点改成白色,或者其他想要的颜色,那么基本就完成了。

接下来要做的是优化,首先要适当降低Emission强度,毕竟我们要的不是火,不需要照亮其他部分,只要把自己照的清楚就可以了。实际上,还可以直接拿Emission节点来制作这个烟的透明度变化动画。

上面的Scattering要设置为0或者纯黑色,但凡带一点值,那么之前那种厚雾的感觉又会出现了。

而Absorption建议也适当提高,可以看出更多的细节,否则的话整体都是发灰的,看起来就像是一层。

而最上面的Density和Volume Step Length则是适当调节就好了。

(完)

 

 

 

 

 

Leave a Reply