欢迎光临散文网 会员登陆 & 注册

[Houdini] Pyro instancing

2022-08-04 23:51 作者:pandahgt  | 我要投稿

Pyro instancing是19.5新加入的pyro工作方式。这种方式需要把不同的pyro source打包,添加name属性用来区分,最后合并在一起组成一个pyro source集,然后向pyro solver里添加的包含name属性的点用来代表pyro source集里相应的pyro source进行模拟。

Pyro instancing工作方式的必要条件

要使用Pyro instancing工作方式,需要把Souce Type改成Packed Sets,在Source Library里指定pyro source 集(下图)。然后在solver的第一个端口连入包含特定属性的点代表不同的Pyro source。

Source Type

pyro source集必须包含打包的pyro source和prim级别上的name属性。

连入pyro solver的点必须包含name属性,source_rules属性。

制作pyro source集

将pyro source打包用pyro source pack节点。这个节点将volume打包,添加name属性,设置source的类型(下图)。最后把不同的volume source合并在一起就组成了一个pyro source集。

pyro source pack

制作包含特定属性的点。

制作点可以用pyro spawn sources节点和pyro source instance节点。pyro spawn sources节点给连入的点添加name属性。pyro source instance节点左端连pyro spawn source生成的点,右端连pyro source集,通过名字把在pyro soucre pack上设置的source_rules属性传递给左端的点。

pyro spawn sources和pyro source instance

frame_offset属性

这样制作好两个必要元素后,连接到pyro solver模拟会发现pyro source只持续了12帧,

这是因为打包的pyro source以片段的形式存在,默认这个片段的长度是1-12帧(下图),

可以把它想象成电影胶卷,在放映机里只有12帧可以播放。

Frame Range


pyro solver除了用点上name属性来识别不同的pyro source片段,还用frame_offset属性来决定引入pyro source的哪一帧。负设置片段如何播放的是pyro spawn sources节点(下图),它可以设置播放起点,播放结束点,帧数偏移,播放速度,循环播放,这些信息传递到pyro source instance后,pyro source instance通过添加或者删除点,写入frame_offset属性,传递给pyro solver使用来达到不同的播放效果。比如到了pyro spawn source设置的结束帧,pyro source instance就会删除这个点,反应在solver里就是这个pyro souce消失了。

pyro spawn sources

Rule Overrides

除了写入上面的几种属性,pyro spawn sources和pyro source instance还能修改在pyro source pack里设置的source_rules属性(下图)。 

pyro spawn sources
pyro source instance


[Houdini] Pyro instancing的评论 (共 条)

分享到微博请遵守国家法律