以下に、MayaUberShader シェーダ ファイルが割り当てられている ノードのアトリビュートを示します。
このシェーダを使用するためには、 の DirectX 11 環境で作業し、dx11Shader.mll プラグインを有効にしている必要があります。詳細については、「ビューポート 2.0 で DirectX 11 を使用する」を参照してください。
の作成バーで を見つけることができます。シェーダが作成されると、MayaUberShader.fx ファイルが自動的にロードされます。
dx11Shader.mll プラグインを使用して、Maya ビューポート 2.0 に独自の HLSL シェーダをロードおよび表示できます。を使用して DirectX 11 シェーダを作成すると、MayaUberShader.fxo ファイルが自動的に接続されます。ただし、カスタムの HLSL シェーダをロードすることもできます。または、その他のサンプル HLSL シェーダが <maya directory>¥presets¥HLSL11¥examples¥ に用意されています。
dx11Shader_defaults プリセットが提供されます。このプリセットを使用して、パラメータをシェーダに最初にコンパイルされた値に戻すことができます。
ヒント:MayaUberShader.fxo ファイルの自動ロードをオーバーライドするには、に移動し、既定でロードするエフェクト ファイルを設定します。
注:以下に、MayaUberShader.fx ファイルのアトリビュートを示します。の セクションに、すべての DirectX 11 シェーダのアトリビュートがあります。ただし、使用できるオプションは異なる場合があります。たとえば、すべての DirectX 11 シェーダにライト アトリビュートがある場合でも、ライトの数やライトのタイプの選択肢は異なる場合があります。セクションにあるアトリビュートは、MayaUberShader.fx ファイルに固有です。
Shader
-
-
シェーダ ファイルに移動し、そのシェーダ ファイルを に割り当てます。
では、.fx ファイルが次の場所および次の順序で検索されます。
- `workspace -q -rd`
- `workspace -q -rd` + "/renderData/shaders"
- `workspace -fre shaders`
- `getenv("DX11SHADER_ROOT")`
- `getenv("DX11SHADER_ROOT")` + "/shaders"
- ${MAYA_LOCATION}/presets/HLSL11/examples
` は、MEL または C 関数を実行して必要な値を取得することを示します。
注:MayaUberShader.fx ファイルおよびその他のサンプルの HLSL11 シェーダは、<maya directory>¥presets¥HLSL11¥examples¥ で提供されます。
をクリックして .fx ファイルを再ロードし、 をクリックして既定のテキスト エディタでファイルを編集します。
-
-
これらのオプションを指定して、同じシェーディング マテリアル内で異なるシェーディング方法を使用できます。
注:次に、MayaUberShader のさまざまなテクニックを示します。シェーダごとに異なるテクニックで、さまざまなエフェクトを実現します。
ヒント:を使用するか、 での値を設定して、1 つの手順で複数の DirectX 11 シェーダのテクニックを変更できます。では、整数を使用して値を設定します。 = 0、 = 1、および =2 です。このショートカットは、同じ fx シェーダの複数のインスタンスを変更する場合にのみ適用できます。
-
: これは既定のオプションで、テッセレーションを使用せず、単にワークスペースにメッシュを表示します。
-
: このオプションでは、シェーディング レベルのテッセレーションを使用してよりスムーズなモデルを提供します。追加のジオメトリは必要ありません。
-
: このオプションでは、テッセレーションしたメッシュのワイヤフレーム バージョンを提供し、機能のテッセレーションを確認できます。
- //
-
オプションを選択すると、シーンのライトがシェーダに自動的に割り当てられます。シーン内のライトが 3 つ未満の場合、ライト 1(Light 1)またはライト 2(Light 2)(あるいはその両方)は、新しいライトが作成されるまでバインドされません。このオプションを選択すると、//それぞれに対してバインドされるライトが示されます。
ナビゲーション アイコン を使用して、で接続されているライト シェイプにアクセスします。
を選択し、ライトがバインドされないようにすることもできます。このように、DirectX 11 Shader ので//アトリビュートを使用してライトのプロパティを微調整できます。
また、ライトを手動でバインドすることもできます。ドロップダウン リストで、シェーダのバインド先となるシーンからのライトを選択します。
現在、MayaUberShader は 3 つのポイント ライト、スポット ライト、アンビエント ライトまたはディレクショナル ライトをサポートします。
重要:ライトをバインドした後に、dx11 シェーダのでそのパラメータを変更することはできません。代わりに、ライトので変更する必要があります。
注: がロードされると、に設定されたライトが自動的にバインドされます。同じオブジェクトアトリビュートを共有しているすべてのパラメータは 1 つのライトを定義していると見なされます。特定のライト キーワード(アンビエント/ポイント/スポット/ディレクショナル)がオブジェクトアトリビュート文字列で見つかると、Maya ではシーンで見つかったこのタイプの最初のライトに接続します。これが実行されると、接続されていないライトは、位置/方向パラメータの互換性に基づいて残りのシーン ライトに接続されます。
パラメータ
ライティング
-
-
テクスチャでガンマを修正しないようにする場合は、このオプションを無効にします。このオプションを有効にすると、テクスチャにガンマが適用されていると見なされ、このガンマは除去されて、後から再適用されます。
-
-
シャドウの投影を有効にする場合は、このオプションを選択します。
-
-
シャドウの強度を制御するには、このスライダを使用します。
-
-
リアルタイムのシャドウでは、シャドウ マップの制限された精度またはシーン スケールの差によりオブジェクト上にアーティファクトが生じることがあります。オブジェクト上のシャドウ アーティファクトを除去するには、このアトリビュートを使用します。
-
-
両面の透明オブジェクトのバック フェース法線を逆にしてそのライティングを改善するには、このオプションを選択します。
- //
-
シーンでリム ライトをシミュレートしてオブジェクトのエッジをハイライトするには、これらのオプションを使用します。明から暗への減衰を設定するには、とを使用します。は、減衰が開始されるエッジからの距離を表します。は、減衰が終了するエッジからの距離を表します。
ライト 0
-
-
シェーダで指定されたライトを有効にするには、このオプションを選択します。
注:ライト 0、ライト 1 およびライト 2 で次のパラメータが繰り返されます。
-
-
ライトの位置を設定するには、このアトリビュートを使用します。
注:ライトが Maya ライトにバインドされていない場合は、
を使用して既存のライト、カメラ、ロケータなどを手動でこのアトリビュートに接続できます。
-
-
ライトのカラーをカスタマイズします。カラー サンプルをクリックし、でライトのカラーを変更するか、ライトにテクスチャをマップします。
-
-
ライトの輝度を設定するには、このアトリビュートを使用します。強度の値が 0 のライトは発光しません。強度の値が負であるライトは、そのライトの影響が及ぶ領域でシーンからライトを除去します。
-
-
ライトの方向を設定するには、このアトリビュートを使用します。
-
-
スポットライトの円錐角度を設定するには、このアトリビュートを使用します。これは、スポット ライトのビームのエッジからエッジまでの角度(度単位)です。
-
-
スポットライトの周縁部の角度を設定するには、このアトリビュートを使用します。これは、スポット ライトの強度が 0.0 に減衰する時点における、スポット ライトのビームのエッジからの角度(度単位)です。
-
-
ライトの強度が距離に伴って減衰する程度を制御するには、このアトリビュートを使用します。詳細については、「
減衰率(Decay Rate)」を参照してください。
アンビエントと放出性
-
-
このオプションを有効にして、ファイル テクスチャをに接続し、光源のように明るい放出テクスチャを適用します。テクスチャの使用を停止するには、を無効にします。
- /
-
地面または空からのライトをシミュレートしてオブジェクトを輝かせるには、これらのオプションを使用します。
拡散
- /
-
を選択し、拡散マップをオブジェクトに適用し、オブジェクトを明るくします。テクスチャをアトリビュートに接続します。を選択し、テクスチャのアルファ情報をオブジェクトの不透明度に適用します。
-
-
を使用してオブジェクトの色合いを調整することもできます。
-
-
を選択し、ベイク処理されたシャドウマップを適用します。シャドウマップに拡散が乗算されて、ベイク処理されたシャドウを作成します。
-
-
和らげられた拡散(またはブレンドされた法線拡散光)を適用するには、このオプションを選択します。この機能により、オブジェクトの拡散ライトは、スキンをシミュレートする際によりリアルになります。
-
-
オブジェクトのパーツごとに異なる量の和らげられた拡散を適用するには、このオプションを使用します。
-
-
このオプションは、ブレンドされた法線拡散光です。反射する光のエフェクトを作成し、スキンの表示を和らげる場合は、この値を増やします。
不透明度
-
-
オブジェクトの透明度を制御するには、このアトリビュートを使用します。
-
-
完全に透明なオブジェクトの領域を指定するテクスチャを適用するには、このアトリビュートを使用します。
-
-
不透明度マスクのピクセルが完全に透明になるしきい値を設定するには、このアトリビュートを使用します。たとえば、0.5 で設定すると、不透明度マスクで 0.5 を下回る値のすべてのピクセルが完全に表示されなくなります。
スペキュラ
-
-
テクスチャの値に基づいて、オブジェクトの鏡面反射性の量を増減するには、を選択します。スペキュラ マップの RGB チャネルでを制御し、スペキュラ マップのアルファ チャネルでを制御します。
-
-
-
-
で、スペキュラ ハイライトのシェイプを制御します。
-
-
Kelemen-Szirmaykalos スペキュラ計算を実行して、人間の肌をより的確にシミュレートするには、このオプションを選択します。このオプションを無効にすると、スペキュラの計算に Blinn シェーダが使用されます。
法線
-
-
バンプのライトと、法線マップにベイク処理された詳細からのインデントをシミュレートするには、を選択します。
-
-
法線マップ テクスチャでバンプの高さを変更するには、オプションを使用します。
反射
-
-
シーンに反射を含めるには、オプションを選択します。を使用すると、よりリアルなあらかじめベイク処理された反射を作成できます。
ヒント:自由に使用できるサード パーティ ツールを使用して、立方体マップを生成できます。
-
-
オブジェクト上の反射の強度を調整するには、このスライダを使用します。
-
-
ブラー反射エフェクトを作成するには、このオプションを使用します。このオプションを使用すると、シミュレートしようとしているメタルまたはマテリアルのタイプを制御しやすくなります。
- /
-
フェースがカメラに並行か垂直かに基づいて反射の量を調整するには、およびを使用します。
カメラと向き合っているオブジェクトのフェースに反射を追加するには、を使用します。
カメラに垂直なオブジェクトのフェースに反射を追加するには、を使用します。
これらのオプションは、カーブしたオブジェクトで最適に動作します。
-
-
テクスチャをマスク領域に適用してそれらの領域が反射を受けないようにするには、これらのオプションを使用します。
-
-
スペキュラ テクスチャのアルファ チャネルを使用してオブジェクトのブラー パーツに必要な反射の量を決定するには、このオプションを有効にします。オブジェクト上のすべての場所に反射を均等にブラーする場合は、このオプションを無効にします。
-
-
スペキュラ カラーを使用して、立方体マップ反射のカラーをティントするには、このオプションを有効にします。このオプションが無効な場合、立方体マップはティントされません。
テッセレーションとディスプレイスメント
注:テクスチャ マップは、PNG、JPG、BMP、TIF、TGA、EXR の形式で Mudbox から Maya へ書き出すことができます。
-
-
ディスプレイスメント マップを使用するには、を選択します。ディスプレイスメント マップは、メッシュの頂点を押し出すか、インデントします。オブジェクトで追加の詳細を生成するためにテッセレーションと組み合わせて使用する場合、ディスプレイスメント マップは特に便利です。
法線マップに比べ、ディスプレイスメント マップには、シャドウでディスプレイスメント マップの新しい詳細が選択されるというメリットがあります。
グレースケールのディスプレイスメント マップを使用している場合は、を無効にします。
-
-
ベクトル ディスプレイスメント マップを適用するには、このオプションを選択します。Mudbox でベクトル ディスプレイスメント マップを作成できます。ただし、Mudbox で実行するのと同じ低ポリゴン モデルを使用する必要があります。
ベクトル ディスプレイスメント マップの場合は、およびの両方を選択します。ベクトル ディスプレイスメント マップを使用している場合、通常は法線マップもシェーダに提供して、ベクトル ディスプレイスメント マップで頂点を移動した後にシェーダに正しい法線を提供します。
注:Mudbox から法線マップを出力する場合は、としてを選択します。Mudbox からベクトル ディスプレイスメント マップを出力する場合は、としてを選択します。
-
-
ディスプレイスメントをスケールするには、このアトリビュートを使用します。
-
-
ディスプレイスメントのベース値を制御するには、このアトリビュートを使用します。
たとえば、オフセットが 0.5 に設定されている場合、グレイ カラーはディスプレイスされません。オフセットが 0 の場合は、インデントが生成されます。オフセットが 1 の場合は、押し出されます。
同様に、オフセットが 0 に設定されている場合、黒のカラーはディスプレイスされません。オフセットが 0.5 の場合は、1.0 のオフセットの半分が押し出されます。インデントは生成されません。
-
-
極端なディスプレイスメントの場合、フェースは誤ってクリップされる場合があります。これは、長くて広いランドスケープまたはオブジェクトを含むシーンで生じる場合があります。オブジェクトのフェースがビューからクリップされるタイミングを決定する最大ディスプレイスメントを設定するには、このアトリビュートを使用します。を使用して、オブジェクトが誤ってクリップされないようにすることもできます。
-
-
ディスプレイスメントが使用されるときに、オブジェクトが誤ってクリップされないようにバウンディング ボックスを制御するには、このオプションを使用します。
-
-
このアトリビュートを設定すると、テッセレーションは、カメラからのオブジェクトの距離で制御されます。
注:テッセレーション設定を調整する場合、を有効にするのが最も簡単な方法です。
-
-
メッシュ全体で一定のテッセレーションの値。1 の値は、テッセレーションがないことを表します。
解像度を上げるには、の値を大きくします。
-
-
ポイント法線テッセレーション(オブジェクトのエッジをスムーズにする)を(面分割のみ行い、オブジェクトをスムーズにしない)とブレンドする場合に、このオプションを選択します。スムージングを無効にする場合は、この値を 1 に設定します。
半透明性
-
-
機能では、オブジェクトを通過するライトをシミュレートします。たとえば、人間の肌をシミュレートしている場合、肌は赤色が強くなります。以下のオプションを使用する場合は、このアトリビュートを選択します。
注:オブジェクトに半透明度を追加するには、これらのオプションを使用します。このオプションでは、オブジェクトを通過するライトをシミュレートし、よりリアルな外観にします。
-
-
は、肌の特定の領域を通過するライトの量を制御するためにレンダリングするテクスチャです。たとえば、鼻のように薄い肌で覆われた非骨格領域は、大量の半透明が入ってくるため、赤みを帯びたカラーとなります。一方、骨格領域は、厚みテクスチャで暗めの色になります。
-
-
法線(ピクセル単位)が半透明度に影響する量を設定するには、この値を使用します。
0 に設定すると、半透明度はオブジェクト全体で均等になります。
0 より大きい値(0.5など)に設定すると、半透明エフェクトは均等ではなくなり、法線に基づいて分散され、歪められます。その結果、より自然に見えます。
-
-
半透明領域のフォーカスまたはサイズを変更するには、このアトリビュートを使用します。
-
-
オブジェクトの背後にあるライトで作成される半透明の量を調整するには、このオプションを使用します。スライダを 0 に調整すると、オブジェクトから半透明はなくなります。
-
-
このアトリビュートでは、背後にライトがない場合でも、オブジェクトに常に含まれる半透明の量を設定します。
- //
-
肌の半透明カラー(肌のカラーが異なる生き物など)を変更する場合に、これらのオプションを使用します。
サーフェス データ
このセクションでは、シェーダに渡されるジオメトリのチャネル(法線や接線など)を指定します。 を右クリックすると、使用可能なオプションが表示されます。
既定では、 が UV セットにマップされ、マップ 1 と がマップ 2 にマップされ、その逆も行われます。UV セットを別の名前で使用する場合は、 フィールドでこれらの UV セットを指定してシェーダにバインドします。UV セット名の前に uv: を使用します。詳細については、「DX11 MayaUberShader に接続されているテクスチャ マップに UV セットを割り当てる」を参照してください。
既定のテクスチャ データ
UV セットを選択する場合に に表示される既定のテクスチャを選択する場合は、これらのオプションを使用します。たとえば、UV マップ 1 が にマップされ、 がにマップされている場合、で UV マップ 1 を選択すると、 テクスチャが表示されます。