是时候换个发射源了——Houdini17全新PYRO发射源工作流程详解

是时候换个发射源了——Houdini17全新PYRO发射源工作流程详解

今天我们来聊聊H17中全新的PYRO发射源工作流程。

▌基于点的发射源

在Houdini 17中,PYRO发射源从基于体积(Volume)转变为基于粒子。过去的温度(temperature)、燃料(fuel)等属性统统由粒子继承。

➤这一特性迎合了大部分艺术家的需求。因为很多时候,PYRO发射源往往是粒子,比如我想在一个模拟好的POP粒子上发射流体,等等。

➤由于Houdini的SOP中有大量修改和控制点属性的节点,这样大大增强了艺术家对发射源的控制。

➤基于粒子的发射源采样使用了openVDB,将比旧版发射源采样提升40+倍速度。

在送入DOP解算前,粒子仍然被采样成体积(Volume),但新的发射源工作流程是基于点的属性的控制和修改,而不是基于体积(Volume)本身。

这些属性仍然跟以前一样:density, temperature, fuel, divergence, burn, heat, velocity, collision, source,sink

▌节点网络示意

看不清可以点图片放大。以上就是一个完整的PYRO节点工作流程,当你点击PYRO工具架,Houdini会为你自动创建这些节点。其中红色汉字注释的部分就是H17中改变了的发射源节点流程。下面放张大图:

Pyro Source节点:将原始物体转化为点,并赋予属性(温度、燃料等)。你可以通过控制这些属性来改变你的PYRO形态。比如,将燃料(fuel)在初始几帧调大,就可以得到一个“爆炸”的火焰形态。

这个节点主要控制的是在原始物体上采样点的形态和分布,以及新属性的创建,原有属性的继承。

Attribute Noise节点:添加一些随机噪波在属性(温度、燃料等)上。有了它,再也不用自定义VOP。

Volume Rasterize节点:将点变为体积(Volume),并继承相应属性(density、fuel等等)以便下一步进入DOP解算。这个节点跟“vdb from particle”非常像。

以上就是17版本全新的发射源流程了。

下面分享点附加内容~

▌关于pyro解算器原理的一些小提示

➤当燃料(fuel)存在且温度(temperature)达到一定的值,燃烧(burn)即产生。

➤燃烧(burn)产生热量(heat),这里的heat即为肉眼可见的火焰。

➤燃烧(burn)是不完全的。燃烧(burn)开始后会留下一定比例的燃料(fuel)。

➤divergence属性代表的是热气体(gas)产生的膨胀。

➤dissipation和cooling分别会随着时间的推移降低烟雾浓度(density)和温度(temperature)。

➤速度(velocity)=开始时的速度(velocity)加温度(temperature)乘以浮力(buoyancy)。

➤解算器里的Advect fuel如果打开,那么这个对流场(advection)影响的是temperature,heat,density和fuel。

➤在Houdini中,温度(temperature)代表浮力(buoyancy),速度(velocity)代表动量(momentum)。

➤Multifield这个显示模式同时显示heat(火焰)和density(烟雾)。

➤温度(temperature)是在pyro模拟中非常重要的一个属性,它会大大影响流体形态。它会驱动和影响很多力场和参数,比如Buoyancy, Shredding和Dissipation。

➤Temperature Diffusion和Cooling Rate这两个参数直接作用于温度场(temperature)。它们可以很好地控制流体的消散以及流体的细节形态。