第078封“情书”:心坎VOPs Quick Tip- Abstract Displacement Using Modulo & Noise<Entagma>Houdini 2018

本来人生路就起起伏伏,还多了这一道道的沟沟坎坎— 每天翻译一篇教程,这就是我写给houdini的情书。【首发于同名公众号:“致houdini的情书”】 

█ 离为日,坎为月,日月之道,阴阳之经,所以始终万物,故以《坎》《离》为上篇之终也。

未济(wèi jì)卦是《易经》六十四卦最后一卦,以未能渡过河为喻,阐明“物不可穷”的道理。

前言不搭后语

21算入行,什么软件都不会,会画点画。当然感谢那个不专业的时代,但是那个时代,机会也少,学习的资源更少。世道也很艰难,也是撞得头破血流,跌跌撞撞,沟沟坎坎硬生生的进入这一行,然后各种辛酸苦辣各种摩擦之后,才慢慢进入正轨

本节内容 由起伏的noise置换之上再产生有规律锯齿状起伏的山脊


本节要实现效果






第078封“情书”:心坎VOPs Quick Tip- Abstract Displacement Using Modulo & Noise<Entagma>Houdini 2018_第1张图片

今天是42岁051周六
78 这是写给Houdini的第078封“情书”


我是geo流程图

第078封“情书”:心坎VOPs Quick Tip- Abstract Displacement Using Modulo & Noise<Entagma>Houdini 2018_第2张图片

我是pointvop流程图

第078封“情书”:心坎VOPs Quick Tip- Abstract Displacement Using Modulo & Noise<Entagma>Houdini 2018_第3张图片

首先
制作步骤

            ○ 小节提要

本节将学习: 

01)noise置换起伏

    1 基础的置换效果搭建 

    2 使用噪声驱动置换

02) 随着 noise 起伏层层 山脊

    1 产生锯齿效果

    2 锯齿恢复0~1范围

    3 使用 noise线性形状控制山脊的高低

首先
原理部分            


○ 如何产生随线性函数的锯齿效果 ○

第078封“情书”:心坎VOPs Quick Tip- Abstract Displacement Using Modulo & Noise<Entagma>Houdini 2018_第4张图片

01)噪声发生器(通常)接收三个值,并使用它们生成单个输出值 ,用更高级的术语来说,你可以说它将R3映射到R1这个例子AANoise-0.5~0.5之间;大部分情况在0~1之间。

第078封“情书”:心坎VOPs Quick Tip- Abstract Displacement Using Modulo & Noise<Entagma>Houdini 2018_第5张图片


02)噪声发生器假设输出像这个样子,我们通常把这些值想象成黑白色

第078封“情书”:心坎VOPs Quick Tip- Abstract Displacement Using Modulo & Noise<Entagma>Houdini 2018_第6张图片

03)为了了解创建这些锯齿时发生了什么,让我们来看一个更简单的线性函数,我们想要的是将0到1之间的函数转换成一个锯齿形状的函数,用原始函数作为信封



○ 如何产生随线性函数的锯齿效果 ○

第078封“情书”:心坎VOPs Quick Tip- Abstract Displacement Using Modulo & Noise<Entagma>Houdini 2018_第7张图片

01)首先,让我们把这个东西变成锯齿形,让我们用MODULA操作。Modulo将返回所谓的欧几里德除法的剩余部分;

例如如果一个值=0.15 ,这个值被0.1划分 剩下0.05;就不能再继续划分了。

它问我们除以多少次的值,与我们想要除以的值吻合,剩下的是什么? 那剩余值的操作是什么。

当我们将值0.15除以0.1时,0.1正好与该值匹配一次,剩余值就是0.05。然后这个剩余值继续增加,直到我们除以0.2,剩余值是0.1; 现在正好是这个值的两倍。没有余数;接下来函数再次下降,然后上升;0.2余数回到0;0.3余数再次回到零;这样就产生了锯齿状;

第078封“情书”:心坎VOPs Quick Tip- Abstract Displacement Using Modulo & Noise<Entagma>Houdini 2018_第8张图片

02)我们的结果将在0.00-009999之间,所以让我们乘以10将它们再修正为0到(几乎)1倍,我们想把我们的MODS结果乘以1/0.1(即10)。使用modula函数,要注意是*1/0.1;

image.png

03)最后,我们要做的就是把整个结果带回来,只是简单地把锯齿形状函数与原来的函数相乘。

如果还有其他的内容,就是线性函数;由噪声产生;最终产生错综复杂的地形。

接下来
正式制作             使用软件:houdini17.5


0 1 noise置换起伏


1 基础的置换效果搭建


○ 节点 ○

第078封“情书”:心坎VOPs Quick Tip- Abstract Displacement Using Modulo & Noise<Entagma>Houdini 2018_第9张图片



○ 具体操作 ○

01)sphere:多边形polygon。Frequency=256,为了置换要足够多的网格。

02)normal:为了基本的置换,point还需要法线。

03)pointvop:最终所有效果在此产生。

    03-1)displace Along Normal:

        a)输入连接P和N,输出P。

        b)调节Amount数值,即可产生整体置换效果。

○ 一个简单的置换搭建完成 ○


2 使用噪声驱动置换


○ pointvop内部节点 ○

第078封“情书”:心坎VOPs Quick Tip- Abstract Displacement Using Modulo & Noise<Entagma>Houdini 2018_第10张图片

○ 具体操作 ○

 03-2)使用annoise:

    a)输入P,输出连接置换的amount;

    b)降低粗糙度Roughness=0;

    c)提高频率=222;

第078封“情书”:心坎VOPs Quick Tip- Abstract Displacement Using Modulo & Noise<Entagma>Houdini 2018_第11张图片

小目标1)

我们需要只有向外的置换效果

解决方案)

noise输出-.5~.5,使用fit映射范围0~1之间。

    03-3)fit节点:源min=-0.5;max=0.5;输出min=0,max=1;





02 随着noise起伏层层山脊


○ 节点 ○


----------○ 参考步骤1 ○----------

第078封“情书”:心坎VOPs Quick Tip- Abstract Displacement Using Modulo & Noise<Entagma>Houdini 2018_第12张图片

小目标)锯齿效果

执行) 

    03-4)modular节点:

        a)Divisor=0.1

第078封“情书”:心坎VOPs Quick Tip- Abstract Displacement Using Modulo & Noise<Entagma>Houdini 2018_第13张图片

小问题1)显示问题

原因)法线问题  

解决方案)在上一层级加normal

第078封“情书”:心坎VOPs Quick Tip- Abstract Displacement Using Modulo & Noise<Entagma>Houdini 2018_第14张图片

Divisor=0.1

第078封“情书”:心坎VOPs Quick Tip- Abstract Displacement Using Modulo & Noise<Entagma>Houdini 2018_第15张图片

Divisor=0.05


--------○ 参考步骤2 ○-------

第078封“情书”:心坎VOPs Quick Tip- Abstract Displacement Using Modulo & Noise<Entagma>Houdini 2018_第16张图片

小目标)锯齿恢复0~1范围

分析)

 使用模块观察除法运算,现在输出范围不在0~1之间

 分析)

    a)使用模块观察除法运算,现在输出范围不在0~1之间

    b)改变divisor=0.05

解决方案)通过乘法恢复0~1的范围

    a)Divisor改回0.1

    b)增加<03-5>multiply constant节点:乘=10

第078封“情书”:心坎VOPs Quick Tip- Abstract Displacement Using Modulo & Noise<Entagma>Houdini 2018_第17张图片



小目标)使用multiplier山脊的数量 

解决方案)表达式控制multiplier

执行)

    a)首先把multiply constant的首先multiplier参数移到vop的面板上

第078封“情书”:心坎VOPs Quick Tip- Abstract Displacement Using Modulo & Noise<Entagma>Houdini 2018_第18张图片

    b)使用表达式关联multiplier与modular节点Divisor数值image.png

//-- multiplier越大,divisor越小,山脊越多

1.0 / ch("…/mulconst1/mulcost")

第078封“情书”:心坎VOPs Quick Tip- Abstract Displacement Using Modulo & Noise<Entagma>Houdini 2018_第19张图片

multiplier=10

第078封“情书”:心坎VOPs Quick Tip- Abstract Displacement Using Modulo & Noise<Entagma>Houdini 2018_第20张图片

multiplier=5

第078封“情书”:心坎VOPs Quick Tip- Abstract Displacement Using Modulo & Noise<Entagma>Houdini 2018_第21张图片

multiplier=20


----------○ 参考步骤3 ○-----------

image.png

小目标)使用 noise线性形状控制山脊的高低

解决方案)  处理完的山脊乘noise线性值

    03-6)multiply2:

    a)连接<03-5>multiply1

    a)连接 :0~1范围的fit输出

锦上添花)增加两个ramp进行细节控制

第078封“情书”:心坎VOPs Quick Tip- Abstract Displacement Using Modulo & Noise<Entagma>Houdini 2018_第22张图片

第078封“情书”:心坎VOPs Quick Tip- Abstract Displacement Using Modulo & Noise<Entagma>Houdini 2018_第23张图片





第078封“情书”:心坎VOPs Quick Tip- Abstract Displacement Using Modulo & Noise<Entagma>Houdini 2018_第24张图片 教程翻译自entagma的网络教程 下一节:20181210 Implementing A Position Based Cloth Solver From Scratch 电子邮箱:[email protected]

公众号:第078封“情书”:心坎VOPs Quick Tip- Abstract Displacement Using Modulo & Noise<Entagma>Houdini 2018_第25张图片微信号第078封“情书”:心坎VOPs Quick Tip- Abstract Displacement Using Modulo & Noise<Entagma>Houdini 2018_第26张图片




你可能感兴趣的:(houdini)