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

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

Houdini學習筆記014_兔子招誰惹誰了?

2022-08-19 08:05 作者:獨孤嘌呤  | 我要投稿

今天教大家切一只兔子,可以橫著切,可以豎著切,也可以斜著切。選擇最多的是橫切,比如山體的等高線就是這種切法,縱向表示海拔高度。


我們要做的就是得到模型切片的輪廓線,而且層數(shù)和層間距要可控。最后按照海拔的不同給切片添加不同的顏色。

切片功能使用的是其貌不揚的“Boolean”(布爾)節(jié)點。首先,用“file”節(jié)點導入一只bunny.obj模型,由于Houdini默認單位是米,這尊兔子導進來有100多米高,為了讓其看上去和其他模型大小差不多,用一個“transform”節(jié)點將尺寸(“Unifrom Scale”)設置為0.025。當然,你可以視自己導入的模型大小而定。


創(chuàng)建一個“grid”(平面)對象,用“boolean”節(jié)點進行布爾運算。平面要和兔子有交叉。


將布爾的操作模式“Operation”改為“Seam”(接縫的意思),并取消勾選后面的“Only Use Open Curves”選項,得到封閉的面。有些情況下,得到的面法線方向是有問題的,可以暫且不管。需要注意的是,兔子必須是封閉模型,否則切割得不到想要的結果。


一個平面切割只能得到一個切面,要想獲得多層切面,只需要用多個平面切割就行了。所以在grid后面添加“copy and transform”節(jié)點對其進行復制,gird的“Rows”和“Columns”分段均可設為2。copy從地平面(P.y=0)開始,“Translate.y”設為0.05(即層間距),總共拷貝(“Total Number”)80層,涵蓋整只兔子即可。


但現(xiàn)在切片的法線方向是有問題的,即使添加“normal”節(jié)點,可以看到法線的方向仍然不一致。有些朝上,有些朝下,所以顯示的光影效果不同。


解決的辦法很簡單,只需要用“group”節(jié)點將法線朝上或者朝下的面選出來,然后翻轉即可。在“group”節(jié)點中啟用“Keep by Normals”,方向“Direction”設置為(0,1,0),即豎直向上。“Spread Angle”是指法線方向與設定方向成一定夾角范圍內的面都可以被選中。由于這里的法線方向不是向上就是向下,所以“Spread Angle”小于180度即可。最終group1中只有法線朝上的面。


添加“reverse”節(jié)點,“Source Group”選擇group1,可以看到所有面的法線方向已經(jīng)一致。


用“resample”節(jié)點對切片的輪廓點進行重新采樣分布,然后用“polyextrude”節(jié)點擠出。擠出時勾選“Output Back”,得到封閉的背面。


最后再整體添加“normal”節(jié)點,讓法線一致。


剩下的就是根據(jù)切片的高度不同添加不同的顏色了,可以用“Attribute Create”節(jié)點給切片添加一個高度屬性。屬性的名稱“Name”可輸入“height”,“Class”選擇Primitive,表示是添加給面(切片)的,“Type”為Float(浮點數(shù)據(jù))?!癡alue”設為@P.y,即y軸坐標(高度)。設置完后可以在“Geometry Spreadsheet”窗口查看Primitive屬性,是否多出height屬性列表。


然后在最下方添加“color”節(jié)點,“Class”同樣選擇Primitive,“Color Type”選擇“Ramp from Attribute”,即根據(jù)屬性來著色?!癆ttribute”自然選擇前面設置的height。


默認的Ramp范圍是0~1,即在height為0~1的范圍內按照黑白漸變著色。但現(xiàn)在的兔子高度不止為1,近似可以用切片的間距乘以層數(shù)來表示。參數(shù)關聯(lián)可寫作“ch("../copy1/ncy")*ch("../copy1/ty")”,漸變色可選擇預設的Black Body,點右側的齒輪可以選擇。


今天的筆記到此結束,屬性的創(chuàng)建和利用仍需時刻練習。另外,“group”節(jié)點中的按法線方向設置選集(“keep by normal”)的功能還是不錯的。感謝各位的閱讀,咱們下回見~

Houdini學習筆記014_兔子招誰惹誰了?的評論 (共 條)

分享到微博請遵守國家法律
温泉县| 耒阳市| 穆棱市| 辰溪县| 綦江县| 韶关市| 黄大仙区| 繁昌县| 龙山县| 昌图县| 卫辉市| 太康县| 烟台市| 胶州市| 临沭县| 凌海市| 石嘴山市| 遵化市| 称多县| 尼玛县| 来宾市| 肥城市| 雷山县| 格尔木市| 丘北县| 松桃| 临泽县| 囊谦县| 长兴县| 宜兰市| 皋兰县| 凤翔县| 宁津县| 郎溪县| 绥德县| 阿克苏市| 金湖县| 孙吴县| 阿拉尔市| 太仓市| 南投县|