はじめに
Mayaには標準のマテリアルが用意されていますが、自作シェーダーを使うと、標準機能だけでは難しい表現や、制作目的に合わせた独自の描画処理を実装できます。
Mayaではいくつかのシェーダー言語を使用できますが、この記事では、MayaのビューポートでHLSLシェーダーを表示するまでの手順を解説します。(HLSLそのものについて解説は、他のサイトに譲ります。)
「Mayaで自作シェーダーを使う」シリーズの他の記事はこちらです。
シェーダーファイルの用意
まずはHLSLファイルを用意します。
以下は、赤単色で表示するシンプルなサンプルシェーダーです。これをテキストエディタで拡張子を.fxとして保存すればHLSLファイルとして使用できます。
Mayaの準備
Plug-in Managerで dx11Shader.mll の「Loaded」と「Auto load」にチェックを入れます。

Preference > Display > Rendering engine を「DirectX 11」に変更し、Mayaを再起動します。

ビューポートの「Textured」と「Use all Lights」をONにします。

シェーダーの読み込み
dx11Shader ノードを作成し、任意のオブジェクトに割り当てます。

dx11Shader ノードの「Shader File」に、用意したHLSLファイルのパスを指定して読み込みます。

上記のサンプルHLSLを読み込んだ場合、オブジェクトが真っ赤に表示されれば成功です。
ファイルを書き換えて再読み込みすれば、好きな表現に置き換えることができます。

まとめ
HLSLシェーダーをMayaで使用するには、dx11Shader プラグインを有効にし、レンダリングエンジンをDirectX 11に切り替えるのがポイントです。あとは .fx ファイルを用意してノードへ読み込むだけで、ビューポートに自作シェーダーを表示できます。
シェーダーの書き方を工夫すれば、ライティングやテクスチャの制御も自由に行えます。ぜひ色々試してみてください。



コメント