シェーダ内でエージェントメタデータを使用する
各レンダリングエンジンの手続きは、エージェントメタデータをレンダリングメッシュに転送するように処理します。このプロセスは、すべてのメタデータ名に接頭辞 "atoms_"を追加します。シェーダ内から、これらのメタデータを使用して、レンダリング時にエージェントのバリエーションをより適切に制御することができます。
例えば、AddMetadataモジュールを使用してエージェントグループを作成できます。AddMetadataオプションで、メタデータの名前として「myColor」を設定し、タイプを「Vector」に設定した後、エージェントのOverride Dialogを開いてエージェントにランダムな値を設定します。
バリエーションシーンに戻ります。簡易的なRenderMan Pxrsurfaceシェーダを作成し、PxrattributeノードをDiffuseカラーに接続します。 「Variable name」アトリビュートを「atoms_myColor」に設定し、Vector型に設定します。
こちらのマテリアルをすべてのメッシュに割り当て、Variation Builderを使用してバリエーションを再エクスポートします(必ずターゲットのレンダリングエンジンとしてRenderManを選択してください)。
シミュレーションシーン内で、バリエーションをもう一度インポートして、バリエーションをエージェントに設定します。レンダリングすると、右側の図のように、myColorメタデータからシェーダカラーが取得されるレンダリングが表示されます(AddMetadataモジュールは、引き続きエージェントグループに適用され、上記のように設定されます)。
これは、ArnoldでaiUserDataVector / Int / Float / ...ノードを使用して、またはV-RayでVrayUserColorノードを使用しても実行できます。
Copyright © 2017, Toolchefs LTD.