Bifrost-USD で使用されるバリアントを使用する

バリアントは、群集のポピュレートに使用されるキャラクタセットなど、プリミティブのいくつかのバリエーションの 1 つです。プリミティブには、ベース メッシュ用の 1 つのバリアント セットやコスチューム用の別のバリアント セットなど、複数のバリアント セットを設定できます。各バリアント セット内のバリアントは、選択できる名前付きの選択肢です。

バリアント セットを作成し、バリアントを含めます

  1. グラフに define_usd_prim ノードを追加し、その出力を直接 add_to_stage ノードまたは別の define_usd_prim ノードの children ポートに接続します。

    このプリミティブは、解決されたバリアントのコンテナとして機能します。type を「Xform」のままにすると、解決されたバリアントを簡単に移動できます。

  2. variant_set_definitions ポートを右クリックし、Usd::VariantSet::define_usd_variant_set を選択します。

  3. define_usd_variant_set ノードで、「shape」など、バリアント セットに使用する名前を variant_set_name に設定します。

  4. selection を既定として使用するセット内のバリアントの名前に設定します(この名前のバリアントはまだ作成されていません)。

  5. children を右クリックし、Create Node メニューからオプションを選択して、セット内の各バリアントのプリミティブ定義を作成します。子プリミティブ定義ノードで、variant_set_name を作成したバリアント セットの名前に、variant_name を子プリミティブが表す個々のバリアントの名前に設定します。個々のバリアント名の 1 つは、既定として設定したバリアントの名前である必要があります。

  6. 追加のバリアント セットを作成するには、コンテナ プリミティブ定義の variant_set_definitions ポートに追加の define_usd_variant_set ノードを追加し、子として追加のプリミティブ定義を追加します。

バリアントを切り替える

バリアントを手続き的に選択するには、set_variant_selection ノードを使用します。影響を受けるプリミティブのパス、バリアント セット名、選択するバリアントの名前を指定します。

ホスト シーンでバリアントを処理中に選択することもできます。Maya のアウトライナでバリアント コンテナを右クリックし(アイコンにバリアントがあることを示すオーバーライド バッジが表示されます)、バリアント セット(Variant Set) メニューからオプションを選択します。Maya で行われたその他の変更と同様に、これはグラフからのステージ出力には保存されません。

Maya のアウトライナでバリアントを選択する