最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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] 簡易粒子消散效果的評論 (共 條)

分享到微博請遵守國家法律
长治县| 沂南县| 昌乐县| 东兰县| 吉木乃县| 永川市| 托里县| 平凉市| 综艺| 全州县| 东山县| 竹山县| 嘉峪关市| 沾益县| 天峨县| 定州市| 浑源县| 宁津县| 黄山市| 沙河市| 葫芦岛市| 鄯善县| 南阳市| 五寨县| 外汇| 平山县| 元氏县| 彰化市| 文化| 镇沅| 西林县| 黑山县| 五华县| 石嘴山市| 贡山| 玉林市| 泰安市| 正阳县| 舟曲县| 公安县| 仙游县|