Bifrost ネイティブ ボリュームは現在 GPU で機能しません。ただし、VDB として書き出されたボリューム データは機能します。
bifShape ノードにある Arnold の Visibility アトリビュート
Bifrost グラフ エディタ
Bifrost グラフ エディタでは、次の Arnold ノードを使用できます。以下のリンクをクリックすると、関連する Arnold アトリビュートに移動します。
Bifrost ノード |
---|
Arnold_ray_bitmask |
set_Arnold_geo_settings |
set_Arnold_mesh_settings |
set_Arnold_points_settings |
set_Arnold_strands_settings |
set_Arnold_volume_settings |
Ass または Kick に書き出すワークフロー
kick で使用するために .ass ファイルに書き出す場合は、-l パラメータを使用して Arnold-Bifrost プロシージャルの場所で kick を実行する必要があります。たとえば、次のように指定します。
C:\solidangle\mtoadeploy\2018\bin\kick.exe volume_scene.ass -l "C:\Program Files\Autodesk\Bifrost\Maya2018\2.0.1.0\bifrost\arnold-5.3.0.0"
注: Bifrost グラフ ボリュームを使用して ass や kick に書き出す場合は、プロシージャルを展開しないようにしてください。つまり、MtoA では、.ass の書き出しオプション Expand Procedurals を無効にする必要があります。
ユーザ データのサポート
Arnold-Bifrost は、すべての Bifrost プロパティを Arnold に変換しようとします。既知の Arnold 組み込みパラメータに対応する組み込みプロパティの場合、これらはユーザ データとしてではなく組み込みプロパティとして変換されます。ただし、検出された他のすべてのプロパティは、シェーダとオペレータが適合して見えるときにこれらが使用できるように、ユーザ データとして変換されます。
Arnold のユーザ データのタイプおよび範囲は、レンダリングするオブジェクトのタイプによって異なります。たとえば、points は定数および均一のユーザ データのみをサポートしますが、polymesh は定数、均一、可変、インデックス付きのユーザ データをサポートします。次の表に、オブジェクト タイプとサポート範囲の対応関係、および全体的にサポートされるタイプを示します。
オブジェクト タイプ | 定数 | 均一 | 可変 | インデックス付き |
---|---|---|---|---|
点 | はい | はい | ||
カーブ(Bifrost ストランド) | はい | はい | はい(セグメント単位、コントロール ポイント単位から自動変換) | はい(index/range プロパティが必要) |
ポリメッシュ(Bifrost メッシュ) | はい | はい | はい | |
インスタンス | はい | |||
ボリューム(Bifrost マルチ解像度タイル ツリー) | はい | |||
インプリシット(Bifrost 符号付き距離フィールド) | はい |
次に、サポートされる Bifrost データのタイプと、Arnold で変換される同等なデータのタイプを示します。データが切り捨てられる場合や、Arnold タイプに合わせて精度が失われる場合があります(double から float への変換など)。
Bifrost タイプ | Arnold コンポーネント タイプ | Arnold タイプ |
---|---|---|
bool | bool | AI_TYPE_BOOLEAN |
signed char、signed short int、signed int、signed long int | int32_t | AI_TYPE_INT |
unsigned char | uint8_t | AI_TYPE_BYTE |
unsigned short int、unsigned int、unsigned long int | uint32_t | AI_TYPE_UINT |
float、double | float | AI_TYPE_FLOAT |
string | AtString | AI_TYPE_STRING |
char2、uchar2、short2、ushort2、int2、uint2、long2、ulong2、float2、double2 | float | AI_TYPE_VECTOR2 (AtVector2) |
char3、uchar3、short3、ushort3、int3、uint3、long3、ulong3、float3、double3 | float | AI_TYPE_RGB (AtRGB) |
char4、uchar4、short4、ushort4、int4、uint4、long4、ulong4、float4、double4 | float | AI_TYPE_RGBA (AtRGBA) |
char3x3、uchar3x3、short3x3、ushort3x3、int3x3、uint3x3、long3x3、ulong3x3、float3x3、double3x3 | float | AI_TYPE_MATRIX (AtMatrix) |
char4x4、uchar4x4、short4x4、ushort4x4、int4x4、uint4x4、long4x4、ulong4x4、float4x4、double4x4 | float | AI_TYPE_MATRIX (AtMatrix) |
- タイプ 2x2 または他の非正方形行列バリアントなど、一部の Bifrost タイプはサポートされていません。
- 注: Arnold 側に float コンポーネントを持つタイプのみが、可変またはインデックス付きのユーザ データと一緒に使用できます。文字列、整数、またはブール値のデータは補間できないため、定数または均一なユーザ データでのみ使用できます。
パーティクル カラーのランダム化ワークフロー
次に、Bifrost パーティクルのカラーをランダム化する方法の例を示します。
シーン ファイルは、こちらからダウンロードできます。 |
---|
random_value_array -> 新しい set_geo_property (color)。color は float3 または float4 プロパティ(RGB、RGBA)です。
- カスタム プロパティ名には、任意の名前を付けることができます。ただし、使用するマテリアル ネットワークの aiUserDataColor ノードに同じ名前を渡す必要があります。「my_color」は使用しても問題ありません。
- color_jitter シェーダは現在 Bifrost で機能しません。
- ここで使用されるランダム カラーは、現在ビューポートに表示されず、レンダリング時にのみ表示されます。