五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

[Houdini] 簡易粒子消散效果

2022-04-06 18:06 作者:pandahgt  | 我要投稿

如果我們想做類似樹葉飄落,蒲公英飛散這種粒子數(shù)固定,逐個激活的效果,pop network的粒子源節(jié)點并沒有提供這樣的功能,它更像是設(shè)計用來發(fā)射粒子。

pop network接受粒子源的數(shù)量變化,也就是如果粒子源隨著時間變化,pop network里的pop source也跟著變化。

pop source有4種類型。All Points,每一次solver解算,都生成一次所有的粒子。All Geometry,每一次solever解算,都生成一次所有的幾何體。Points,隨機在所有點里選擇點發(fā)射粒子,可以控制發(fā)射粒子的數(shù)量。Scatter on Surfaces,在幾何體表面撒點發(fā)射。

我這種做法不知道算不算簡單,寫了幾行代碼。

思路就是pop source用All Points類型,每次只給pop solver一個或幾個點,把所有點都給一次,不能重復(fù),這樣pop solver就逐個解算粒子源的粒子了,這樣出來的效果是粒子逐漸變多,數(shù)量最終達到粒子源的數(shù)量。

關(guān)鍵步驟是怎么把粒子一個一個的拿出來不重復(fù)。如果粒子數(shù)量不變,粒子的@ptnum就是他的身份編號,我們用這個保證不重復(fù)。因為隨著時間變化,粒子逐個出現(xiàn),還要用到一個關(guān)于時間的變量,我們用@Frame。

在第一幀的時候,我們叫一號粒子出來,第二幀的時候叫二號粒子出來......代碼是if(@ptnum!=@Frame-1)removepoint(0,@ptnum);這樣的效果是粒子隨著幀數(shù)的變化逐個出現(xiàn)直到幀數(shù)達到源粒子數(shù)然后不再出現(xiàn)。

但是這樣粒子全部出現(xiàn)一遍的時間和粒子數(shù)量有關(guān),我們想控制這個時間。我這里用方法是把粒子編號重映射到我們想要的時間,也就是幀數(shù),給他一個新編號,叫fitid。代碼是f@fitid = ceil(fit(@ptnum,0,@numpt,1,chf('time')/@TimeInc));

fit id


然后再提取點給solver解算。

active points

最后,我們還要把每次提取點后剩下的點合并到的解算結(jié)果里達到一個完整的效果。代碼是if(@Frame>@fitid) removepoint(0,@ptnum);

other points


整個節(jié)點在下圖。

完整節(jié)點圖

這樣粒子激活的順序和它的粒子編號有關(guān),我們可以用sort節(jié)點按照屬性給粒子重新排序達到想要的效果。

[Houdini] 簡易粒子消散效果的評論 (共 條)

分享到微博請遵守國家法律
论坛| 民和| 柳河县| 江西省| 兴化市| 丁青县| 江城| 莎车县| 滦平县| 德兴市| 会宁县| 高尔夫| 申扎县| 正定县| 七台河市| 祁东县| 亚东县| 米易县| 蕲春县| 连江县| 理塘县| 原阳县| 朔州市| 七台河市| 旺苍县| 荣成市| 二连浩特市| 仲巴县| 科技| 宁阳县| 岳阳市| 江都市| 民勤县| 绥芬河市| 民乐县| 内丘县| 开封市| 青海省| 岳普湖县| 鄢陵县| 牟定县|