第055封“情書”:神奇寶貝Procedural Modeling Of Water Droplets<Entagma>Houdini 2017

▉ 今天有個小男孩生日,他就是我的兒子— 每天翻譯一篇教程,這就是我寫給houdini的情書?!臼装l(fā)于同名公眾號:“致houdini的情書”】

█火山爆發(fā)之前總是很平靜很祥和

前言不搭后語:

你最愛看神奇寶貝,在你生日這天,放一首你最愛聽的歌。

這首歌,開始聽,很吵,聽久了,很燃!

記錄你的成長,就好像看到小時候的我一樣。希望你像健康的果實,在晨露的沐浴中茁壯成長,平安,正直的過一生!

(日記一則:想象力方面,孩子總能教你很多東西。

2018年4月24,18:49洗完澡的小澤問我:你知道靈感大王是什么嗎?我:不知道。小澤言之鑿鑿的說:靈感大王是通天河里的一條鯨魚。

為了防止世界太乏味,為了守護世界的活力,可愛又迷人的淘氣男孩,你是穿梭在銀河里的少年,希望,美好的明天在等著你。

????喵!就是這樣,小澤,祝你9歲生日快樂。

????其實,

????你也是我的-神奇寶貝!

今天這節(jié)的內(nèi)容:

? ??如何制作水果表面的雨露。

這一節(jié)要實現(xiàn)的效果

.....

▉今天是42歲第029天周五

這是寫給houdini的

第055封“情書”

我是geo流程圖

我是solver流程圖

<08?move_along_surface>1)向上矢量;2)向上移動位移.3)縮小粒子.4)根據(jù)pscale驅(qū)動位移

<10flatten>?壓扁

<17 水滴向附著表面縮進>

本節(jié)需要注意的知識點:

水滴形成步驟

01粒子部分

1

細分模型,增加法線

1)?object_merge合并進物體

2)?normal1增加法線

3)?subdivide1細分模型

2

撒點-設置粒子隨機尺寸

1)?scatter隨意撒點

2) pointvop設置粒子pscale

????a)?aanoise1增加尺寸的隨機性。外置參數(shù)

b)fit映射范圍-0.5~0.5

c)ramp坡度

d)第二個fit外置Destination min&max,為下一步,根據(jù)粒子大小驅(qū)動粒子位移做準備。

3

沿表面向上位移縮小的粒子

1)?pointvop制作向上的矢量,在根據(jù)矢量產(chǎn)生位移

????a)首先:通過兩次“積乘”獲得沿表面向上的矢量。?

????b)然后:成一個0.8常量縮小粒子。

c)最后:外置fit的源min&max,使用設置粒子pscale的參數(shù)復制關聯(lián)。最后接displacement的amount驅(qū)動移動的距離,粒子小的移動少。

4

壓扁點

1)constant矢量,縮小z軸

2) bind export輸出scale屬性

02 水珠部分

1

copytopoint

1)?sphere拷貝到點

2

轉(zhuǎn)vdb,布爾掉果實內(nèi)部露珠

1)?vdbfrompolygons:轉(zhuǎn)VDB

2)?vdbcombine:布爾掉果實內(nèi)部的水珠

3)?vdbreshapesdf:擴展體積

4)?vdbsmoothsdf:平滑

5)?convertvdb:轉(zhuǎn)polygon

3

沿表面法線向果實內(nèi)部嵌入一點

1)?pointvop:接口2接入果實

a)xyzdist:返回幾何體果實對應點的primid和primuv信息。?

b)primitive attribute:對應的水滴primid和uv,然后指定采樣信息:N接入displacenml節(jié)點。

? ? c)displacenml節(jié)點:輸入P,輸出P,調(diào)節(jié)amount將水滴向表面內(nèi)收縮。

接下來

理論部分

問題1:關于向量積的原理

01)與向量打交道時,可以對它們做不同的數(shù)學運算,

02)它的運算結果:產(chǎn)生一個向量,并且垂直于兩個向量構成的平面

03)G與N積乘,得到B;A再與N積乘,得到dbug;

接下來

開始正式制作

使用軟件houdini16.5

1:粒子部分

1?細分模型,增加法線

1)Object_merge

?//?必須把它轉(zhuǎn)化成this object否則不匹配

2)Normal? //?

3)subdivide1? //?

2?撒點-設置粒子隨機尺寸?

4)scatter1? //?1200個點

5)pointvop命名set_pscale? //?粒子尺寸

a)?aanoise1增加尺寸的隨機性。外置參數(shù)

b)fit映射范圍-0.5~0.5

c)ramp坡度

d)第二個fit外置Destination min&max,為下一步,根據(jù)粒子大小驅(qū)動粒子位移做準備。

3 拷貝到點?

6)copytopoint? //?去掉繼承法線

7)sphere? ?// ?

4 求得細長的流水模型?

方案)

? 1 轉(zhuǎn)成volume,放多個依次縮小的sphere,然后merge。

? 2 復制sphere沿著表面上移。

2a 這時需要沿著表面向上的矢量,用double cross product雙交叉乘積(向量積)

2b?//求沿表面的的矢量dbug

? 1 建立一個向上的global vector全局向量{0,1,0},它與點的法線的積乘,產(chǎn)生的向量

8)Pointvop命名create_vector_along_surface

<問題1>然后獲得向上矢量

8-1)constant??// ?矢量{0,1,0}

可視化dbug這個矢量

? ? 8-2,3) 兩個Cross Product積乘

? ? 8-4)?bindexport??? // ?輸出dbug矢量

<問題2>如何讓點向上移動

????8-5)displacenormal? ?// ?

????????a連接P,和第二個積乘的輸出,

????????b)輸出連接P

????????c)amount=0.01,點沿表面就向上移動

? ? 9) ?merge??// ?<5>和<8>合并

<問題3>如何讓上面的點縮小

????8-6)bind2??? //?Name:pscale

????8-7)mulconst1? ?//?Multiplier:0.8

? ? 8-8)bind3??//?Name:pscale?

<問題4>解決pscale不同但位移卻都相同

關聯(lián) pscle<05>的值fit到<08>節(jié)點里fit


?8-9)fit1??//??val連接bind;外置最小最大源min和max

?8-10)parameter?//?Name:displacement_amount 作為外置參數(shù);

1)連接fit輸出到<08-5>displacenml節(jié)點

2)在外面面板調(diào)節(jié)

>

?8-11)multiply????1)??;

<問題5>太小的粒子沒有移動。

8-9)?fit1?? // ?Destination Min=0.2

5壓扁點

使用scale屬性的z軸

?10)?Pointvop命名flatten? ?//

? ? 10-1)??constant1

? ? ?10-2) ?Bind export1

2:水珠部分

1:轉(zhuǎn)VDB

11)vdbfrompolygons1

12)vdbsmoothsdf1

13)vdbreshapesdf1

2:布爾掉果實內(nèi)部的水滴

14)?vdbfrompolygons2

15)vdbcombine1

16)?convertvdb1

3:水滴貼著表面渲染費時,移入表面一點

17)?Pointvop命名move_inwards

? ? 17-1)xyzdist???// ?它是引入幾何體中心的坐標,返回的primid(點所在表面對應的最近的那個prim),primuv返回“所在的那個prim上的”點一個二維vector第三個維度坐標=0;我們需要表面法線,我們有了兩個采樣,

?????17-2)Primitive attribute????//

????然后告primuv相同曲面的 primitiveid和對應的UV坐標,

????然后我們可以指定要采樣的屬性。

????在本例,我們知道在表面上水滴的每個點的法線,通過normal進行displace

a)opinput2連接file;

B)prim和uv連接<16-1>的對應接口

?????17-3)?displacenml

外置參數(shù):Displacement amount=0.04,//水滴就被沿著表面法線方向推離表面。

???????a)?外置參數(shù):Displacement amount=-0.003

? ?今天就到這兒了,收功,

明天開始entagma教程的2018年

教程翻譯自entagma的網(wǎng)絡教程

下一節(jié):20180101 Fakebroidery- Needlework in Houdini

? ? ?本文圖片全部原創(chuàng),版權歸原作者所有

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容