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

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

Houdini學(xué)習(xí)筆記015

2022-08-21 12:58 作者:獨(dú)孤嘌呤  | 我要投稿

今天的學(xué)習(xí)筆記基本上是照葫蘆畫瓢,參照的是b站教程“如何沿著幾何體的表面追蹤粒子”。由于涉及到我還不熟悉的粒子和動力學(xué)部分,也就是所謂的POP和DOP節(jié)點(diǎn),不求完全整明白,目的只是為了稍加了解。


Houdini中的節(jié)點(diǎn)最基礎(chǔ)的應(yīng)該是SOP,即Surface OPerations。只有把這部分先搞懂了,才有可能更深入地學(xué)習(xí)其他模塊。比如POP,Particle OPerations(粒子編輯模組)和DOP,Dynamic Operations(動力學(xué)編輯模組)。在學(xué)習(xí)的過程中適當(dāng)看看高階教程,一來可以提醒自己學(xué)習(xí)是條漫漫長路,不可操之過急;二來能幫助加深對軟件的認(rèn)識,望而生畏大可不必,就算學(xué)不會日子還得照常過。


下面開始今日的學(xué)習(xí)。


我還是用的可愛的Bunny模型,你也可以用Houdini提供的test模型(輸入Test查找),比如經(jīng)典的豬頭(Pig Head)和橡膠玩具(Rubber Toy)。


接下來直接創(chuàng)建“POP network”節(jié)點(diǎn),雙擊進(jìn)入節(jié)點(diǎn)內(nèi)部,可以看到這是一個連接好的子預(yù)設(shè)。包括粒子源(POP Source)和粒子解算器(popsolver)等。在“POPSource”節(jié)點(diǎn)屬性中,將發(fā)射類型“Emission Type”改為點(diǎn)(Points)。


然后在“Birth”屬性中將出生速率(Birth Rate)改小一點(diǎn),如250,點(diǎn)擊播放按鈕可以看到模型表面不斷有粒子生成。


為了讓粒子擾動起來,這里添加了一個“popwind”節(jié)點(diǎn),在Noise噪波屬性中,增加“Amplitude”(幅度)的值為1,“Swirl Size”(旋轉(zhuǎn)尺寸)設(shè)為0.5。然后點(diǎn)擊播放,觀察粒子的隨機(jī)擾動情況。幅度和旋轉(zhuǎn)尺寸值是我隨便設(shè)置的,多嘗試不同的值就能基本明白其含義。


退回到“popnet”節(jié)點(diǎn),后面連一個“trail”節(jié)點(diǎn),只要增加“Trail Length”的值,如100,就能看到每個粒子的在不同時(shí)刻留下的離散點(diǎn)軌跡。“Trail Increment”相當(dāng)于采樣步數(shù),控制離散點(diǎn)的數(shù)量。


換個顏色給個局部特寫——


我發(fā)現(xiàn)將“Result Type”改成“Connect as Polygons”,就直接得到了線條。但原視頻中的做法是使用“add”節(jié)點(diǎn)(筆記012中講過),不知道創(chuàng)作者的用意是什么,可能后面有用吧。


因?yàn)椤皌rail”節(jié)點(diǎn)中所有的點(diǎn)都有一個“id”屬性,所以在“add”節(jié)點(diǎn)中,“Add”方式選擇按照屬性(By Attribute)添加,屬性名稱(Attribute Name)直接填“id”即可。


接下來的步驟理解起來可能稍微有點(diǎn)費(fèi)勁,目的是為了讓粒子限制在模型的表面運(yùn)動。我們先跟著做吧,進(jìn)入“popnet”節(jié)點(diǎn),在“popwind”后面添加一個“sop solver”節(jié)點(diǎn),雙擊進(jìn)入節(jié)點(diǎn)內(nèi)部。


解算用到了“ray”節(jié)點(diǎn),該節(jié)點(diǎn)有兩個輸入端口,左邊顯示需要“Ray Points or Primitives”,右邊顯示需要“Collision Primitives”,看上去是和碰撞有關(guān)。


很顯然,左側(cè)就是粒子生成的點(diǎn),右側(cè)是原來的模型。但現(xiàn)在的節(jié)點(diǎn)已經(jīng)嵌套了,怎么連接到原來的模型呢?這里使用的是“object merge”節(jié)點(diǎn),可以在“object1”欄中輸入“../../../transform1”,即可調(diào)用相應(yīng)的節(jié)點(diǎn)。


現(xiàn)在只需要將“ray”節(jié)點(diǎn)屬性中的“Method”改為“Minimum Distance”(最小距離),神奇的事情就發(fā)生了。為了看得更清楚,我把粒子點(diǎn)顯示成了玫紅色。像是很多螞蟻在身上爬,有點(diǎn)難受。


后面只需把“ray”輸出為“OUT”,原視頻中整了一大堆,又是“point vop”,又是“primitive attribute”的,似乎……都沒什么必要。


最后,用“color”節(jié)點(diǎn)添加顏色。“Color Type”選擇“Ramp from Attribute”,“Attribute”使用現(xiàn)成的id即可。由于id的數(shù)值范圍在不斷變化,0~1顯然就不適合了。怎么辦呢?


好在“Geometry Spreadsheet”窗口中我找到了一個叫做“nextid”的detail屬性,這個值也是在不斷增加的。nextid就是下一個id號的意思,顯然是比現(xiàn)有的所有id值都要大,id/nextid范圍不就是0~1了么!我真TM是個天才~


那怎么調(diào)用這個屬性呢?用的是detail函數(shù),“detail("../add1","nextid",0)”。大家可以試試自己對函數(shù)介紹能否寫出來。detail函數(shù)的括號中有兩個字符串(string)和一個浮點(diǎn)數(shù)(float)。兩個字符串分別是節(jié)點(diǎn)名稱和屬性名稱,都要加引號;一個浮點(diǎn)數(shù)一般起保險(xiǎn)作用,如果沒有這個屬性,返回值就為0。


播放結(jié)果如下——

如果要在Houdini中直接渲染線條,使用“Attribute Create”為其添加width屬性(約定俗成的做法),通過“Value”設(shè)置線條的粗細(xì)。當(dāng)然,這個“Value”也可以利用現(xiàn)有的點(diǎn)屬性來獲得由粗到細(xì)的漸變效果(提示:用id除以nextid)。


今天的學(xué)習(xí)到此結(jié)束,感謝各位的閱讀,下見~

Houdini學(xué)習(xí)筆記015的評論 (共 條)

分享到微博請遵守國家法律
佳木斯市| 永泰县| 夏河县| 永济市| 永胜县| 石阡县| 金堂县| 昂仁县| 隆昌县| 荆门市| 肥东县| 文登市| 靖安县| 鄂伦春自治旗| 华坪县| 班玛县| 宁化县| 合肥市| 贺州市| 繁峙县| 陆川县| 赣榆县| 洛川县| 读书| 承德市| 衡阳县| 丹凤县| 静安区| 通道| 葵青区| 和林格尔县| 奉节县| 云龙县| 和田市| 大名县| 陇南市| 马尔康县| 邯郸县| 邯郸市| 仙桃市| 金平|