Amazon Web Services ブログ
Thinkbox DeadlineのAWS ポータルを使ったレンダリング
はじめに
Dealdine 10の新しいAWS ポータル機能は、Autodesk MayaやAutodesk Arnoldを含む数多くのコンテンツ作成アプリケーションをサポートします。この機能により、Amazon EC2 Spot Instancesの分散コンピューティングパワーを使用して、Maya/Arnoldワークフローを最適化することができます。本記事では、AWS上でMaya/Arnoldを使ったレンダリングに必要な手順を説明します。
この手順は、AWS ポータルがサポートする他の製品の場合と非常によく似ているため、他のコンテンツ作成アプリケーションを使用する場合にも、本記事の内容のほとんどが有効です。
要件
本記事は、下記条件を前提とします:
- Dealdine 10でAWS ポータル機能の設定を終えている。
- 使用するAWSインスタンスのタイプを決めている(AWSインスタンスタイプの選択に関するブログのPart1およびPart2を参照)。
- Maya、Arnoldに加えて、Thinkbox MarketplaceからDeadline Render Timeを購入し、Deadlineの従量制料金ライセンス(UBL)とサードパーティ製品の従量制料金ライセンス(3PL)(License Forwarderを含む)を使用するようDeadlineを設定している。
- Maya統合サブミッターをインストールしている。
前提条件の詳細は、各項目のリンクからご覧ください。
従量制料金ライセンス(UBL)のジョブLimitsを設定する
AWA Portalを使ってMaya/Arnoldジョブのレンダリングを開始する前に、従量制料金ライセンス(UBL)に対処するLimitsを作成する必要があります。これは、Thinkbox マーケットプレイスで購入したレンダリング時間をAWS ポータルのレンダリングノードで使用可能にする重要なステップです。
Deadline MonitorのLimitsパネルを使って、ArnoldとMayaそれぞれにLimitを作成し、各Limitに対し適切なLicense Applicationを選択します。この例では、各サードパーティ製品に対し、Limit設定で次の設定を行います:
- Name:それぞれ「arnold」および「maya」と設定する。
- Limit:従量制料金ライセンス(UBL)のみの使用につき、「0」に設定する。
- Limit Overage:全てのAWSレンダーノードが従量制料金ライセンス(UBL)を使用できるように、「Unlimited Overage」オプションを有効にする。
- Use Based Third Party Licensing:このオプションを有効にして、License Applicationに「arnold」および「maya」をそれぞれ設定する。これにより、それぞれのLimitは、適切なサードパーティ製品のレンダリング時間を使用することができる。
上記以外の設定については、デフォルト設定を使用します。
レンダーアセットをクラウド同期する
AWS ポータルのレンダーノードがMaya/Arnoldのジョブ(スクリーンファイル、テクスチャなど)のレンダリングに必要なレンダーアセットへ適切にアクセスできるようにするために、AWS ポータルを設定してアセットを同期する必要があります。この件については、上記の前提条件に記されたAWS ポータル Setupの文書内で説明しています。
この例では、オンプレミスのAssetディレクトリとしてC:\Users\brysdingを使用し、Maya/Arnoldプロジェクトをこのフォルダに置きます。また、レンダーノードでレンダリングが完了すると同期されるように、レンダリングしたイメージもこのフォルダに送ります。これについては、後で詳しく述べます。ここでは、AWS ポータル Settingsでこのディレクトリを設定しました。
ジョブを投入すると、必要なアセットは、全てこのディレクトリからAsset Transfer Systemを使ってAmazon S3へ転送されて事前キャッシュ状態になります。このプロセスが終了すると、AWS ポータルレンダーノードは、アセットへアクセスすることができます。加えて、この場所にレンダリングされるものは全て、このディレクトリに自動的に同期されます。
Infrastructureおよびレンダーノードを作成する
Monitorで、AWS ポータル Panelの+キーを使ってInfrastructureを作成します。
Infrastructureは、数秒でパネルに表示されます。InfrastructureはAWSレンダーノードをレンダーファームへ接続するために最初に必要なAWSリソースの全てを作成するため、Infrastructureの作成が完了するまで5分ほどかかる場合があります。InfrastructureがCREATE COMPLETE状態になったら、Infrastructureの上で右クリックしてレンダーノードを開始することができます。
Spot Fleet Configurationウィンドウでは、レンダーノードの限度額と使用するAWSインスタンスのタイプを設定することができます。Maya 2017 & ArnoldのデフォルトAMIが選択されていることを確認したら、Launchボタンを押します。Spot Fleetsパネルに、レンダーノードのSpot Fleet Requestが表示されます。
Deadlineにレンダージョブを投入する
Limitを設定し、AWS ポータル Infrastructureとレンダーノードを起動したら、Maya/ArnoldジョブをDeadlineへ投入することができます。Mayaの統合サブミッターをインストールしていると、MayaにはDeadlineのシェルフタブが表示されます。緑色のアイコンを選択して、Submit to Deadlineウィンドウを表示します。
Submit to Deadlineウィンドウで次の設定を行います:
- Limit Groups: Deadlineで作成したLimitグループを、このウィンドウで選択できるようになりました。Limit Groupsフィールド横の…ボタンで「arnold」および「maya」Limitsを選択します。
- Project Path:前述のように、C:\Users\brysdingにAssetsフォルダを作成して、プロジェクトをこのフォルダに格納しました。AWS ポータル Asset Serviceは、このディレクトリで指定したアセットファイルをAWSで稼働するレンダーノードへ自動転送するため、このプロジェクトパスはAWS ポータル Settingsで設定したアセットフォルダ内になければなりません。
- Output Path:AWSレンダーノードがレンダリングを完了すると、レンダリングされたファイルはこの出力パスへ自動的に転送されます。プロジェクトパスと同様、このディレクトリはアセットフォルダ内になければなりません。
- Precache Assets for AWS:この設定により、レンダリングが開始される前に、全てのアセットを確実にAWSへ転送することができます。
ジョブを設定したら、Submitボタンを押します。
クラウドのコンピューティングパワー
Deadline投入されたジョブは、MonitorのJobs Panelに表示されます。選択すると、そのジョブに関連するタスクがTasksパネルに表示されます。それぞれのタスクは、AWSレンダーノードがレンダリングに取得可能な作業単位を示します。(通常は1フレームごとに1タスク)
ジョブのアセットはAWSで事前キャッシュされているため、レンダーノードは全アセットがクラウドへ転送されるのを待って、レンダリングジョブを開始します。ジョブが完了すると、AWS ポータル Asset Serviceは、Maya Job Submissionウィンドウで事前に指定した出力パスへレンダリングしたファイルを自動的に転送します。
最後に
Deadline 10では、新しいAWS ポータルにより、インフラストラクチャの起動およびクラウドでのレンダリング工程が簡素化されます。Maya/Arnoldの例は、数々の可能性のほんの一部です。この例は、他のコンテンツ作成アプリケーションを使用してクラウドでレンダリングする場合にも使用できます。Deadlineを使ってクラウドパワーを活用し、コンテンツ作成のニーズに対応しましょう。
DeadlineでのMayaとArnoldの使用に関する詳細は、Maya Pluginの文書をご覧ください。
原文はこちらをご覧ください。
投稿者:コリン・カップ、シニアプロダクトマーケティングマネージャー、EC2