Pivot Painter 2 マテリアル関数は、Pivot Painter 2 MAXScript に格納されている便利なモデル情報のテキストによる利用およびデコードを可能にします。ただし、MAXScript によるテクスチャ出力はマテリアルから直接参照することができますが、テクスチャのサンプリング後に正しいステップが適用されないと、正確な値は出ません。このページで説明するこれらの待ていらう関数を使うと、テクスチャ情報を速くデコードできるようになります。
以下のマテリアル関数のほとんどは、Pivot Painter 2 ピボットと回転情報を使って、マテリアルを使って指定したエフェクトを実行します。 Pivot Painter 2 の長所の 1 つは、フォリッジ用に提供されているサンプル シェーダー PivotPainter2FoliageShader が使いやすいことです。この特別な関数は、モデルを迅速にセットアップし、 専用のネットワークを作成しなくても、モデルの Pivot Painter 2 がフォリッジを使って生成したテクスチャを使って、風と揺れを簡単に作成することができます。
Pivot Painter 2 関数
以下は Pivot Painter 2.0 に関係するすべての関数です。
PivotPainter2FoliageShader

このマテリアル関数には、特定のアセットにフィットするように変更されたテクスチャおよび数値のパラメータが含まれています。
PivotPainter2FoliageShader のワークフロー
この特殊な関数の場合、既に設定されているマテリアル関数の風とタービランス用のパラメータにアクセスできるように、マテリアルのマテリアル インスタンスを作成しなければなりません。
さらに、マテリアル インスタンスを作成することを推奨します。マテリアル関数のパラメータにアクセスして Pivot Painter 2 シェーダーの変更ができます。
画像をクリックしてフルサイズで表示
アイテム | 説明 |
---|---|
入力値 | |
Material Attributes | マテリアル内でタンジェント空間を使用していること、Use Tangent Space Normals 出力のチェックが外れていることを確認してください。法線は最初にワールド空間へ変換されます。 |
Pivot Painter Texture Coordinate | テクスチャ座標 UV が使用されているリファレンスへの入力を受け取ります。 |
出力値 | |
Final Material with World Space Normals | マテリアル インスタンスで [Animate Level "X" Normals] が有効の場合、入力マテリアルのワールド位置オフセットと法線出力となる属性です。 |
Modified World Space Normal Component | それ自体が修正したアセット法線を出力します。 |
World Position Offset Component | 新規のワールド位置オフセット値を出力します。 |
ms_PivotPainter2_CalculateMeshElementIndex

このマテリアル関数はモデの UV からモデルのエレメント ID を引き出します。
アイテム | 説明 |
---|---|
入力値 | |
Data Texture Dimensions | テクスチャ プロパティ ノードを使ってテクスチャのディメンションを集めます。 |
Pivot Painter UV Coordinates | モデルの UV からモデル エレメント ID を引き出します。 |
出力値 | |
Index | モデルの UV からモデル エレメント ID を引き出す出力です。 |
ms_PivotPainter2_Decode8BitAlphaAxisExtent

8 ビットの軸拡張テクスチャ データ情報を Pivot Painter 2 MAXScript からワールド空間データへ再スケールします。
アイテム | 説明 |
---|---|
入力値 | |
8 Bit Alpha Extent Value | テクスチャから 8 ビットのアルファ拡張値で Pivot Painter 2 アルファ テクスチャ コンポーネントを挿入します。[Render] オプションにある [Pivot Painter 2] のアルファ出力ドロップダウン オプションから適切なオプションを選択すると生成できます。 |
出力値 | |
Rescaled Extent | 出力値は、オブジェクトの回転軸で開始している軸に平行の選択したモデルの長さを表します。戻り値は 8 から 2048 の間で 8 単位で表すことができます。 |
ms_PivotPainter2_DecodeAxisVector

このマテリアル関数は Pivot Painter 2 のローカル空間ベクター情報をワールド空間ベクターに変換します。
アイテム | 説明 |
---|---|
入力値 | |
Axis Vector RGB | これらの値を出力する Pivot Painter 2 テクスチャからの RGB ベクター情報を入力します。 |
出力値 | |
Result | 入力軸ベクター情報がワールド空間に変換されました。 |
ms_PivotPainter2_DecodePosition

このマテリアル関数は Pivot Painter 2 のローカル空間情報をワールド位置情報に変換します。
アイテム | 説明 |
---|---|
入力値 | |
Position RGB | Pivot Painter 2 Pivot Position (16-bit) データを含むテクスチャの RGB 値を挿入します。 |
出力値 | |
Result | 出力値は、Pivot Painter 2 によるキャプチャ時の各モデルの軸ポイント位置のワールド空間位置です。 |
ms_PivotPainter2_ReturnParentTextureInfo

このマテリアル関数は、Pivot Painter 2 の Parent Index (Integer as Float) テクスチャ データを使って親のサブ オブジェクトのテクスチャ データを読み取ります。
アイテム | 説明 |
---|---|
入力値 | |
Parent Index As Float | この入力は、データが float 形式であることを前提とします。親インデックス "int as float" テクスチャから読み取る場合は、まずマテリアル関数 ms_PivotPainter2_UnpackIntegerAsFloat を使ってアセットをデコードします。 |
Texture Dimensions | テクスチャの現在のディメンションです。 |
Current Index | アセットが別のコポーネントの子かどうかを判断する場合のみこの値が必要となります。 |
出力値 | |
Parent UVs | エレメントの親エレメント ピクセル位置の UV 座標を出力します。 |
Is Child? | 別のオブジェクトの子の場合は 1 を返します。そうでない場合は 0 を返します。これには、Current Index 入力に現在のインデックスを入力する必要があります。モデルの UV でテクスチャ参照している場合、現在のインデックスは ms_PivotPainter2_CalculateMeshElementIndex で検索することができます。 |
ms_PivotPainter2_UnpackIntegerAsFloat

このマテリアル関数は、Pivot Painter 2 の Integer as Float テクスチャ データをデコードします。
アイテム | 説明 |
---|---|
入力値 | |
Integer as Float | float 型データへ変換するために integer 型データをデコードします。 |
出力値 | |
Result | float 型データとして Pivot Painter integer を出力します。 |