【中文字幕】特效工作流程开发教程 How not to suck at Python / SideFX Houdini

语言:英文教程     中文字幕    不包含项目文件

这门课程专为想要学习 Python 以提升在 SideFX Houdini 工作流程效率、加快生产速度并开发所有你一直希望拥有的工具的 艺术家 或 TD(技术总监)而设。

请注意,课程现已完全完善,并将根据反馈和相关信息请求持续上传额外材料。

Part01 – Python 基础 // (63 分钟) – 免费

在开始有趣的内容之前,请先掌握 Python 基础,熟悉这些概念非常重要,以便在后续部分中深入学习 Houdini 特定的内容。如果你在探索更具体的 Houdini 内容时忘记了这些概念,我建议你稍后再回看这些视频。

A – 数据类型 (6 分 24 秒)

B – 变量 (3 分 14 秒)

C1 – 列表 (7 分 33 秒)

C2 – 列表连接与分割 (3 分 47 秒)

C3 – 列表方法(4 分 04 秒)

D – 循环(3 分 46 秒)

E – 条件(6 分 33 秒)

F – 提取列表(2 分 13 秒)

G – 嵌套循环(3 分 34 秒)

H1 – 如果简版(3 分 24 秒)

H2 – 循环简版(2 分 33 秒)

I – While 循环(3 分 53 秒)

J – 字典 (7 分 56 秒)

K – Try / Except (4 分 08 秒)

Part02 – Python 构建 // (57 分)

进一步学习 Python 基础知识 :

2A0 – 通过外部编辑器连接 Houdini(4 分 40 秒)

2A1 – 简介,确立 part02 的目标以及 Python 构建的学习(7 分 40 秒)

2B – 函数:解释函数是什么,如何创建函数(4 分 57 秒)

2C – 局部变量和全局变量:局部变量与全局变量的区别(3 分 22 秒)

2D – Python 类:Python 中”类”的解释和示例。(8 分 23 秒)

2E 1 – 模块:Python 模块的介绍。(4 分 38 秒)

2E 2 – OS 模块:介绍 os 模块,并创建一个简单的脚本以返回偏好文件夹中包含的 HDAs。(11 分 50 秒)

2F – 处理文本文件:展示如何使用 Python 动态创建、读取、编辑和删除文本文件。(13 分 42 秒)

Part03 – Houdini 中的 Python 基础 // (7 小时 34 分钟)
3A – 节点 (2 小时)

A0 – SideFX 帮助 / 文档 (1 分钟)

A1 – 创建节点:创建节点和建立 SOP 层次结构的基础知识。(4 分钟 34 秒)

A2 – 定义现有节点:如何定义已创建的 Python 节点。(4 分 35 秒)

A3 – 对象操作:创建多个球体并在世界空间中迭代它们的位置和缩放。(10 分 24 秒)

A4 – 颜色节点:创建节点并设置特定颜色,同时使用 Houdini 界面选择颜色。迭代颜色以风格化网络。(6 分 26 秒)

A5 – 形状节点:如何在 Python 中更改节点的形状。(4 分 31 秒)

A6 – 选中节点:基于节点名称应用颜色(相似节点显示绿色等),重命名节点。(9 分 42 秒)

A7 – 获取节点标志/删除节点:根据 displayFlag 的设置方式,相应地着色节点。我们还将看到如何删除 displayFlag 关闭的节点,作为 Python 实践。(5 分 18 秒)

A8 子节点/setFlags/节点类型:遍历导入的 3D 模型的路径并导入其 LOD。(18 分 49 秒)

A9 连接节点:创建一个具有简单 UI 的模块,用于从目录导入多个 3D 模型并自动化节点网络。(18 分 27 秒)

A10 练习:创建一个脚本,将 megascan 资产中的 mantra shader (principleShader) 转换为 MaterialX。(35min17)

3B – 子网络和参数模板 (1h30min)

B1 – 子网络化:如何在 Python 中将节点选择转换为子网络。(4min)

B2 – CopyNodesTo:如何将子网络的内容复制到其他地方。这里还展示了如何处理简单的 UI 对话框。(10min35)

B3 – 在 Python 中创建参数:展示如何向节点的界面添加文件夹和基本参数。深入探讨 parmTemplate 类。(14 分 34 秒)

B4 – 参数条件:如何设置 Python 创建参数的条件,使其根据其他参数的状态被隐藏或禁用。(15 分 03 秒)

B5 – 设置表达式:如何在参数中设置表达式,这里展示了一种将一个节点的参数的绝对路径引用到另一个节点的参数的方法。(13 分 15 秒)

B6 – 灯光控制入门:分享本节剩余部分的目标,创建一个脚本/工具来控制具有相同设置的灯光。(4 分 34 秒)

B7 – 初始化子网络:将选定的灯光转换为子网络并暴露最重要的参数。(6 分 44 秒)

B8 – 颜色参数:在这里创建一个自定义参数以最高效的方式控制颜色。(5 分 56 秒)

B9 – 链接参数:使用我们在 B5 部分学到的知识来连接新创建的参数,使它们控制灯光。(7 分 04 秒)

B10 – 完成工具:对工具进行最后的润色,使其对用户和流程友好。(9 分 06 秒)

3C – 几何类介绍 (25 分钟)

C0 – 几何类介绍 (2 分钟 53 秒)

C1 – 读取点几何 (11 分钟 18 秒)

C2 – 获取属性值 (11 分钟 24 秒)

3D – Python SOP 和几何类(1 小时 21 分钟)

D1 – 如何引用当前节点(5 分钟 43 秒)

D2 – 设置属性值(10 分钟 20 秒)

D3 – 添加属性(3 分钟 15 秒)

D4 – 群组操作 (5 分 41 秒)

D5 – 边界框:使用对象的边界框创建群组 (6 分 23 秒)

D6 – 最近点:关于点邻域的所有知识 (11 分 20 秒)

D7 – 感染!制作酷炫的感染效果(44 分 30 秒)

3E – Python 和 Houdini 数字资产 / HDA (53 分 40 秒)

E0 – 什么是 HDA 以及如何创建 HDA? (10 分 05 秒)

E1 – 使用 Python 链接 HDA (5 分 21 秒)

E2 – HDA 和事件处理器 (13 分 03 秒)

E3 – Python 模块练习 1(6 分 44 秒)

E4 – Python 模块实践 2 – SuperObjectMerger / Multiparm (18 分 26 秒)

3F – Python 与 HDA 中的 ViewerStates (1 小时 6 分 14 秒)

F0 – ViewerStates 是什么 (3 分 08 秒)

F1 – ViewerStates 基础:创建细分预览工具 (10 分 08 秒)

F2 – ViewerStates 鼠标事件:创建一个超级克隆工具,为“复制和变换”操作提供更友好的控制。(17 分 40 秒)

F3 – ViewerStates 原因事件:通过“原因”函数及其将点击或按键分解为不同步骤的能力,改进超级克隆 HDA,使用户体验更加令人满意。(11 分 40 秒)

F4 – ViewerStates 读取键盘:创建一个特殊的变换工具,通过键盘控制物体的位置。(13 分 09 秒)

F5 – ViewerStates 上下文菜单:为我们的右键点击添加一个弹出菜单,控制我们超级克隆 HDA 中克隆的形状。(10 分 29 秒)

3G – Python 和关键帧(15 分钟)

G0 – Houdini 中的关键帧:介绍 Houdini 中的关键帧,并展示如何将预制的动画转换为代码(6 分钟 18 秒)

G1 – 设置、读取和删除关键帧:使用 Python 在参数上创建关键帧,读取它们并删除它们。(8 分钟 41 秒)

3H – Python 特殊技巧(29 分钟 27 秒)

H1 – 保存节点为 Python 代码:通过工作流程将选定的节点转换为完整的详细 Python 代码,并将其存储在首选项文件夹中。这可以作为一种更简单的替代方案来存储 HDA(13 分 48 秒)

H2 – 加载并执行 Python 脚本:在 H1 之后,我们在这里做相反的事情,将保存的节点(作为代码)重新激活(4 分 41 秒)

H3 – 相机与场景查看器:展示如何通过 Python 操作视口显示(当前相机)并调整视图以适应特定对象(10 分 58 秒)

Part04 – Houdini 中的 Python 高手 // (3 小时 8 分钟)

A1 – 万向节旋转脚本设置(44 分钟)

从零开始编写一个万向节旋转脚本,根据模型选择生成完整的万向节旋转 + 光线旋转设置。自动设置相机、灰色/铬球装置、关键帧、domelight 设置、mantra 渲染设置……准备好一键生成万向节旋转渲染!

我们在这里重用了从第一部分、第二部分、第三部分积累的所有知识,将我们的编程技能提升到这个实际练习中。我们目前还没有涵盖 PyQt 的界面部分,我们将在第五部分——Python 导出在 Houdini 中再次探讨这个脚本,并考虑到这一点。

A2 – 转盘简单界面 (14 分 23 秒)

创建一个简单界面来控制我们的转盘设置!在这里设置一个更好的 Python 结构,这将帮助我们一旦深入到 PyQT 的第五部分…

B – MaterialX 转换器(1 小时 5 分钟)

B1 – 基础 UI 指南: 在这里为我们在第 3A 部分开始编写的脚本创建一些基本的 UI 控件,以改善用户体验(脚本作为起点提供),例如如果选择的节点不正确用于转换,艺术家会收到消息,如果选择的是正确节点,将弹出一个 UI,让我们将转换结果发送到选定的 materialLibrary 中。(20 分 30 秒)

B2 – 改进工具: 在这里为我们在第 3A 部分开始编写的脚本创建一些基本的 UI 控件,以改善用户体验(脚本作为起点提供),例如如果选择的节点不正确用于转换,艺术家会收到消息,如果选择的是正确节点,将弹出一个 UI,让我们将转换结果发送到选定的 materialLibrary 中。(42 分 22 秒)

C – 智能保存工具(24 分 52 秒)

C0 – 简介: 展示本部分 C 的目标,创建一个方便的工具来以一致的方式保存我们的.hip 文件。让我们看看我们希望工具在不同情况下如何反应。(2 分 18)

C1 -编程: 让我们编写一个功能强大且易于使用的保存工具!(22 分 34 秒)

D – HDA – 选择器 / 灯光附加 (40 分钟)

4D0 状态选择器 – 简介 (7 分钟): 介绍 Python 视图状态的不同选择器及其实现逻辑。

4D1 状态选择器 – 模板设置 (13 分钟) : 设置我们的 HDA 和代码,以运行基本功能,驱动点光源的创建。

4D2 状态选择器 – 约束灯光(19 分钟): 现在我们已经根据选择检索了一组点,接下来是遍历这些点并约束一些灯光!同时在我们 HDA 中添加一个偏移控制,将我们的灯光从初始几何体推开。

Part05 – Python 高级与 Houdini & QtDesigner // (2 小时 50 分钟)

A1 – QtDesigner 简介(10 分 29 秒)

通过 QtDesigner 的基础知识,为我们的 Houdini 工具创建自定义界面。

B – QpushButton / 创建一个简单的按钮工具箱(25 分 48 秒)

B0 : 练习介绍(1 分 47 秒)

B1 : 在 QtDesigner 中进行 UI 设计(2 分 46 秒)

B2 : 在 Houdini 中连接点击事件(4 分 00 秒)

B3 : 创建节点自定义函数(10 分 21 秒)

B4 : 借助 Lambda 表达式/匿名函数完成工具(6 分 54 秒)

C-节点清理器 / 编写一个具有更复杂界面的工具 (42 分 17 秒)

这个练习 C 旨在逐步增强对 PySide/Qt 的理解,这里设计的工具的目的是通过评估一个表达式来删除或隐藏几何节点,在这个表达式中我们传递一个参数(示例中为”translate X”)并将其与给定值(示例中为 0)进行比较。

为了评估这个比较,我们使用的是 operator 模块。(在示例中”<“表示”更小”),如果这个比较的结果为True…那么删除!(或者隐藏…)

C0 : 练习介绍(2 分 23 秒)

C1 : 在 QtDesigner 中进行 UI 设计(4 分 40 秒)

C2 : Python UI – 开始将基于下拉菜单(QcomboBox)状态更新的函数附加到 UI 上(8 分 15 秒)

C3 : 操作器模块集成 – 解释如何提取 QlineEdit 的文本并计算其附加的表达式(11 分 35 秒)

C4 : 隐藏和删除功能 – 根据计算出的表达式,要么隐藏要么删除选中的节点(10 分 19 秒)

C5 : 重置功能 – 添加重置按钮以提升用户友好性(5 分钟 5 秒)

D – HDRI 导入器 / 使用 PythonPanels 编写工具(1 小时 31 分钟 58 秒)

最终工具“HDRI IMPORTER”的 UI 在 pythonPanel 中加载

最终工具的 UI:HDRI 导入

D0:练习介绍(3 分 12 秒)

D1:Qt Designer 中的 UI 设计(3 分 05 秒)

D2:Python 面板 – 介绍如何在 Houdini 中使用 Python 面板(3 分 57 秒)

D3 : 目录选择 – 如何编写我们的浏览系统(9 分 45 秒)

D4 : QTable 设置 – 设置我们的 QTable 以显示基于目录中 HDRI 数量的适当数量的单元格(项目)(8 分 38 秒)

D5 : QTable 项目 – 在 QTable 的每个单元格/项目中显示 HDRI 的名称(5 分 27 秒)

D6 : QTable SetData – 将 HDRI 的数据(完整路径)附加到单元格并创建我们工具的导入功能(7 分 41 秒)

D7 : HDR 转 JPG – 创建脚本自动将目录中的所有 HDR 图像转换为 JPG (23 分 02 秒)

D8 :QIcon – 将缩略图插入到 QTable 的项中…浏览体验提升 100 倍! (8 分 59 秒)

D9 : 完成 – 调整 UI 和脚本以提供更多显示控制和用户舒适度 (17 分 12 秒)

发表回复

后才能评论

最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。 若排除这种情况,可在对应资源底部留言,或者联系右侧管理员Q

如果您已经成功付款但是网站没有弹出成功提示,请你千万不要着急~~什么事情都不要慌 ~~~联系站长提供付款信息为您处理