🎄

DeadlineのRezサポートについて調査

2022/12/26に公開

DeadlineのRez対応

Deadlineは10.2.0.10リリースでRezへのサポートを発表したため、調べてみます。

課題

Rezによる環境構築をベースとするパイプラインでは、作業者はRez環境で作業を行い、レンダーファームを使用する場合はRez環境内からジョブを送信します。
ジョブがレンダーマシン中で実行される際には、同じRez環境を構成して、環境変数の設定やプラグインの読み込みなどが行われた状態でジョブが行されるようになってほしいです。

これまでの方法

今までは、使用者は各々の方法でDeadlineにRezを統合する実装を施す必要がありました。
実装の方法はいくつかありますが、どれもDeadlineのスクリプトAPIを使用してカスタムコードを書く必要がありました。

新発表されたRez統合機能

以下が新発表されたRez統合機能の概要図になります。

前提条件

  • DeadlineのRezプラグインを使用する前に、ワーカーマシンにRezがインストールされていて、かつRezがシステムのPATHにあることが想定されています。
  • Rezプラグインを有効化するにはDeadline Monitorでスーパーユーザーモードに入り、メニューからTools -> Configure Eventsを選択します。そこから、左側のリストからRezのエントリーを選択してstateタブからGlobal Enabledを選択します。

ジョブサブミット時

Rezの統合機能は主に、Deadlineのイベントプラグインとして実装されています。
イベントプラグインは、特定のイベントが起こるタイミングでカスタムタスクを実行するように設定できるプラグイン機能です。Rezプラグインでは、ジョブをサブミットする際に現在のRez環境に関する情報を取得しジョブ変数に設定します。

ジョブ実行時

ワーカーマシンがジョブを実行する際に、Rezイベントプラグインが設定したジョブ変数が存在する場合は、rezコマンドを使用してRez環境を構築してからジョブを実行するようにします。

Allzpark(bleeding-rez)への対応

Allzparkはbleeding-rezを基本フレームワークとしたGUIのソフトウェアランチャーツールです。bleeding-rezはrezのフォークで、内部的な挙動はほとんど同じですが細かい仕様の違いがあります。
AllzparkをDeadlineに統合させるには、新発表されたRez統合機能に関するコードを一部修正し、bleeding-rezでも動作するようにしてあげる必要があります。

Discussion