用简单的节点尝试了下Houdini流体的变速,这里的流体指的是Pyro,而不是FLIP,FLIP只需要记录ID属性然后TimeBlend & TimeShift即可。
上图是一个10倍降速的测试对比,在这个对比中,左边是retime的测试,右两个是对照,其中中间是TimeBlend & TimeShift,右边是只一个简单的TimeShift。
使用的方法类似advect,即 density = volumesample(p - v * length / Δ ),其中Δ为1/$FPS,length是advect的长度,=0时不变,=1时类似于下一帧。
但只是从floor($FF)去推下一帧时会发生的情况是$FF在跨越整数帧时会有一个小小的突变,所以用了一个另外的反向advect去推了上一帧,并在这两个插值之间mix。
w=$FF-floor($FF)
dens1= volumesample(density1, p - v1 * w/ Δ )
dens2=volumesample(density2, p + v2 * (1-w)/

本文探讨了在Houdini中对Pyro流体进行变速的方法,通过对比10倍降速测试,展示了TimeBlend & TimeShift与简单TimeShift的效果差异。采用类似advect的算法,结合反向advect进行帧间插值,解决帧跳跃问题。尽管在高细节流体场景中插值可能不够精确,但作者提出可能将BFECC思想引入以提高精度。
最低0.47元/天 解锁文章
1134

被折叠的 条评论
为什么被折叠?



