第078封“情书”:心坎VOPs Quick Tip- Abstract Displacement Using Modulo & Noise<Entagma>Houdini 2018_mod noise displacement_努力骗自己,我一定行的博客-程序员宅基地

技术标签: houdini  

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

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

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

前言不搭后语

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

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


本节要实现效果






20181119 VOPs Quick Tip- Abstract Displacement Using Modulo & Noise.png

今天是42岁
051周六

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


我是geo流程图

image.png

我是pointvop流程图

image.png

首先
制作步骤

            ○
小节提要

本节将学习: 

01)noise置换起伏

    1 基础的置换效果搭建 

    2 使用噪声驱动置换

02) 随着 noise 起伏层层 山脊

    1 产生锯齿效果

    2 锯齿恢复0~1范围

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

首先
原理部分
           


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

image.png

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

image.png


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

image.png

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



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

image.png

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余数再次回到零;这样就产生了锯齿状;

image.png

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 基础的置换效果搭建


○ 节点 ○

image.png



○ 具体操作 ○

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

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

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

    03-1)displace Along Normal:

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

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

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


2 使用噪声驱动置换


○ pointvop内部节点 ○

image.png

○ 具体操作 ○

 03-2)使用annoise:

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

    b)降低粗糙度Roughness=0;

    c)提高频率=222;

image.png

小目标1)

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

解决方案)

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

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





02 随着noise起伏层层山脊


○ 节点 ○


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

image.png

小目标)锯齿效果

执行) 

    03-4)modular节点:

        a)Divisor=0.1

image.png

小问题1)显示问题

原因)法线问题  

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

image.png

Divisor=0.1

image.png

Divisor=0.05


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

image.png

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

分析)

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

 分析)

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

    b)改变divisor=0.05

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

    a)Divisor改回0.1

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

image.png



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

解决方案)表达式控制multiplier

执行)

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

image.png

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

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

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

image.png

multiplier=10

image.png

multiplier=5

image.png

multiplier=20


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

image.png

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

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

    03-6)multiply2:

    a)连接<03-5>multiply1

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

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

image.png

image.png





封面图片7.jpg
教程翻译自 entagma的网络教程
下一节:20181210 Implementing A Position Based Cloth Solver From Scratch
电子邮箱:[email protected]

公众号:微信图片_20190607085947.jpg微信号




版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/sinat_33115291/article/details/98397977

智能推荐

grep搜索查找命令_grep 查找-程序员宅基地

grep命令是Linux系统中一个强大的文本搜索工具。根据个人鄙陋的一点经验来说,这是一个程序员在Linux系统最常用的几个命令之一。举个使用频率能和其并驾齐驱的命令,比如:cd。grep就像程咬金的“三板斧”,在debug时,抡起grep,再顽固的bug也会无所遁形的。..._grep 查找

Linux配置Java环境变量_linuxjava配置环境变量-程序员宅基地

linux配置java环境变量(详细) 一. 解压安装jdk 在shell终端下进入jdk-6u14-linux-i586.bin文件所在目录, 执行命令 ./jdk-6u14-linux-i586.bin 这时会出现一段协议,连继敲回车,当询问是否同意的时候,输入yes,回车。之后会在当前目录下生成一个jdk1.6.0_14目录,你可以将它复制到任何一个目录下。 二. 需_linuxjava配置环境变量

vxworks cpu utilization(spy command)-程序员宅基地

% spyHelpspyHelp Print this listspyClkStart [ticksPerSec] Start task activity monitor running atticksPerSec ticks per secondspyClkStop

ElasticJob‐Lite:整合Spring Boot_ITKaven的博客-程序员宅基地

ElasticJob‐Lite的Spring Boot Starter集成了TracingConfiguration自动配置,开发者只需注册一个DataSource到Spring容器中,并在配置文件指定事件追踪数据源类型,Starter就会自动创建一个TracingConfiguration实例并注册到Spring容器中。pom.xml:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.

深搜(深度优先搜索DFS)_深搜算法-程序员宅基地

深搜(深度优先搜索)深度优先搜索属于图算法的一种,英文缩写为DFS,其过程简要来说是对每一个可能的分支路径深入到不能再深入为止,而且每个节点只能访问一次。一、从枚举到深搜在我们遇到的一些问题当中,有些问题我们不能够确切的找出数学模型,即找不出一种直接求解的方法,解决这一类问题,我们一般采用搜索的方法解决。搜索就是用问题的所有可能去试探,按照一定的顺序、规则,不断去试探,直到找到问题的解,试完..._深搜算法

计算机组成原理 习题+知识点_符号位进位和最高数位的进位_如果皮卡会coding的博客-程序员宅基地

收录复习过程中的计算机组成原理的相关习题、错题、部分知识点整理。_符号位进位和最高数位的进位

随便推点

pg_terminate_backend()运维改造--nonsuperuser支持kill autovacuum worker_Nickxyoung的博客-程序员宅基地

一、背景介绍鉴于安全考虑,数据库的superuser一般来说是只掌握在DBA同学手中。最近多次碰到这样的场景,业务同学晚上发版修改表结构,吐槽表被系统进程锁住了,排查后发现是autovacuum worker阻塞的。经常需要爬起来支持,同时也阻塞了发版效率。那能不能将autovacuum worker的terminate权限给nonsuper user呢?可以方便业务账号直接处理被autovacuum worker阻塞的情况。业余时间研究了下,将pg_terminate_backend()做了一点小_pg_terminate_backend

linux硬盘对拷 再生龙,使用Clonezilla(再生龙)克隆Linux系统_JunJIe.Y的博客-程序员宅基地

启动篇ios进入Clonezilla:ubuntu下面将称呼Clonezilla的中文名字“再生龙”。使用U盘作一个PE盘,在系统启动时,经过U盘启动(注意,须要修改bios,我用的是ubuntu 10.0,开机后按delete键进入bios,找到boot->hard...->option1中修改成U盘(会显示U盘名字)启动)。windows 再生龙加载过程:服务器其加载过程与Linu..._clonezilla linux

matlab的多变量dmc源程序,控制矩阵论文,关于基于MATLAB多变量DMC算法的仿真技术相关参考文献资料-免费论文范文..._陈立为的博客-程序员宅基地

导读:本文关于控制矩阵论文范文,可以做为相关论文参考文献,与写作提纲思路参考。(中国石油大学(华东) 山东青岛 266555)摘 要:利用MATLAB开发系统的仿真程序,以试验室的CSTR模型为研究对象,用动态矩阵控制算法建立仿真模型,实现多输入多输出系统的控制,绘制出调节曲线,分析各个参数对系统性能的影响.结果表明,该控制算法得到较好的控制效果.关键词:机理建模 动态矩阵控制(DMC) ..._matlabdmc控制

AWS Glue集成Apache Hudi同步元数据深度历险(各类错误的填坑方案)_glue 管理元数据-程序员宅基地

Glue集成Hudi有几个很“深”的坑,一不小心掉进去就会耽误大量时间,像Got runtime exception when hive syncing / Failed to check if database exists / Cannot create hive connection jdbc:hive2://localhost:10000/ 这些错误怎么解决? 本文会一一解决!1. 第一关:标配无效,使用替代方案2. 第二关:找到关键配置,开启同步3. 第三关:同Session先读再写,再次失败_glue 管理元数据

何为 NP-hard-程序员宅基地

NP-hard 问题 NP-hard problem, NP(Non-deterministic Polynomial) 一、 预备知识1. 时间复杂度表明问题规模扩大后,程序需要的时间长度增长得有多快。 程序的时间复杂度一般可以分为两种级别: 多项式级的复杂度:如 O(1)\text{O}(1),O(logn)\text{O}(\text{log} \ n)、O(na)\t_np-hard

mysql 开机启动 windows_mysql_windows_安装版添加到服务开机自启动_锦宣的博客-程序员宅基地

使--no-ri --no-rdoc成为gem安装的默认选项在使用gem install命令的时候,希望加上--no-ri --no-rdoc选项,但是不希望每一次都手动加上这个选项. 其实可以通过编辑配置文件,改变gem install的默认选项. 在win ...python&lowbar;将一组数据展示成直方图(以list为例)直接上代码: from matplotlib impor..._mysql自动启动mysql install for windows

推荐文章

热门文章

相关标签