【houdini16】大师班geometry新节点功能介绍_CG猎人独家
—— 微资讯 · 微课程 ——
利用零碎时间,走上超神之路!
houdini16对geometry sop中更新了大量的节点,也新家了很多牛逼的节点。在这个2个多小时的官方课程中,讲解了新的point,foreach,group和boolean等更新较大的节点,也讲解了强大的性能优化complied sop,和其他方便的建模节点。小编也制作了houdini16的工程文件和附带官方工程文件,希望对大家有所帮助。
一课程大纲
1point sop
2foreach block sop
3 group sop
4boolean sop
5polypath sop
6intersection analysis sop
7intersection stitch sop
8attribute blur sop
改变较大的节点(material 网络中的节点都全部改了)
查找节点的txt文档的方法(略)
程序化建模的添加的新节点
二 具体讲解
1 新point节点讲解
新的point sop本质上是attribute expression sop节点,可以切换vertx,point,primitive和detail层级,直接取代了旧版的point和vertex节点。
新point点作用:
A 可以对常用属性/自定义属性进行修改
B 创建自定义属性
三变量 self代表自身值 value代表输入框中的值,@elemnum 对于选择不同层级代表不同层级元素(vtxnum,ptnum,primnum)
在下拉菜单中有很多实用的小预设,可以用于学习
self+value 用自身的值加上 constant value的值
set(self.x,0,self.z):进行单个通道进行控制
random(@elemnum)基于每个元素随机控制
字符类型值 "字符值"。
self - getbbox_center(0) 减去中心的位置,对物体进行归中心化处理
自定义创建属性:当attribute 切换到custom自定属性的时候
这个和attribute create的内容是一样的
选择层级+属性名字+设置属性类型type+最后赋值VEXexpression
2foreach block循环结构提升
使用新的copy to point节点
把旧版本的copy 节点才分成三个节点
copy stamp节点 这个和旧版功能一致,包含stamp功能
copy to point节点,不包含stamp功能
copy and transform节点 其实就是copy的最基本功能,包括旧版的duplicate节点。
连接foreach loop进入,初始化是基于primitive层级和name属性,所以默认会报错,修改为primitive和关闭name属性,报错会取消
在foreach begin节点中 点击create meta import node 可以创建导新的节点用来记录循环迭代次数
新建这个节点在detail上存储了两个属性
iteration当前迭代次数
numiterations 总共迭代次数
我们需要用到这里的迭代次数的随机值控制subdivision中的细分次数 ,但是subdivision节点并没有包括在这个循环迭代中。所以可以再次点击create meta import node再次创建一个数据节点,切换选择为fetch input模式(注意这个在循环上不必要,只是为了后面的compiled编译优化时候必须)。在sudivide节点中使用detail函数在进行访问
使用compile block进行优化缓存和注意问题
只需要把compiled end连接到最后输出节点,会自动包含需要做编译的节点,但是注意iteration节点不被暴扣在里面,所以sudivide节点中的detail函数不起作用。
在sudivide节点齿轮上添加 add spare input添加空闲的输入,把iteration节点加载到这个输入端中,
函数中detail中的路径也要修改为 -1 代表第一个spare input,可以添加多个spare input,第二个为-2,第三个位-3
rand(detail(-1,"iteration",0))*3
使用compiled block明显速度快非常多,特别是对于巨量的效果。但是需要针对可以进行complied 编辑的节点。
如何查看那些节点可以编译,在network视图中点击D打开视图显示参数选择
compilable sop Badge默认是hide影藏的,把它开启,那些节点右下角有黄色的小齿轮说明不能进行编译优化,比如copy stamp节点。
compiled begin节点用于定义开头范围,如果没有使用就默认全部计算
下面这个是把box1排除在外部了。
添加font,原理也一样,font中的spare input 中加载iteration
在text内容中输入
`detail(-1,"iteration",0)`
3 group节点讲解
旧版group的功能拆分成各种组类型节点
添加group create/group节点
base group中可以输入pattern序号,也可以直接使用vex表达式。不仅是group节点,大部分的节点group中的参数都可以直接输入vex表达式,非常方便。
measure节点中包含了curvature测量属性,实际上就是可以计算出转折弧度值,可以基于这个值进行选择
group剩下选项
keep in bouding regions 通过边界范围进行选择
keep by normals 通过法线选择
include edges 通过边进行选择
具体的方法查看查看之前分享的微课程。
在 keep by normal中 多了一个 non-planar polygon 非共面多边形选择,这个对于选择处理非平面的面非常方便
注意,对于颜色的vex表达式选择,不能使用@Cd.r,只能选择@Cd.x或者@Cd.0 (这个比较奇怪,只能使用xyz或者012)
并且在group中不能够使用vex函数
比如 luminance(@Cd)>0.5是报错的,当需要使用到表达式的话的那么需使用
group exression节点
group expression节点中同样支持@elemnum这个变量
4boolean sop
boolean sop的功能
a 经典的布尔运算:合并,减去等等
b 对于自身穿插的几何体进行清除
c 使用递归算法进行模型破碎
polyfill节点去掉了之前的polycap节点,更加智能地进行补面
boolean对于单独分组并且相互穿插的物体,默认情况intersect就可以处理好。下面这个模型本来是独立模块,现在变成完整的一个模型
其他破碎案例具体参考工程文件
5 polypath节点
替代joint节点,可以多条曲线进行连接(基于空间位置)
6intersection analysis 穿插分析(可以提取交叉的交接线)
用法1,把有穿插的模型输入到左边输入口,可以查看到穿插线,这应该要求输入模型是三角面模型,可以在之间插入一个divide三角面细分节点。
用法2,分别把两个端口的模型求得交叉线,注意grid选择的是三角面化的面
7intersection stitch 类似于boolean运算的union,不过是交叉缝合作用
可以对线线进行处理,对面处理也是需要三角面
8attribute blur 属性模糊节点
有两种模式
uniform统一模式,这个基于空间进行模糊属性,类似于smooth节点
如果使用edge length模式,那么可以基于拓扑结构进行模糊处理,不相连接的拓扑结构不会模糊。
获得教程的方法: