ゲームエフェクトデザイナーのブログ | A Real-Time VFX Artist's Blog

About Making Materials on UE, Making Tools with C#, etc

MELスクリプトのある場所を参照する

MELスクリプトと同じ場所にあるファイルを参照したい場合の備忘録。
ちょっと手こずったので記事にしておきます。

例えばMELスクリプトと同じ場所にあるテクスチャをマテリアルで指定したい時に、テクスチャ名だけで指定するとプロジェクト/sourceimage直下を参照してしまいます。

しかしスクリプトフォルダはマイドキュメント以下にあるのでユーザーによってパスが変わってしまいます(Users/Document/ユーザー名/maya‥という感じ)。

そんな時には「MAYA_SCRIPT_PATH」を使うと良いようです。

下記の例は前回の記事「MELでシェーダーを作成 2」の一部になります。

//スクリプトフォルダのパスを取得して変数「vfxTexPath」に代入
$vfxTexPass= `getenv MAYA_SCRIPT_PATH`;

//スクリプトフォルダ直下のテクスチャ「sampleTex.png」を設定
setAttr -type "string" VFXfile.fileTextureName ($vfxTexPath + "/sampleTex.png");


これでうまくいきました。

他にもっと良い方法があればコメント頂けると嬉しいですっ。