火的运动规律:
一、火的运动形态
火是可燃物体在燃烧时发出的光和焰,由燃烧的微粒和气体组成。
火的运动形态有以下七种:
①扩张 ②收缩 ③摇晃 ④上升 ⑤下收 ⑥分离 ⑦消失
如上的绝大部分形态,都可以使用houdini,在SOP下利用发射源的fluid source和DOP中的pyro solver的shape栏等栏目进行参数控制。
二、火的形态
1、小火苗运动——单个火头,火苗较小,如蜡烛;
2、中火运动:一个火头或几个紧靠的火头一起燃烧,火苗较大,变化较多;
3、大火运动:大火有多个火头,火势大,变化多。可看作是若干个小火和中火的集合体。制作大火要处理好整体与局部的关系,大火中小火苗的变化要比总体形态的变化多。火焰的顶部形态会出现参差不齐的状况。
案例分析:
Houdini的火焰特效的制作主要是需要抓住动态、形态和渲染。控制形态的因素有发射源的精度、分布情况,大小等。控制动态的因素有:发射源的速度场、Dop中pyro solver节点上的一些参数、smoke object的精度、Dop中添加的其他场的影响等等。
一、物体基本没有位移移动的:
这类火焰因为物体没有移动,所以速度场的方向,大小都比较好进行制作和控制,想要做好这类火焰,主要重点在发射源的分布上,发射源速度场和DOP中的形态参数的把控。
二、物体有位移变化的:
这类火焰特效相对发射源不进行移动的火焰类型多了两个难点:其一是需要考虑发射源的运动产生的速度对火焰动态的影响,其二是如果发射源运动速度过快,那么如何能让火焰“跟上”发射源,也是需要注意的问题。而复合型的一个效果,根据导演的要求,可能在一个效果上需要用到多个流体框分开制作一个火焰特效(例如上图的火焰特效就使用了4个流体框进行制作。)
对于这两个难点的解决方法,如下。
一、速度场的制作其实是基于发射源运动方向来定的:
首先,发射源本身的火焰是有一个燃烧而向上升的速度的:
同时,如果物体运动时,跟运动方向相反的一个速度进行一个衰减,就是火焰在运动方向上的速度:
最终的火焰速度,应该就是两个速度进行一个mix运算。
并且基于此速度前提下,进行辐射场,扰乱场的建立,并且把所有速度add到一起就得到了一个“正确”的速度场:
二、如果发射源移动速度很快的话,如何能让火焰跟上运动物体产生非常漂亮的拖尾,而不是从中间断掉呢?
主要是需要利用timeshift timeblend节点让整个解算的过程在小数帧上进行计算。这样的话,比如一帧解算多次的话,那么这个火焰就会练成一条漂亮的拖尾了。关于需要一帧解算几次,才刚好,既不过多浪费时间和资源、又不至于解算的次数不够而让火焰在拖尾的时候断开,这个是需要反复测试的,最终选择一个合适的每一帧解算次数。