第099封“情书”:天下无不散之筵席Volumes101-DissolvingGeometry<Entagma>Houdini

可知世上万般好,好便是了,了便是好。若不了,便不好;若要好,须是了。 — 每天翻译一篇教程,这就是我写给houdini的情书。【首发于同名公众号:“致houdini的情书”】

█ 天下无不散之筵席  ”

前言不搭后语

如果聚会永不散场,你可能会由兴奋变的很疲惫。如果太阳永远挂在天上,如果人能永生,结果可能是更大的噩梦。

    人们期望的永恒,完美也许只是一场叶公好龙,真正实现你的愿望时可能会让你大失所望。

    所以大自然的四季轮回,新陈代谢、有始有终的法则,才让我们有了各自存在的价值。

    也许,一切都是最好的安排。

本节内容

使用“速度场”来推动vdb来制作溶解效果 

本节要实现效果

.....

今天是42岁

072周六

99

这是写给Houdini的第099封“情书”

我是geo流程图

我是volumevop流程图

首先

制作步骤


小节提要

A

01

创建速度场

B

02

调整速度场的变化

C

03

advect调用速度场

接下来

正式制作

          使用软件:houdini17.5

01 创建速度场

○ 节点 ○

○ 主要问题 ○

缩放向量的长度影响geo的一边而不影响另一边

○ 解决方案 ○

1)假设有一个geo,只希望它的一部分受影响。沿着几何体的长度,速度场从0开始逐渐增强。

2)可以使用在这个边界框中所谓的相对位置。来驱动速度向量的长度

   ○ 执行 ○

    1)file:导入一个几何体文件。

    2)转成fog体积:vdbfrompolygon。

a)volex size=0.01

        b)勾选 Fog  VDB :density.

        c)勾选Fill Interior。

3)确保每个voxel值=1 :volumewrangle

f@density = 1.0;

 4)可视化体积:volumevisualization:

        a)密度 Density Scale=100 

   ○ 创建速度场 ○

在向量场中储存“速度向量”,速度向量的方向长度决定advect节点沿着哪个方向和移动多远。

❖创建一个比几何体大一点的volume❖

5)bound

a)lower padding:0.6*0.6*0.6

    b)Upper padding:0.6*0.6*0.6

6)vdbfrompolygon

a)voxel size=0.01

b)fog VDB=density

    c)Fill Interior  

○ 小问题 ○

储存一个density的浮动值。但我们需要储存一个速度,是一个矢量体积。 

❖把一个浮点vdb转矢量vdb❖

7) vdbanalysis:

a)使用gradient梯度;b)自定义输出速度属性vel;c)它创建了梯度,不需要,但它也创建了矢量速度场velocity volum;

02 调整速度场的变化 

○ 节点 ○

❖ 噪音速度矢量❖ 

8)volumevop:

8-1)curlnoise:

a)外置参数type;frequency;offset;amp;rough;atten;

8-2)bind export:输出速度vel属性。

❖ 视觉化速度场❖ 

9)grid :size=3*3;行列=30*30。

10)速度场轨迹 volumetrail:grid上充满了速度场

❖  但是左右速度场长度相当  ❖

我们希望左边的长,右边的短        

解决方案  

    a)file文件连接“volumevop”“接口2”

    我们想要利用这个几何体边界框检验bound几何体的边界框。

 8-3)  relative to Bounding Box:

      a)file连接opinput2输出口:

      b)P连接P输出:

           ○ 比较一下geo的几何体与当前voxel的position

           ○ 返回一个矢量值(0,0,0)到(1,1,1),这取决于在geo的边框里的位置。

 ❖ 当前我们需要 在z轴操作;分离出z轴 ❖

 8-4)  矢量转浮点:vectortofloat    

  8-5)  z轴缩放:multiply:

        a)curlnoise连接input1;

        b)联合vectotofloat连input2;


❖ 小问题 ❖ 

  ❖ 当前速度场变化不大 ❖ 

解决方案  

10)修改激活方式: volumetrail

        Advection Meshed=Advect

❖ 小问题 ❖ 

  ❖ 左边过了geo,速度场又变长 ❖

因为在“geo的边界框”外相对于“bound边界框”会返回负值。所以值一直下降为负

解决方案  

8-6)钳制0~1:Clamp

❖ 小目标 ❖ 

  ❖ 调整速度矢量的长短变化幅度 ❖

解决方案  

8-7)斜坡 :ramp

03 advect调用速度场

○ dopnet内部节点 ○

❖ 具体操作 ❖

11)vdbadvect

a)“接口1”接“密度”; b)“接口2”接“速度场”

○ 视觉化密度:连接“volumevisualizetion”

❖ 小问题❖

  ❖ 密度场变形,但幅度很小 ❖

 解决方案 

因为advect是按照时间步幅Timestep产生变化, 

b)去掉表达式  timestep:

        ○ 0.2产生变形。

        ○ 0.5变形幅度更大。

❖ 小问题❖

❖volume有些分离❖

 解决方案 

a)因为只运行了一次,这么大的变形距离一次是不够的的

b)我们要在substep子步骤中对速度量进行采样,补齐中间脱离的步骤。

○Sub-steps=8

8)volumevop

11)vdbadvect

❖ 小问题❖

  ❖ 变形密度场碰到边界框界限 ❖

 解决方案 

○ 增加bound的z轴:

        Lower Padding=1*1*0.6

        Upper Padding=0.6*0.6*1

❖ 番外 ❖

可以用文字替换file节点,生成这种溶解的艺术效果

交流群:

公众号:

微信号

你可能感兴趣的:(第099封“情书”:天下无不散之筵席Volumes101-DissolvingGeometry<Entagma>Houdini)