Houdini VEX和Python简介
由Jeronimo Maggi讲授
- 课程编号:
- HOU217
- 软件版本:
- 17
- 原始运行日期:
- 2019年二月
- 持续时间:
- 2小时3分钟
3D
建议使用Python的基本知识和对面向对象编程的理解,因为整个Python组件完全集中在Python在Houdini中的工作方式和对Houdini对象模型的理解。在这一部分中,我们将使用Python处理节点,参数和几何,并读取Houdini中的大数据集,以创建从太空夜间观察到的一个国家的城市灯光的渲染。在最后一个练习中,我们将创建一个货架工具,该工具将收集场景中的每个几何ROP,为每个几何ROP创建Fetch ROP,最后将它们合并在一起,以提供一种方便的方式来缓存所有几何。
Jeronimo Maggi的职业生涯始于3D多面手,在过去的4年中一直与Houdini合作担任FX艺术家。他在教育领域教授Houdini多年,目前在FX的Method Studios工作。除了Houdini之外,他还是Python程序,并且喜欢创建工具来加快工作流程。
课程纲要
第1类:VEX基础知识,第1部分
在本课程中,我们通过了解VEX的语法以及定义和声明属性,数据类型以及如何定义向量和访问其组件的概念,来了解VEX的基础知识。我们还介绍了VEX和Python在处理几何图形方面的差异以及它的多线程设计如何使其如此快速。最后,我们了解了VExpressions和VEX代码之间的区别以及Wrangles最终如何被转换。
第2类:VEX基础知识,第2部分
在上一课中学习了基础知识之后,我们将介绍一些更高级的概念,例如条件,函数,接口控件,局部变量和引用变量。所有这些概念将以简单的溶解效果应用,我们将在其中学习如何使用xyzdist和primuv函数以及如何在VEX中进行点云查找。最后,我们简要介绍了POP节点中的VExpressions及其区别。
第3类:高级VEX
在本课程中,我们介绍了一些更高级的VEX,方法是研究如何使用for循环从任何几何图形中提取两个非共线向量,以创建一个变换矩阵,将其分解后可以重新应用于动画对象。最后,我们介绍了一些有用的Bullet VEX示例,例如使用变形几何体和手动操作零件。
第4类:Python基础
我们从VEX切换到Python,然后看看Houdini的Python API:Houdini对象模型。为了更好地理解它,我们研究了一些面向对象编程的基础知识,然后探讨了如何从hou模块访问对象以及它们如何相互关联。我们介绍了Node,ObjNode,SopNode,Geometry,Point,Parm,Vector3和Attrib类,并了解了它们拥有的最常用方法。
第5类:Python示例
我们将第4类的所有知识应用到两个示例中。在第一个中,我们介绍了如何加载CSV文件,该文件包含美国的每个城镇和城市及其人口,因此我们可以为每个城市创建灯光,并创建所有城市的夜间渲染。对于最后一个练习,我们创建一个有用的工具来收集场景中的每个Geometry ROP节点,并在最终将它们全部合并在一起之前为它们中的每个创建一个Fetch ROP。我们将研究如何避免重复的提取节点,以及如何允许我们的系统在任何时候运行,并仅使用新创建的Geometry ROP更新提取ROP。