第055封“情书”:神奇宝贝Procedural Modeling Of Water Droplets<Entagma>Houdini 2017

▉ 今天有个小男孩生日,他就是我的儿子— 每天翻译一篇教程,这就是我写给houdini的情书。【首发于同名公众号:“致houdini的情书”】

█火山爆发之前总是很平静很祥和

前言不搭后语:

你最爱看神奇宝贝,在你生日这天,放一首你最爱听的歌。

这首歌,开始听,很吵,听久了,很燃!

记录你的成长,就好像看到小时候的我一样。希望你像健康的果实,在晨露的沐浴中茁壮成长,平安,正直的过一生!

(日记一则:想象力方面,孩子总能教你很多东西。

2018年4月24,18:49洗完澡的小泽问我:你知道灵感大王是什么吗?我:不知道。小泽言之凿凿的说:灵感大王是通天河里的一条鲸鱼。

为了防止世界太乏味,为了守护世界的活力,可爱又迷人的淘气男孩,你是穿梭在银河里的少年,希望,美好的明天在等着你。

    喵!就是这样,小泽,祝你9岁生日快乐。

    其实,

    你也是我的-神奇宝贝!

今天这节的内容:

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

这一节要实现的效果

.....

▉今天是42岁第029天周五

这是写给houdini的

第055封“情书”

我是geo流程图

我是solver流程图

<08 move_along_surface>1)向上矢量;2)向上移动位移.3)缩小粒子.4)根据pscale驱动位移

<10flatten> 压扁

<17 水滴向附着表面缩进>

本节需要注意的知识点:

水滴形成步骤

01粒子部分

1

细分模型,增加法线

1) object_merge合并进物体

2) normal1增加法线

3) subdivide1细分模型

2

撒点-设置粒子随机尺寸

1) scatter随意撒点

2) pointvop设置粒子pscale

    a) aanoise1增加尺寸的随机性。外置参数

b)fit映射范围-0.5~0.5

c)ramp坡度

d)第二个fit外置Destination min&max,为下一步,根据粒子大小驱动粒子位移做准备。

3

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

1) pointvop制作向上的矢量,在根据矢量产生位移

    a)首先:通过两次“积乘”获得沿表面向上的矢量。 

    b)然后:成一个0.8常量缩小粒子。

c)最后:外置fit的源min&max,使用设置粒子pscale的参数复制关联。最后接displacement的amount驱动移动的距离,粒子小的移动少。

4

压扁点

1)constant矢量,缩小z轴

2) bind export输出scale属性

02 水珠部分

1

copytopoint

1) sphere拷贝到点

2

转vdb,布尔掉果实内部露珠

1) vdbfrompolygons:转VDB

2) vdbcombine:布尔掉果实内部的水珠

3) vdbreshapesdf:扩展体积

4) vdbsmoothsdf:平滑

5) convertvdb:转polygon

3

沿表面法线向果实内部嵌入一点

1) pointvop:接口2接入果实

a)xyzdist:返回几何体果实对应点的primid和primuv信息。 

b)primitive attribute:对应的水滴primid和uv,然后指定采样信息:N接入displacenml节点。

    c)displacenml节点:输入P,输出P,调节amount将水滴向表面内收缩。

接下来

理论部分

问题1:关于向量积的原理

01)与向量打交道时,可以对它们做不同的数学运算,

02)它的运算结果:产生一个向量,并且垂直于两个向量构成的平面

03)G与N积乘,得到B;A再与N积乘,得到dbug;

接下来

开始正式制作

使用软件houdini16.5

1:粒子部分

1 细分模型,增加法线

1)Object_merge

 // 必须把它转化成this object否则不匹配

2)Normal  // 

3)subdivide1  // 

2 撒点-设置粒子随机尺寸 

4)scatter1  // 1200个点

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

a) aanoise1增加尺寸的随机性。外置参数

b)fit映射范围-0.5~0.5

c)ramp坡度

d)第二个fit外置Destination min&max,为下一步,根据粒子大小驱动粒子位移做准备。

3 拷贝到点 

6)copytopoint  // 去掉继承法线

7)sphere   //  

4 求得细长的流水模型 

方案)

  1 转成volume,放多个依次缩小的sphere,然后merge。

  2 复制sphere沿着表面上移。

2a 这时需要沿着表面向上的矢量,用double cross product双交叉乘积(向量积)

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

  1 建立一个向上的global vector全局向量{0,1,0},它与点的法线的积乘,产生的向量

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不同但位移却都相同

关联 pscle<05>的值fit到<08>节点里fit


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

 8-10)parameter // Name:displacement_amount 作为外置参数;

1)连接fit输出到<08-5>displacenml节点

2)在外面面板调节

>

 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:转VDB

11)vdbfrompolygons1

12)vdbsmoothsdf1

13)vdbreshapesdf1

2:布尔掉果实内部的水滴

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

外置参数:Displacement amount=0.04,//水滴就被沿着表面法线方向推离表面。

       a) 外置参数:Displacement amount=-0.003

   今天就到这儿了,收功,

明天开始entagma教程的2018年

教程翻译自entagma的网络教程

下一节:20180101 Fakebroidery- Needlework in Houdini

     本文图片全部原创,版权归原作者所有

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 200,738评论 5 472
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,377评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 147,774评论 0 333
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,032评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,015评论 5 361
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,239评论 1 278
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,724评论 3 393
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,374评论 0 255
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,508评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,410评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,457评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,132评论 3 316
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,733评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,804评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,022评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,515评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,116评论 2 341

推荐阅读更多精彩内容