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

Preference > Display > Rendering engine を「OpenGL – Core Profile(Compatibility / Strict)」に変更し、Mayaを再起動します。

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

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

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

上記の sample.ogsfx を読み込んだ場合、オブジェクトが真っ赤に表示されれば成功です。

まとめ
GLSLシェーダーをMayaで使用するには、glslShader プラグインを有効にし、レンダリングエンジンをOpenGL – Core Profileに切り替えるのがポイントです。シェーダーファイルの拡張子は .ogsfx(Maya独自のGLSL拡張フォーマット)を使用します。
HLSLとほぼ同じ手順で進められるため、DirectX環境が使えないプラットフォームでもビューポートシェーダーを試したい場合に便利です。



コメント