Mayaで自作シェーダーを使う ~ GLSL編 ~

Tech

はじめに

Mayaには標準のマテリアルが用意されていますが、自作シェーダーを使うと、標準機能だけでは難しい表現や、制作目的に合わせた独自の描画処理を実装できます。

Mayaではいくつかのシェーダー言語を使用できますが、この記事では、MayaのビューポートでGLSLシェーダーを表示するまでの手順を解説します。(GLSLそのものについて解説は、他のサイトに譲ります。)

「Mayaで自作シェーダーを使う」シリーズの他の記事はこちらです。

シェーダーファイルの用意

まずはGLSLファイルを用意します。

以下は、赤単色で表示するシンプルなサンプルシェーダーです。これをテキストエディタで拡張子を.ogsfxとして保存すればHLSLファイルとして使用できます。

ファイル名: sample.ogsfx

Mayaの準備

Plug-in Managerで glslShader.mll の「Loaded」と「Auto load」にチェックを入れます。

MayaのPlug-in ManagerでglslShader.mllを有効にする設定

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

MayaのRendering engineをOpenGL-Core Profileへ変更する設定

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

MayaビューポートのTexturedとUse all Lightsを有効にした状態

シェーダーの読み込み

glslShader ノードを作成し、オブジェクトに割り当てます。

MayaでglslShaderノードをオブジェクトへ割り当てる操作

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

glslShaderノードのShader Fileへogsfxファイルを指定する設定

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

GLSLシェーダーによりMayaのオブジェクトが赤く表示された成功例

まとめ

GLSLシェーダーをMayaで使用するには、glslShader プラグインを有効にし、レンダリングエンジンをOpenGL – Core Profileに切り替えるのがポイントです。シェーダーファイルの拡張子は .ogsfx(Maya独自のGLSL拡張フォーマット)を使用します。

HLSLとほぼ同じ手順で進められるため、DirectX環境が使えないプラットフォームでもビューポートシェーダーを試したい場合に便利です。

コメント

タイトルとURLをコピーしました