次のワークフローで、シーンの 2 番目のテクスチャ バージョンに読み込むために、Alembic キャッシュ ファイルに Bullet ソルバ処理を書き出して時間を節約する方法を示します。Maya の Alembic キャッシュを使用すると、制作パイプラインのさまざまな段階間で Bullet シミュレーションを転送することができます。Alembic キャッシュ ファイルの内容は Maya ジオメトリとして評価され、ポリゴン、NURBS、サブディビジョン サーフェスなどの編集ツールを使用して変更できます。
Alembic のキャッシュのしくみに関する詳細は、「Alembic キャッシュ 」を参照してください。
このような作業の仕方は、照明やカメラの専門家など他のチームが後工程を担当するシーンの場合に最適です。たとえば、シミュレーションの軽量バージョンを用意して専門家に渡し、それに専門家がそれぞれの要素を加えてから最終レンダリングを行うような場合です。
このワークフローは 2 つの部分に分けることができます。
シミュレーションをキャッシュ ファイルに書き出す
キャッシュ ファイルを読み込む
注:
シーンにネームスペースがある場合は、レンダリング シーンにマージする前に除去する必要があります。書き出す前にネームスペースを除去するには、ウィンドウ > 一般 >
ネーム スペース エディタ
(Window > General > Namespace Editor)を使用します。
VP2.0 の画面の外でプレイブラストを生成することができます。画面の外では、コマンド ラインから mayabatch を使用してプレイブラストを生成できます。
マテリアルが黒色で表示される場合は、シーンを巻き戻してマテリアルを更新します。
リジッド セットを作成する場合は、リジッド セットの作成(Create Rigid Set) オプションで出力メッシュを使用して作成する(シミュレーション結果を視覚化する)か、ビューポート 2.0 でリジッド セットをレンダーすること(解析済みの状態のノードの可視性(Visibility)オプション)ができます。両方を行う必要ありません。古いバージョンのビューポートを使用している場合は、リジッド セットの作成(Create Rigid Set) オプションの出力メッシュ(Output Mesh)設定を使用しますが、ビューポート 2.0 では使用する必要はありません。
Bullet のリジッド セットを作成する前に、スケーリングをフリーズします。スケール変換値は、得られる解析されたオブジェクトに正しく転送されません。
書き出すリジッド セットを、オブジェクトとオブジェクトにアタッチされている個々のリジッド ボディにするか、シーン内のすべてのものにするか選択することができます。この例では、リジッド セット(山の頂上)を書き出すため、選択項目を Alembic に書き出し(Export selection to Alembic) を選択します。
プレーヤ コントロールの CC ボタンをクリックして、次のビデオのキャプションを有効または無効にします。
動画を視聴するにはJavaScript を有効にしてください。
シミュレーションをキャッシュ ファイルに書き出す
ワークフローのこのパートでは、ビューポート 2.0 を使用して設定された岩肌のワイヤフレーム バージョンのシーンで作業を開始します。山麓用のメッシュと、山頂用の亀裂の入ったリジッド セットが含まれています。これからリジッド ボディ シミュレーションの階層の Alembic キャッシュ ファイルを作成します。このファイルは、照明とカメラを追加する後工程チームに送ることができます。Alembic のワークフローを使用すると、実際のオブジェクトのシミュレートやドライブを行わないことで、時間を節約することができます。
ソルバ処理を Alembic キャッシュ ファイルに出力するには:
注: 現在、Bullet Alembic の書き出しでは、ジオメトリにスケーリングの適用されているワークフローをサポートしていません。Bullet ソルバをオブジェクトにアタッチする前に 、オブジェクトからスケーリングやローカル ピボットを削除します。
書き出し用にシーン アップを設定するには、解析済みの状態のノードの可視性(Visibility)オプションをオフにして、シーンをワイヤフレーム(Wireframe) モードに切り替えます。解析済みの Bullet シェイプ ノードのバウンディング ボックス(Bounding Box) をオンにすると、非常に基本的なソルバを表示することができます。
BulletSolvedShape を選択します。このシーンでは、シミュレーション時にリジッド ボディによって占有されるボリュームを表示するために、
バウンディング ボックス(Bounding Box)
をアクティブにしました。
シミュレーションを表示するには、再生(Play) を押します。必要に応じて物理特性の設定を微調整します。シミュレーションの準備ができたら、マテリアルとテクスチャのあるオリジナルのジオメトリにアニメーションを転送する必要があります。
Bullet > 選択項目を書き出し(Export Selection) を選択します。Bullet リジッド オブジェクトのみをフィルタリングするシミュレーションを書き出し(Export Simulation) と、すべて書き出し(Export All) という 2 つの選択肢があります。このワークフローでは、選択を書き出し(Export Selected) を選択して、リジッド セットとすべてのリジッド シェイプを含めます。
選択項目を書き出し(Export Selection) ウィンドウが開きます。開始フレームと終了フレームを設定するタイム スライダを使用するか、他の時間範囲を設定するタイム スライダを使用するかを選択できます。
ネームスペースのストリップ(Strip Namespace) オプションをオンにするには、下にスクロールします。シーンにネームスペースがある場合は、レンダリング シーンにマージするときに除去する必要があります。
ファイル フォーマットとしてHDF5 を選択します。 注: Ogawa ファイル フォーマットでは、Bullet はサポートされていません。
書き出すファイル名を入力し、選択を書き出し(Export Selected) をクリックします。書き出されるとおりに、シミュレーションが実行されます。
キャッシュ ファイルを読み込む
ワークフローのこの部分では、書き出された Alembic キャッシュ ファイルを照明とカメラのチームが受け取り、それを照明とカメラのある独自バージョンのシーンにマージします。次のチームのシーンには、ソルバを作成したチームと同じ 階層が含まれ、アニメーションは入っていません。
レンダリング ファイルに Alembic キャッシュを読み込むには:
同じ階層で静止シーンをロードしますが、今回はテクスチャ、マテリアル、ライト、カメラもロードします。
注: レンダリング シーンの階層構造にネームスペースはありません。Alembic では既存のネームスペースへの abc ファイルの読み込みをサポートしないため、ファイルにネームスペースがあり、読み込んだキャッシュ ファイルにバインドする場合は、事前にネームスペースを除去する必要があります。
パイプライン キャッシュ > Alembic キャッシュ > Alembic から読み込み (Pipeline Cache > Alembic Cache > Import Alembic) > を選択します。
Alembic の読み込み(Alembic Import) ウィンドウで、現在の選択項目で読み込み(Import under current selection) およびマージ(Merge) を選択します。これで、.abc ファイル内のアニメーションが取り込まれ、新しい階層内の一致するオブジェクトに接続されます。
読み込み(Import) をクリックします。レンダリングされたシーンでソルバ処理を表示するには、再生(Play) をクリックします。
注: 自分のシーンができたら、それをレンダリング用に提出したりプレイブラストを生成できます。