1-4期
195人加入学习
(33人评价)
Houdini 影视特效实验班

6个月零基础到入职

价格 ¥ 6198.00
教学计划
承诺服务

1.assemble打包,保持内存高效。

2.在blast节点中随机抽选表达式:@id=`floor(rand(detail("../iter/", "iteration", 0)) * npoints(0))`

floor把小括号里的浮点表达式取整。

id是先用enumerrate设置好。}

3.attribrandomize属性随机化

4.centroid(0,0)

5.matchsize匹配(非常好用)

[展开全文]

vex

 

 

Hscript expression

 

npoint(0);

获取0号接口进来的几何体点的总数。

 

detail("../..", "aa", 1);

获取某个路径下,第1个个detail编号的aa属性。

 

floor(10.5);

取整数,10.5的话就是10。

[展开全文]

assemble 封装 SOP  一个智能的数字资产

 

copy to points

右边接口:使用循环中的每个点作为模板点

左边接口:使用“封装的石头”作为拷贝的对象

 

detail表达式

detail(“导航到哪个节点”,“查看哪个参数”,整数index)

本例中:

detail("../iter", "iteration", 0)

 

npoints VEX function:

返回输入进来的点的编号,是个int

npoints(0) :第一个输入接口进来的点的编号

 

group是个string函数,@id表达式中,需要··两个反引号,houdini才知道这里面的表达式需要计算

 

 

floor函数:浮点数取整

本例中blast节点group:@id= `floor(rand(detail("../iter/", "iteration", 0)) * npoints(0))`

 

 

attribrandomize节点:属性随机化,这里插入到进入循环之前,min value改成-1,使得随机程度更大

 

修复每块进入循环的石头的偏移:transform节点,点开+pivot transform;

centroid(哪个输入接口,这个矢量的第几个构成元素)

三个构成元素分别是0,1,2

所以本例中centroid(0, 0)centroid(0, 1)centroid(0, 2) ,可以获取到石头的center数值,然后transform移动*-1数值的移动,就可以使所有石头的轴心在世界原点

 

打包的物体无法使用细分节点,移动assemble节点后破坏了整体的结构,修复方法:for each end节点勾选piece attribute,输入name,name是voronoifracture节点为我们创建的一个面属性

 

matchsaize节点:输入接口1的几何体,和输入接口2的几何体的boundingbox做匹配

[展开全文]

获取到物体轴心的位置 减去物体的位置 得到的结果就是0

位置矢量 减去 轴心矢量 是应该等于0

[展开全文]