分享

【houdini16】大师班geometry新节点功能介绍_CG猎人独家

 cghunter 2021-04-16

——  微资讯 · 微课程  ——

利用零碎时间,走上超神之路!


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 通过边进行选择

具体的方法查看查看之前分享的微课程。

【微课程】houdini16 关于分组group的知识大全

在 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模式,那么可以基于拓扑结构进行模糊处理,不相连接的拓扑结构不会模糊。


获得教程的方法:

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章