分享

【houdini】CG猎人第002期houdini完全基础入门学习笔记

 cghunter 2021-04-16

——  微资讯 · 微课程  ——

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


课程概述

001程序化概述 002houdini结构003用户界面004创建节点005帮助浏览器006小船案例制作007程序化旋转楼梯制作。

001通道关联 002copy 介绍 003多米罗骨牌案例 004冰锥制作

学习建议

教程难度 ★★

教程质量 ★★★★

入门教程(中级卷)涵盖信息量比较多,而且结合大量案例制作,技术讲解非常好(可惜是houdini12的,扣了一星)小编计划分为4部分学习。在第一部中你将会学习到程序化建模,copy和stamp,属性控制等基础核心知识点,这个比第001期难度提高不少。包含案小船建模,程序化楼梯,多米罗骨牌骨牌制作和冰锥制作。对于有基础的同学直接查看蓝底黑字的重点部分。

学习统计

教程观看 2倍速度

观看时间 2小时

笔记整理 2小时

练习实践:1小时

001程序化

程序化的比喻:创建篝火: 木头→把木头堆起来→点燃→点火(生成火,烟,和热量)。当然你可以不用木头做燃料,替换为汽油;然后你添加肉→放在盘子里面→放在之前生成的火上烤。每个步骤都可以相互独立和替换,这就是程序化的效果。

002houdini结构

类似于windows系统的中的文件夹和文件的关系,这个对于节点访问非常有帮助

之后会讲解绝对路径(完整路径)和相对路径区别。

003用户界面

界面介绍略

破碎案例(高级,不需要掌握):需要随机控制表达式,vop紊乱制作和polyextrude节点新版用法展示

制作原理

创建横向和竖向的线,控制随机长短和位置

使用creep节点把这个这些随机线条形变到circle中,形成了反射形。

添加vop节点进行紊乱控制。

最后用polyextrude节点挤出深度(注意polyextrude在新版本中已经有很大的变化,下面会有讲解)。

如果creep右边替换circle为sphere,结果会改变(这就是程序化的强大之处)。

快速进入相机视角的方法(除了点击视图右上角的视图)在节点区域把cam节点拖入到视图中

004创建节点

005帮助浏览器

对于学习非常有用,可以点击软件右上角的?按钮或者按F1。除了解说,还可以找到examples案例(houdini15.5后有较大的更新)。

load是直接加载到当前场景 launch会新打开一个新的houdini。

加载案例如果是蓝色显示文字,说明这个文件是有注释的,鼠标中间可以查看注释:这里说明的是展示了如何使用creep节点基于tube创建螺旋线案例。

006船建模

以maya的建模方式,在视图中选择面→不断polyextrude控制造型。

houdini15之后polyextrude有较大改动,下面附带两个新版的polyextrude使用教程。

007程序化楼梯建模

使用box创建基本楼梯→使用curve曲线创建基本截面→revovle车削生成模型→使用curve创建扶手→copy(并且创建分组)2个→merge合并上面三部分→整体copy控制旋转和位移→使用组进行扶手skin放样。

基本楼梯模型创建

box设置大小还有轴心→Edit复制制作一遍缩小→polybevel进行边缘倒角→copy节点设置数量和偏移。

curve画出扶梯截面造型,可以开启网格吸附功能X,选择curve节点,在视图中enter可激活曲线绘制工具,shift+鼠标左键可以给曲线添加点。

使用copy节点拷贝两个,放置在楼梯板上面。

创建扶手截面→使用曲线创建一边→mirro进行对称镜像→join把镜像出来的线(2条)合并起来→copy节点同样拷贝两个→copy中生成组$CY 表示拷贝的编号(数量)这样就左右分别生成了copyGroup0和copyGroup1左右扶手两个组(为了后面左右两边单独skin铺垫)

最后添加skin,设置分别设置组,勾选preserve shape可以保持skin的形态(不勾选会偏离比较严重,算法不一样)。

001通道关联

houdini的通道访问/关联快捷方式

在某个通道中鼠标右键copy channel,在另外一个需要被驱动的通道中鼠标右键paste channel/paste relative channel 主要区别是绝对(完整)路径和相对路径(推荐使用).

绝对路径/完整路径就是把节点的完整路径都写出来,比如/obj/geo1/shphre1/radx,节点的完整路径可以在节点中鼠标中键查看到,或者看network中的路径(类似与windows文件夹路径)。

通过通道函数ch()来访问,中间输入是字符类型 路径。

注意:属性的表达式名字不等于参数中标签的名字,需要把鼠标放上去会显示出表达式名字

比如sphere的参数半径名字是radius但是真实的属性名字是radx。

相对路径的意思是相对于自身节点/参数的位置 ../为跳出自身节点访问同层级的它节点。一个点代表自身,两个点代表自身上一个层级,比如geo1层级。对于自身通道访问ch("radx")完整写法是ch("./rax"),只是houdini省略了前面的"./"

推荐使用相对路径的原因是一旦节点位置发生整体变化,相对路径是可以识别的,只要两个节点间的相对位置不变;但是绝对路径就不行了。

002copy sop介绍

重点讲解copy节点的拷贝物体的定向

默认情况下是把左边拷贝物体Z轴方向拷贝到右边点模板法线的方向。

那么法线的方向是怎么定义的呢?

其实就是使用了dot点积,也就是通过边形成的两个矢量构成平面可以计算出垂直于这个平面的方向为法线,所以实际上法线的正反是由点创建面的顺序决定的(这个在以后VEX语言基础会有说明)

计算法线的基本节点之一

facet节点,勾选 post-compute normals 后期计算法线。

003多米洛骨牌案例

使用表达式动画并且通过copy节点进行动画偏移制作。

第一步 旋转动画制作

使用$F 基于每帧进行旋转

限制旋转范围,使用fit()函数  fit($F,1,8,0,-70) 这个意思的就是从第一帧到第八帧,限制选择速度为0— -70度。

第二步 创建曲线进行copy复制,需要计算曲线的切线方向作为N和定义向上的方向up

polyframe节点计算获得切线方向做为N法线。

point节点添加up vector,设置值为0,1,0

第三步 使用stamp控制动画偏移和旋转随机

在copy节点中定义了变量,基于$PT点序号进行设置值(这个可以参考第001课)

stamp()函数在transform中调用,对$F进行偏移,同时控制y轴旋转值,这样可以获得依次倒塌并且随机旋转的多米罗骨牌。

004冰锥制作

制作原理

基于grid→moutain随机控制→scatter撒点→line 创建基于点序号的渐变pscale(控制上面大下面小)→copy控制随机线长度→使用particlefromfluidssurrface节点生成mesh模型→facet计算模型法线→mountain对模型表面紊乱处理→smooth光滑表面。

重点知识一

注意line的点序号和pscale的值,教程中使用了point节点 生成了pscale=$PT/($NPT-1) 因为序号是从0开始的,$PT的最后一个值=$NPT-1。如果点的排列顺序不对,可以使用sort节点进行revers或者直接按y轴排列。

重点知识二

pscale在copy节点右边需要添加控制line的长度(当然可以使用stamp()函数进行控制line的长度参数)但是推荐使用pscale(copy可以自动识别pscale,width,N和orient等houdini内置变量),因为效率更高(stamp()其实很耗费资源,能用属性控制就用属性控制)。

同样,左边创建pscale的目的是为了之后 particle fluid surface节点的会基于pscale的点的属性进行mesh生成模型。

新版本变化一

scatter节点,基于颜色属性变化时候需要勾选 density attribute,并且修改为Cd属性

force total count为粒子总数量,没有了偏移分布控制(完全基于颜色控制了)。

新版本变化二

particlefluidssurface节点,教程中可以直接把线连接到里面就可以了,但是新版本不行,需要把线转化为点(删除线保留点)添加Add节点,勾选 delete geometry but keep the points 删除模型但是保留点 最后再连接到particlefluidsurface节点中。

控制生成模型的大小主要是通过line的pscale的值控制,而particlefluidsurface中的pscale是一个倍增值,如果生成模型太大(臃肿)那么可以调整点的pscale属性值。


PS

houdini从入门到镜头已经更新到第002期了,还没上车的同学抓经了,学习会越来月快,越来越难了。同学们记得在文章后面打卡记录哦,有什么疑问或者学习不明白的地方也欢迎在下方留言,大家都可以互相指导学习~~

获得教程的方法:

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章