—— 微资讯 · 微课程 —— 利用零碎时间,走上超神之路! 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模式,那么可以基于拓扑结构进行模糊处理,不相连接的拓扑结构不会模糊。 获得教程的方法: |
|