

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# SideFX Houdini
<a name="sidefx-houdini"></a>

SideFX Houdini 是一款 3D 程序化软件，用于电影、电视、广告和视频游戏管道中的建模、装配、动画、视觉特效、视觉开发、照明和渲染。Houdini 完全受到 Deadline Cloud 的支持，它具有全面的集成，包括提交者、conda 包和用于提高渲染性能的适配器。本指南提供了分步说明，说明如何使用带有 Houdini 的 De AWS adline Cloud，通过在多台计算机上分配渲染任务来更快地渲染项目。

## Support 概述
<a name="houdini-support-overview"></a>

Houdini 由以下组件支持：
+ **提交者**：集成渲染输出节点 (ROP)，用于从 Houdini 直接提交作业，具有自动场景和资产检测功能。
+ **Conda 软件包**：Deadline Cloud，用于在服务管理的车队上自动安装。
+ **Adaptor**：中间件，可通过粘性会话和额外监控实现高效渲染。
+ **Cross-platform 兼容性**：提交者支持 Windows、macOS 和 Linux，worker 支持 Windows 和 Linux，具有自动路径映射功能。

## Houdini 版本兼容性
<a name="houdini-version-compatibility"></a>

下表显示了 Houdini 版本的当前支持级别：


| 主要版本 | 提交者 Support | Conda Support | 渲染引擎 | Usage-Based 许可 | 
| --- | --- | --- | --- | --- | 
| 19.0 | Windows、macOS、Linux | Linux | Mantra、Karma CPU、Karma XPU | Usage-based 提供许可 | 
| 19.5 | Windows、macOS、Linux | Linux | Mantra、Karma CPU、Karma XPU | Usage-based 提供许可 | 
| 20.0 | Windows、macOS、Linux | Linux | Mantra、Karma CPU、Karma XPU | Usage-based 提供许可 | 
| 20.5 | Windows、macOS、Linux | Linux | Mantra、Karma CPU、Karma XPU | Usage-based 提供许可 | 
| 21.0 | Windows、macOS、Linux | Linux | Mantra、Karma CPU、Karma XPU | Usage-based 提供许可 | 

## 截止日期云康达频道
<a name="houdini-conda-channel"></a>

下表列出了所有适用于 Houdini 的 conda 套餐，该套餐可供截止日期云 conda Service-managed 频道中的舰队使用：


| OS | 程序包 | 版本 | 注意 | 
| --- | --- | --- | --- | 
| Linux | 胡迪尼 | 19.0 | 包括 Mantra 和 Karma 渲染器 | 
| Linux | 胡迪尼 | 19.5 | 包括 Mantra 和 Karma 渲染器 | 
| Linux | 胡迪尼 | 20.0 | 包括 Mantra 和 Karma 渲染器 | 
| Linux | 胡迪尼 | 20.5 | 包括 Mantra 和 Karma 渲染器 | 
| Linux | 胡迪尼 | 21.0 | 包括 Mantra 和 Karma 渲染器 | 
| Linux | houdini-openjd |  | 包括 Houdini 适配器 | 

## 开始使用
<a name="houdini-getting-started"></a>

要在 Deadline Cloud 上使用 Houdini

1. 创建服务托管队列并将其与队列关联。您的队列必须使用支持 deadline-cloud conda 频道的队列环境进行设置。有关更多信息，请参阅[创建队列环境](https://docs.aws.amazon.com/deadline-cloud/latest/userguide/create-queue-environment.html)。

1. 使用 Deadline Cloud Submitter 和监视器安装程序在艺术家工作站上安装 Deadline Cloud 监视器和 Houdini 提交器。有关更多信息，请参阅 [设置您的工作站](submitter.md)。

1. 使用集成的提交者直接从 Houdini 向队列提交作业。

1. 使用 Deadline Cloud 监视器监控作业并下载输出。

## 安装
<a name="houdini-installation"></a>

要安装 Houdini 提交者的 Deadline Cloud，你需要：
+ Windows、macOS (arm64) 或 Linux 工作站。
+ Houdini 的支持版本。

### 安装提交者
<a name="houdini-installing-submitter"></a>

**安装提交器**

1. 下载 De [adline Cloud 提交者安装程序](https://docs.aws.amazon.com/deadline-cloud/latest/userguide/submitter.html)。

1. 运行安装程序。
   + 出现提示时，选择要与提交者一起使用的 Houdini 的每个版本。

1. 启动 Houdini。

Deadline Cloud 提交器自动可用作渲染输出 (ROP) 节点。

**注意**  
提交者安装程序可用于 Windows、macOS 和 Linux。要进行手动安装，请参阅[ GitHub 存储库中的手动安装说明](https://github.com/aws-deadline/deadline-cloud-for-houdini/blob/mainline/README.md)。

### 验证提交者安装是否正确
<a name="houdini-verify-installation"></a>

1. 打开 Houdini。

1. 在**网络编辑器**中，选择`/out`网络。

1. 打开快捷菜单（右键单击或按 **Tab** 键）并搜索`deadline`。

1. 选择 De **adline Cloud** 创建新节点。

## 使用 Houdini 提交者
<a name="houdini-using-submitter"></a>

Houdini 提交者的 Deadline Cloud 是一个接受渲染输出 (ROP) 节点作为输入的节点。您可以通过此节点配置和提交作业。当您提交作业时，它会包括图表中每个 ROP 的步骤。

### 提交来自 Houdini 的工作
<a name="houdini-submit-job"></a>

要使用 Houdini 提交者的 Deadline Cloud，你需要：
+ 提交给 Deadline Cloud 的个人资料。
+ 截止日期云场和要提交到的队列。

**从 Houdini 向 Deadline Cloud 提交工作**

1. 在网络编辑器中，选择 **/out** 网络。

1. 打开快捷菜单（右键单击或按 **Tab** 键），然后搜索`deadline`以创建 Deadline Cloud 节点。

1. 将 ROP 的输出连接到 Deadline Cloud 节点的输入。
   + 当您将节点连接到 Deadline Cloud 节点时，提交的作业会在其图表中呈现输入 ROP 和所有 ROP。

1. 选择 “截止日期云” 节点。

1. 使用节点编辑器中的选项来配置您的作业。有关每个选项[Houdini-specific 设置](#houdini-specific-settings)的作用信息，请参阅。

1. （可选）要将作业的关联文件导出到作业历史记录目录而不提交该文件，请选择**导出捆绑包**。

1. 选择 “**提交**” 将您的作业发送到 Deadline Cloud。

### Houdini-specific 设置
<a name="houdini-specific-settings"></a>

Deadline Cloud 节点的**Job-specific 设置**选项卡提供了特定于 Houdini 作业的选项。
+ 将@@ *依赖关系作为单独步骤提交*-将 ROP 图表拆分为不同的渲染步骤，便于监控和调试。启用后，每个连接的渲染节点将成为作业中自己的步骤。
+ *包括 Adaptor Wheels*-启用可更改渲染行为的适配器（称为*轮子*）的自定义版本。启用后，您可以指定包含适配器轮子的目录。你可以通过[在 GitHub 存储库中运行 build\_wheels.sh 脚本](https://github.com/aws-deadline/deadline-cloud-for-houdini/blob/mainline/scripts/build_wheels.sh)来构建适配器轮子。
+ *Adaptor Wh* eels-指定包含自定义适配器轮子的目录路径（仅在启用 “**包括适配器轮子**” 时可用）。
+ *自动解锁 ROP*-在提交过程中自动解锁依赖项 ROP。锁定的 ROP 使用现有输出并且不会重新渲染，这可能会阻止依赖项重新渲染。
+ *自动解析场景 (.hip) 引用*-在作业提交过程中，根据 ROP 图自动发现并附加作业的输入和输出文件名和目录。
+ *自动保存场景 (.hip) 文件*-提交作业`$HIP`时自动将场景 (`.hip`) 文件保存到。

有关其他提交者选项的信息，请参阅 De [adline Cloud 使用提交者指南](https://docs.aws.amazon.com/deadline-cloud/latest/userguide/jobs-using-submitter.html)。

### 覆盖 Deadline Cloud 作业的渲染策略
<a name="houdini-render-strategy"></a>

对于许多类型的节点，可以按任意顺序独立渲染帧。对于诸如模拟之类的其他帧来说，每个帧都取决于前一帧的结果，并且必须按顺序渲染。提交者根据每个节点的类型为其选择渲染策略，但也允许您覆盖默认策略。

#### 并行渲染与顺序渲染
<a name="houdini-parallel-vs-sequential"></a>

对于并行渲染，每个帧都有自己的任务，任务分布在可用的工作器上。对于顺序渲染，节点的所有帧都是在单个工作程序上运行的单个任务中渲染的。

默认情况下，如果节点是启用了 “**初始化模拟 OP**” 的几何节点，则它将按顺序渲染。否则，节点将并行渲染。

#### 添加渲染策略参数
<a name="houdini-override-strategy"></a>

您可以通过在渲染节点（例如 Mantra 或 Karma）上创建一个值为或`SEQUENTIAL`的`deadline_cloud_render_strategy`参数来覆盖渲染策略。`PARALLEL`

**通过添加参数来覆盖渲染策略**

1. 打开 **/out** 网络中某个节点的上下文菜单（右键单击）。

1. 选择**参数和通道**，**编辑参数接口**。

1. 在 “**创建参数**” 下的 “**按类型**” 下，选择 “**排序菜单”**。

1. 通过选择 “**创建**参数” 列旁边的右箭头，向现有**参数**添加有序菜单。

1. 在 “**现有参数” 下选择新参数**，然后在 “**参数描述**” 下编辑其配置：
   + 在 “**参数**” 选项卡中：
     + 对于**名称**，请输入 `deadline_cloud_render_strategy`。
     + 在 “**标签”** 中，输入`Deadline Cloud Render Strategy`。
   + 在 **“菜单”** 选项卡中，添加以下菜单项：    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_cn/deadline-cloud/latest/userguide/sidefx-houdini.html)

1. 选择 **Accept (接受)**。

现在，在节点的参数编辑器中，您可以使用 De **adline Cloud 渲染策略**菜单来指定提交者的行为。

### 外壳渲染和 USD 工作流程
<a name="houdini-husk-rendering"></a>

以下各节介绍了 Houdini 提交器中美元导出工作流程的当前局限性，以及使用 Husk 渲染导出的 USD 场景的替代示例任务包。

#### 美元导出工作流程支持
<a name="houdini-usd-export-support"></a>

**Houdini 的 Deadline Cloud 提交者目前没有对美元导出工作流程的内置支持。**

如果不消耗 Houdini Engine 许可证，就无法使用提交者节点创建单个作业，该作业将从 Houdini 导出美元场景然后调用 Husk 独立版进行渲染。

#### 备选方案：示例 Husk 作业捆绑包
<a name="houdini-husk-bundle"></a>

Deadline Cloud 提供了一个[示例 Husk 任务捆绑包，该捆绑包](https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline/job_bundles/houdini_husk_usd_render)支持在 Houdini 提交者之外的美元导出渲染工作流程。在使用示例任务包之前，您需要自己与 Houdini 分开导出美元场景。

Husk 示例任务捆绑包：
+ 允许使用 Husk 和选定的 Hydra 渲染委托直接提交美元场景进行渲染，而无需启动 Houdini，也无需在渲染期间消耗 Houdini 引擎许可证。
+ 自动内省 USD 文件以查找其中的任何文件依赖关系，以便使用作业附件进行附加。
+ 提供一个简单的 GUI，用于配置常用 Husk 设置和提交。

##### 先决条件
<a name="houdini-husk-prerequisites"></a>

在使用 Husk 示例任务包之前，你需要：
+ 导出为 USD 格式的场景。
  + 有关在 Houdini 中写出[美元文件的信息，请参阅 SideFX](https://www.sidefx.com/docs/houdini/solaris/output.html) USD 文档。
+ 安装并配置了 Deadline Cloud CLI。
  + CLI 可以从提交者安装程序中安装，也可以直接按照 d [eadline-cloud 入门指南](https://github.com/aws-deadline/deadline-cloud/blob/mainline/docs/index.md#getting-started)进行安装。
+ [截止日期云](https://github.com/aws-deadline/deadline-cloud-samples)样本存储库的 git 克隆。
+ Hydra 渲染委托可在工作节点上使用。
  + Houdini 中包含了 Karma。如果要使用其他 Hydra 渲染委托，则必须在工作器上提供它们。参见 deadline-cloud-sample [V-Ray](https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline/conda_recipes/houdini-vray-7)s 存储库，例如 conda 包，将 [Redshift](https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline/conda_recipes/houdini-redshift-2026) 作为在工作节点上可用的一个选项。

##### 使用 Husk 示例任务捆绑包
<a name="houdini-husk-use"></a>

**使用 Husk 示例任务捆绑包**

1. 使用 Deadline Cloud CLI 提交捆绑包：

   ```
   deadline bundle gui-submit ./deadline-cloud-samples/job_bundles/houdini_husk_usd_render
   ```

1. 配置您的 USD 文件、输出设置、帧范围以及要提交的任何其他适用设置。

![Husk 示例作业捆绑包 GUI 界面。](http://docs.aws.amazon.com/zh_cn/deadline-cloud/latest/userguide/images/houdini-husk-example-interface.png)


##### 其他资源
<a name="houdini-husk-resources"></a>
+ [截止日期云样本存储库](https://github.com/aws-deadline/deadline-cloud-samples)。
+ [SideFX Husk 文档](https://www.sidefx.com/docs/houdini/ref/utils/husk.html)。

## 问题排查
<a name="houdini-troubleshooting"></a>

以下各节描述了在使用适用于 Houdini 的 Deadline Cloud 提交器时可能遇到的常见错误和问题，以及如何解决这些错误和问题。

### 为什么在渲染时出现 “资源定义不完整” 错误？
<a name="houdini-troubleshooting-incomplete-asset"></a>

该提交者在您的服务器场中运行的作业可能会在日志中产生如下所示的错误：

```
The following node types are using incomplete asset definitions:
  Driver/deadline_cloud
```

可以放心地忽略这些错误。Deadline Cloud 提交者作为节点存在于你的 Houdini 场景中。当服务器场中的工作人员加载场景时，场景中仍包含 Deadline Cloud 节点，但该工作人员可能没有安装提交者。由于工作器没有运行 Deadline Cloud 节点所需的文件，因此它会记录 “资产定义不完整” 错误。Deadline Cloud 节点本身不会作为作业的一部分呈现，因此可以忽略这些错误。

### Deadline Cloud 提交者是否支持使用 Husk 的美元导出渲染工作流程？
<a name="houdini-troubleshooting-husk-export"></a>

Houdini 提交者目前不直接支持使用 Husk 的导出工作流程。通过提交者创建的作业始终运行适配器，该适配器使用Houdini引擎许可证`hython`，因此在渲染期间使用Houdini引擎许可证。如果您只想使用 Husk 和 Hydra 渲染委托来渲染导出的 USD 场景，则可以使用示例[任务](https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline/job_bundles/houdini_husk_usd_render)包。这种方法对于仅使用渲染许可证（例如 Karma）渲染美元场景非常有用，而无需Houdini引擎许可证即可完成整个渲染。有关在 Deadline Cloud 上使用 Husk 渲染美元场景的更多信息，请参阅[外壳渲染和 USD 工作流程](#houdini-husk-rendering)。

## 高级配置
<a name="houdini-advanced-configurations"></a>

### 使用不支持的版本
<a name="houdini-unsupported-versions"></a>

Deadline Cloud 仅支持和测试上表中的工作站和工作器软件版本。使用提交器时，工作人员将尝试安装与工作站上使用的版本相同的版本。如果 Houdini 的工作站版本未出现在上面的版本表中，则可能会失败。

如果您需要不支持的 Houdini 版本，则有以下选项：
+ 从 Houdini 提交作业时，您可以覆盖 CondaPackages 队列参数以指定要在工作器上使用的支持的版本（例如）。`houdini=21.0, houdini-openjd=*`这可能会起作用，也可能不起作用，具体取决于您的场景使用的功能以及 Houdini 如何处理工作站版本中的场景。
+ 您可以为要安装在 worker 上的所需版本构建自定义 conda 配方和频道。使用下面链接的支持版本的 conda 配方作为起点，然后将所需的版本打包到自定义 conda 频道中。有关创建自定义 conda 频道的更多信息，请参阅[创建自定义 conda](https://docs.aws.amazon.com/deadline-cloud/latest/developerguide/configure-jobs-s3-channel.html) 频道。

## Houdini 渲染引擎
<a name="houdini-render-engines"></a>

Houdini 支持多个与 Deadline Cloud 兼容的渲染引擎：


| 渲染引擎 | 说明 | GPU 支持 | 
| --- | --- | --- | 
| Karma CPU | 现代 USD-based 渲染器（CPU 变体） | CPU-based | 
| Karma XPU | 现代 USD-based 渲染器（GPU 变体） | GPU 加速 | 
| Mantra | 传统的 Houdini 渲染器 | CPU-based | 
| 阿诺德 | Third-party 蒙特卡洛射线示踪器 | GPU/CPU 混合动力 | 
| V-Ray | Third-party 逼真的渲染器 | GPU/CPU 混合动力 | 
| Redshift | GPU-accelerated 渲染器 | GPU 优化 | 

这些渲染引擎由 Houdini 集成提交者自动检测和配置，并自动获得使用许可。提交者维护连接的渲染输出节点 (ROP) 之间的依赖树。

## 开源资源
<a name="houdini-open-source"></a>

提交者和适配器是开源的，可在上使用。 GitHubHoudini Conda 食谱 GitHub 适用于支持的版本。
+ [Houdini 提交者源代码开启 GitHub](https://github.com/aws-deadline/deadline-cloud-for-houdini)
+ [上的示例场景和工作流程 GitHub](https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline/job_bundles/houdini_husk_usd_render)
+ [支持版本的 Conda 配方 GitHub](https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline/conda_recipes/houdini-21.0)