テクスチャーファイルの読み込み
テクスチャーファイルを Photoshop で開くスクリプト
Maya のシーンで使用しているテクスチャーファイルを、
フォルダー名・ファイル名を意識することなく
ホットキーで開くことができるようにしてみましょう。
これから作成する MEL スクリプトで以下のことができるようになります。
- で作成したテクスチャーファイルを、
Ctrl+p によって Photoshop で開くことができます。
- すでにオブジェクトにアサインされているテクスチャーファイルを、
同様に Photoshop で開くには Hypershade などで file ノードを選択して、
Ctrl+p で開くことができます。
- file ノードは複数選択して、一度に Photoshop で開くこともできます。
- file ノード以外のノードが選択されていても無視します。
- transform ノードを選択しておくと、そのオブジェクトにアサインされている file テクスチャーがすべて Photoshop で開かれます。
- mentalray の file テクスチャーも Photoshop で開くことができます。
スクリプトの作成と設定
- 以下のスクリプトを changeTexture.mel というファイル名で作成します。
global proc changeTexture()
{
global string $psdFileNameTextField;
string $name[] = `ls -sl -type "transform"`;
if(size($name) > 0)
{
string $sname[];
for($n in $name)
{
select -r $n;
hyperShade -smn;
string $mname[] = `listHistory`;
$sname = stringArrayCatenate($sname, $mname);
}
select -r $sname;
}
string $name[] = `ls -sl -type "file" -type "mentalrayTexture"`;
print $name;
if(size($name) > 0)
{
for($n in $name)
{
string $filename = `getAttr ($n + ".fileTextureName")`;
$filename = `substituteAllString $filename "/" "\\"`;
chdir "c:/Program files/Adobe/Photoshop 6.0";
system ("start photoshp " + $filename);
}
}
else if($psdFileNameTextField != "")
{
string $psd = `textFieldGrp -q -text $psdFileNameTextField`;
string $dir = `workspace -q -rd`;
$dir = `substituteAllString $dir "/" "\\"`;
$filename = $dir + $psd;
chdir "c:/Program files/Adobe/Photoshop 6.0";
system ("start photoshp " + $filename);
}
}
- 作成したファイルを Z:\マイ ドキュメント\maya\scripts にコピーします。(実習室の場合)
自宅などでは、C:\マイ ドキュメント\maya\scripts などにコピーしてください。
- Maya を起動します。
-
でホットキーエディタを表示します。
- Categories の User を選択します。
- New ボタンを押し、 Command に
changeTexture();
と打ち込みます。
- Name の欄に ChangeTextureFile と打ち込みます。
これはコマンドを区別する名前です。
他の名前でもかまいませんが、プロシージャ名(changeTexture)と同じ名前にはしないでください。
- Accept キーを押してエラーが出なければ、コマンドの登録は成功です。
- 次に、このコマンドをホットキーにアサインします。
Assign New Hotkey の Key に p と打ち込んで、
Modifier の Ctrl にチェックを入れます。
- Query ボタンを押して、
"p" is assigned to: Nothing
と表示されれば、 Ctrl+p はまだホットキーとしてアサインされていません。
もし、Ctrl+p がすでにアサインされていれば、他のキーをアサインしてください。
- Assign ボタンを押して Ctrl+p を ChangeTextureFile にアサインします。
これで、設定は終了です。
以下のようにして、正常に動作するかどうか試してみてください。
- 適当なポリゴンのオブジェクトを作成し、
などで UV の設定をしておきます。
-
で PSD ファイルを作成します。
- Ctrl+p によって Photoshop が起動されて、 PSD ファイルが表示されるのを確かめます。
- Photoshop を一度、終了します。
- Hypershade を表示して、作成されている PSD file のノードを選択します。
- Ctrl+p によって Photoshop が起動して、 PSD ファイルが表示されるのを確かめます。
- Photoshop をもう一度、終了します。
- テクスチャーのついているオブジェクトを選択します。
- Ctrl+p によって Photoshop が起動して、 PSD ファイルが表示されるのを確かめます。
注意
- Hotkey Editor の Name をプロシージャ名(changeTexture)と同じにしないでください。
- この MEL スクリプト(changeTexture.mel)は Maya PLE では動作しません。
参考
- Maya
Maya, MEL 関係(Tips, FAQ, コマンド)のページ
Index | Home
Mail