▉ <引子:不要以为你很懂我,你看到約只是一个我。— 每天翻译一篇教程,这就是我写给houdini的情书。【首发于同名公众号:“致houdini的情书”】
█任何事情都有正反两面。就像同一个身体里居住着不同的灵魂。
双簧:
我的身体里住着两个小人,一个冷漠,一个热情;一个出世,一个入世。一个在白天,一个在黑夜。
我又是难过,又是快乐。我又是自卑,又是狂妄。我又是光明,又是黑暗。
换句话说,就是喜怒无常。
今天这一节:
看一下如何让散落的点形散而神不散自然的分布在双子座上?
.....
▉今天是42岁第005天周二
这是写给houdini的
第031封“情书”
我是geo流程图
我是primvop流程图
本节需要注意的知识点:
1
四种制作散落点的方法
基本都是通过选择一定区域后,撒点:
1)使用group:
Keep by normal选项里的朝向y=-1与spread angle结合。
2)使用vex代码 :
1) 使用set函数创建的向上矢量;2) 与物体本身矢量夹角用dot函数,用acos函数求弧度,3)通过弧度/(3.1415926/180)获得角度;4) 再if判断< 设置的滑动数值归入自定义组f@group_group1=1.0;来选择区域。
3) 使用primvop:
使用类似vex的函数的节点。
1) constant建立向上矢量;2)dot节点求两个矢量的点积也就是夹角;3)trig节点反余弦来求弧度;4)radtodeg节点 将弧度转角度;4)再用compare做一个<某值(constant来设置)运算;5)输出给switch节点,满足条件传给input2(constant=1);6)之后输出给bind export节点;这里设置组名group_group1.于是小于某值的点都移入group1中。
4)使用“曲率”属性:
1)vdbfrompolygon节点转成vdb;2)vdbanalysis节点转成曲率;3)Attribute from Volume节点连接模型,和获取曲率的节点,通过调节map映射参数范围,和曲线得到曲率的分布黑白颜色的模型,4)连接(方法1)的group,5)再scatter撒点时,使用创建的group1,选在组的选择范围内的,通过Cd属性选取的曲率范围的交集。取得最后的选择范围。
2
关于曲率
1)使用曲率能获得凹凸弯曲强弱的信息,
2)再结合group的向上方向的选择范围
3) 再scatter中获得两者的交集,选择的效果更合理自然。
接下来
开始正式制作
使用软件houdini16.5
实现散落点效果的4种方案
方案1:group
1):file //导入模型
2): transform // 转换尺寸
迅速选择模型朝上的面
3):group1
//.√keep by normal // Y=-1
//Speed angle 控制选择的面积
选择group1里的点
4):scatter //
//
count=10000
//relax
=1
//选group1
合并点和模型
5):merge
方案2:vex代码
6):primwrangle
a) 创建一个向上的矢量
vector up = set(0,-1,0);
b) 进一步获取法线,除去prim法线
vector N = v@N;
c) Dot函数获得两个方向适量夹角,acos反余弦得到弧度。
float angle = acos(dot(normalize(up),normalize(N)));
d) angle转换乘弧长
angle = angle/(3.1415926/100.0);
e)创建组group1
f@group_group1 = 0.0;
f) 判断angle<某值,移入group1
If(angle< ch(“threshold”)){
f@group_group1 = 1.0;
}
方案3:primitivevop
7) primitivevop
创建一个向上的矢量
7-1) constant1
矢量(0,-1,0)
连接N的输入口
7- 2) normalize1
7- 3) normalize2
求两个方向矢量点积
7- 4) dot
计算参数的弧余弦。返回弧度值在0到PI之间。
7- 5) trig
该运算符将弧度转换为度数。
7- 6) radtodeg
7- 7) compare
a)<号
b)参数外移
转换开关
7- 8) switch
假:连1)接口
真:连2)接口
7- 9) constant2
0;连接input1
7- 10) constant3
1;连接input2
创建输出组group_group1
7- 11) bind export
与向上垂直角度<28度的进入group1
方案4:
8)vdbfrompolygon:
//尺寸0.005
转换成曲率
9)vdbanalysis
//曲率operator:curvature
10)Attribute from Volume
a) 槽1:接模型transform
槽2:接vdbanalysis
b) mappinginput
Range:-10 ~ 1
c) 映射体积√ Map Volume to Value
d) 切换present:Decreasing
11)group2
只使用曲率选择。
白色是曲率选择范围
scatter里使用group
黄色是:group选择的范围
scatter里使用group1组,然后再用Cd选择
今天就到这儿了,收功
教程翻译自entagma的网络教程
下一节:20170123 Quick VDB Clouds
本文图片全部原创,版权归原作者所有。