Houdini學(xué)習(xí)筆記008
雖然Houdini中的屬性節(jié)點很容易可控地實現(xiàn)復(fù)雜效果,但我還是先盡量講些容易理解的內(nèi)容。比如在之前的C4D【例54】中(見我的微信公眾號“3D科研繪圖”-C4D科研模型100例系列)講解的這個顆粒鑲嵌模型,一開始就是用Houdini完成的。

思路很簡單,基本就是對象體積的擴張以及不同布爾方式的結(jié)合。下圖可以幫助理解整個過程:(1)在大球表面散布小球;(2)都擴張后求交集,定義為a;(3)分別用原來的大球減去交集a,交集a減去原來的小球;(3)合并后平滑。

這里我們先用“scatter”節(jié)點在大球表面撒點,數(shù)量(Force Total Count)不用太多,如20。其余參數(shù)先保持默認。

然后用之前學(xué)過的“copy to points”節(jié)點在點的位置拷貝小球,小球的大小可自行定義。大球和小球的類型都可以選擇polygon,“frequency”設(shè)置高一點,如5~6。

接下來就是體積變化的操作,用到的都是VDB相關(guān)的節(jié)點,包括“vdb from polygons”、“vdb reshape sdf”、“vdb combine”、“vdb smooth”、“convert vdb”等。無非就是將多邊形轉(zhuǎn)為vdb,然后對vdb進行塑造,最后再轉(zhuǎn)回到多邊形。我們先用“vdb from polygons”將不同大小的球體分別轉(zhuǎn)為vdb,“Voxel Size”可適當降低,如0.02。該值相當于C4D中體素尺寸,值越小,意味著空間劃分越細,分辨率越高。

然后添加“vdb from sdf”節(jié)點進行擴張,擴張值“Offset”暫時默認為1??梢钥吹角蝮w形成的vdb略有膨脹。

接著用“vdb combine”節(jié)點對得到的兩組vdb求交集,“Operation”選擇SDF Intersection,結(jié)果如下圖所示。

現(xiàn)在進行到第三步,用vdb交集分別和原來的大球和小球求差集,“Operation”方式選擇SDF Difference。注意用體積大的(A)減去體積小的(B)。這里的vdb節(jié)點有好幾個,選擇的時候不要選錯了。

最后再用一個“vdb combine”將兩組vdb結(jié)合,“Operation”選擇SDF Union。之后添加“vdb smooth”節(jié)點使整體平滑。

“Convert vdb”節(jié)點可以將vdb轉(zhuǎn)為多邊形,“Convert to”選擇polygons即可。

調(diào)節(jié)兩個“vdb reshape sdf”節(jié)點的“offset”值即可改變凹坑邊緣凸起的形狀,一個改變寬度,一個改變高度。

如果要同時顯示最終的大球和散布的小球,可以使用“merge”節(jié)點,merge之前可分別設(shè)置顏色(使用color節(jié)點)。整個模型就創(chuàng)建完成了,通過調(diào)節(jié)“scatter”節(jié)點可以很容易改變小球的分布和數(shù)量。


今天的分享到此為止,感謝各位的閱讀,下回見!