

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

# SideFX 胡迪尼
<a name="sidefx-houdini"></a>

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

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

Houdini 由以下组件支持：
+ **提交者**：集成的渲染输出节点 (ROP)，用于直接从 Houdini 提交作业，具有自动场景和资产检测功能。
+ **Conda 软件包**：用于在服务管理的舰队上自动安装的 Deadline Cloud。
+ **Adaptor**：工作主机上的一种程序，它使应用程序在任务之间保持加载状态，以加快渲染和报告渲染进度。
+ **Cross-platform 兼容性**：提交者支持 Windows、macOS 和 Linux，工作人员支持自动路径映射的 Windows 和 Linux。

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

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


| 主要版本 | 提交者支持 | 康达支持 | 渲染引擎 | 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 许可可用 | 
| 22.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.5 | 包括 Mantra 和 Karma 渲染器 | 
| Linux | 胡迪尼 | 20.0 | 包括 Mantra 和 Karma 渲染器 | 
| Linux | 胡迪尼 | 20.5 | 包括 Mantra 和 Karma 渲染器 | 
| Linux | 胡迪尼 | 21.0 | 包括 Mantra 和 Karma 渲染器 | 
| Linux | 胡迪尼 | 22.0 | 包括 Mantra 和 Karma 渲染器 | 
| Linux | houdini-openjd |  | 包括 Houdini 适配器 | 

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

要将 Houdini 与 Deadline Cloud 一起使用：

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. 使用截止日期云监视器监控任务并下载输出。

## 安装
<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. 启动胡迪尼。

截止日期云提交器可自动作为渲染输出 (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. 打开胡迪尼。

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

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

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

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

Houdini 提交者的截止日期云是一个接受渲染输出 (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>

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

有关其他提交者选项的信息，请参阅 Deadl [ ine 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>

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

默认情况下，如果节点是**启用了**初始化仿真操作的几何节点，则它会按顺序呈现。否则，节点将并行渲染。

#### 添加渲染策略参数
<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 (接受)**。

现在，在节点的参数编辑器中，你可以使用**截止日期云渲染策略**菜单来指定提交者的行为。

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

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

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

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

如果不使用 Houdini 引擎许可证，您就无法使用提交者节点创建单个作业，该作业将从 Houdini 导出一个 USD 场景，然后调用 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 提交者之外使用 USD 导出渲染工作流程。在使用示例任务包之前，您需要自己将美元场景与 Houdini 分开导出。

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

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

在使用 Husk 示例任务包之前，您需要：
+ 场景导出为 USD 格式。
  + 有关在 Houdini 中写出 USD 文件的信息，请参阅 [ SidefX USD 文档](https://www.sidefx.com/docs/houdini/solaris/output.html)。
+ 安装并配置了 Deadline Cloud CLI。
  + CLI 可以从提交者安装程序中安装，也可以直接按照[截止日期云入门指南安装。](https://github.com/aws-deadline/deadline-cloud/blob/mainline/docs/index.md#getting-started)
+ [截止日期云样本存储库的 git 克隆。](https://github.com/aws-deadline/deadline-cloud-samples)
+ Hydra 渲染委托可在工作节点上使用。
  + Karma 包含在 Houdini 中。如果您想使用其他 Hydra 渲染代理，则必须将其提供给工作人员。参见截止日期云样本存储库，例如 conda 软件包[V-Ray](https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline/conda_recipes/houdini-vray-7)和 [ 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 界面。](https://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的截止日期云提交器时可能遇到的常见错误和问题，以及如何解决这些错误和问题。

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

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

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

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

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

Houdini 提交者目前不直接支持使用 Husk 的导出工作流程。通过提交者创建的作业始终运行适配器，该适配器在渲染`hython`期间使用 Houdini 引擎许可证。如果您只想使用 Husk 和 Hydra 渲染委托来渲染导出的 USD 场景，则可以使用示例[任务包。](https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline/job_bundles/houdini_husk_usd_render)这种方法对于仅使用渲染许可证（例如 Karma）渲染 USD 场景很有用，整个渲染过程无需获得 Houdini 引擎许可证。有关在 Deadline Cloud 上使用 Husk 渲染 USD 场景的更多信息，请参阅[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 如何处理工作站版本中的场景。
+ 您可以构建自定义 conda 配方和频道，以便在工作器上安装所需的版本。使用下面链接的 conda 配方获取支持的版本作为起点，并将所需版本打包到自定义 conda 频道中。有关创建自定义 conda 频道的更多信息，请参阅[创建自定义 conda 频道。](https://docs.aws.amazon.com/deadline-cloud/latest/developerguide/configure-jobs-s3-channel.html)

## 胡迪尼渲染引擎
<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)