【原创教程】CG猎人原创中文教程houdini之道00_02发布
—— 微资讯 · 微课程 ——
利用零碎时间,走上超神之路!
教程介绍
教程名字
CGhunter_houdini之道_00_02_liquiddrop
视频教程
购买教程分辨率为1920*1080(建议电脑观看),1.5倍速度(提高效率,声音有点奇怪,但清晰),最大限度简洁和优化,加密只绑定移动硬盘(方便大家用不同电脑观看或者和小伙伴一起看)支持window和mac系统,附带工程文件和素材,在vip群里答疑和相互讨论学习。 尽最大可能节省大家时间,快速学习~
往期教程
第一部教程地址
【原创教程】CG猎人原创中文教程houdini之道00_01f发布
核心知识
1通道关联,也就是我在修改一个参数的时候其他参数会对应自动变化,这个是houdini程序化的非常重要的基础。ch()作为一个最基本的函数也表达出其实编程的最本质其实就是找关系。
2Attributecreate节点,同时展示属性创建五要素:属性名字,所在层级,数据类型,元素数量和值,今后无论用什么节点或者编程语言vex/python,在创建和调用属性的时候,都要基于这几个点进行考虑。
3vex变量的写法@+变量名,比如@ptnum,ptnum=point number意思就是每个点的序号。这些是houdini规定的写法,也是houdini能够自动识别的变量,数量不多(包括@pscale),可以在pointvop中geometryvopglobal节点中查看到这些默认的变量写法。
4copy节点和stamp()函数的配合使用,本质上就是通过stamp()函数获得模板点的属性用来控制自身的参数。是非常强大,但是这种思维是逆向的,是不houdini化的,运行效率很低,尽量少用。
5函数使用:标准写法为:函数名+()在参数通道中不需要再添加任何符号结尾。另外一个重点是需要注意里面输入的参数数量和类型,用逗号隔开。本教程我们学习了4个函数:
ch("a")通道索引 中间传入一个参数a为字符/路径 “”双引号表示。
stamp("a","b",c) 获取变量值,三个参数 a为copy节点的路径,字符类型;b为需要传递的属性,字符类型(可以不需要双引号);c为默认的值,浮点或者整形。
rand("a") 随机函数,返回值为0-1,参数a可以是整数也可以是浮点。
fit(a,min,max,newmin,newmax),适配范围,需要传入5个参数,整型或者浮点,a为变量,min为a的最小值,max为a的最大值,newmin为新的最小值,newmax为新的最大值。
6 vop可视化编程的使用(point vop是其中一个层级细分)我们使用了P→turbulencenoise→fit→ramp→Cd的流程,这个可以说是vop中最常用也是最基本一种连接套路:通过位置属性P生成紊乱适配范围最后驱动ramp渐变色输出给Cd颜色属性。之后会有更加丰富的衍变,但是本质还是基于这个套路。
7VDB的强大功能和转换。
8渲染器是可以直接读取到point层级上的颜色属性,直接渲染出颜色。
易错总结
1表达式/函数的书写错误,最容易错误有三点:
符号:特别是括号的多了或者少了,引号和逗号使用问题,切记保证是英文输入法。
英文拼写:默认houdini的函数名都是小写,注意单词拼写正确性。
参数:注意输入参数的数量和数据类型,常用数据类型主要是浮点,整形,字符,矢量和布尔等。
2copy节点stamp的流程
确保stamp标签下的stamp input激活/勾选,很多同学会漏掉这一步。
确保右边属性和copy中输入的属性名字一致,确保属性的值有效(查看Geometry spreadsheet面板)
stamp()函数调用使用注意参数的输入和最终值的大小。
3vop中的连接方式,注意vop节点外部的显示激活(否则看不到效果),并且连接的属性名字要对应好。
阶段总结
上个案例已经对houdini流程有个大致的了解和认识,今天这个案例开始接触到了表达式/编程。刚开始会让很多人惧怕,特别是英文书写和一些语法要求。不过我们今天接触的是4个最基本的表达式,虽然之前很多教程是把ch()和stamp()单独讲,但是本质上他们都是表达式/函数,没什么特别的地方。刚开始书写的时候肯定会错漏百出,注意上面的易错总结,多写几遍,即使出错了也很快会定位到问题所在。
第二个进阶就是开始对属性和变量的熟悉,知道houdini中的默认属性,创建自定义属性,如何调变量和vex中的变量写法。而属性是houdini的一个基石,后面我们会有大量时间和属性打交道。
扩展思考
1使用Attributecreate和Attributerandomize节点创建属性有什么相似与区别。
2我们有点序号属性@ptnum,那么我们肯定还有另一个属性:点的总数,怎么表达?
3我们创建的自定义的属性时候的变量调用写法是?
4point from volume和scatter都是生成点,他们的区别是,他们对输入物体的要求有什么不同?sactter能否实现point from volume的效果?
5如果把颜色属性存储在其他层级,比如vertex,primitive层级,mantra是否能够渲染出颜色?
6pointvop中把参数提取到外部除了方便修改之外,还有其他好处吗?
举一反三
我们用今天所学的知识完成下面这个羽毛制作效果,虽然感觉是完全两个不同的案例,但是使用的知识点是一样的,CG猎人教授大家真正学习本质的东西而不是停留在表面~
ps 来源网络图片,只用于参考学习,不能商用
关于教程的建议和技术讨论欢迎大家在文章末尾留言或者在vip售后群里讨论,如果觉得有所帮助,希望大家多多分享~
houdini之道
CG猎人 houdini之道第一卷00系列 20个案例完成houdini入门介绍
三位一体
教学最新改革三位一体全方面学习体系介绍
【原创教程】CG猎人三位一体houdini之道完全教程服务介绍
教程咨询
直接扫描下面二维码加小编微信
CG猎人VIP技术群:同步更新资源,交流技术,共同进步
CG猎人(Hunter_CG)专注于CG微资讯与微课程的分享(10分钟以内)。让广大CG爱好者与从业人员能够利用零散时间了解最新最具前景的资讯,了解国际技术发展动向与前沿市场动向。提供精挑细选实用微课程,从入门到高级循序渐进。通过知识总结与分享,共同进步。
分享教程和学习笔记,同时设计maya,3dsmax,softimage,houdini,cinema4D blender,modo和lightwave等常用三维软件,也包含reallow,naaid专门制作特效的三维软件;包含fumefx,rayfire,karakato和thinkingparticles等插件教程和学习笔记。