ロゴ メインコンテンツへ
RSSフィード
「デジタルコンテンツ制作」に関連する記事一覧

MEL ファイルの入出力方法

2009/01/20
(この記事の文字数: 909)
グローバル変数に値を代入しても、それはメモリ上に保持されているだけなので、アプリケーションを終了したらその値は消えてしまいます。

MELスクリプトで設定したパラメータなどをアプリケーション終了後も保持しておきたいときには、ハードディスクに書き出す必要があります。

普通にfopen、fwrite、fprint、freadおよび fcloseコマンドを使用して、ファイルを操作できますが、それはMayaのHelpに載っていることなので、ここでは別のアプローチ方法を紹介しようと思います。

この方法では高度なことはできないですが、一つの方法として覚えていて損はないです。

ここで紹介しているのは、systemを利用した方法です。Windows用のスクリプトですが、systemを他のOS用に書き換えれば他のOSでも使えます。

例としてC:/maya/test.txtへtest testという文字列を出力し、それを再び読み込みます。

まずは、任意の文字列のテキストファイルへの書き込みからです。
次のスクリプトは、ファイルへ書き込みたい文字列を定義して、test.txtというファイルへ書き込みを行います。

string $output = "text test";

system("echo "+$output+"> test.txt");

たったのこれだけです。

これでtest.txtというファイルに

test test

と書き込まれました。

また、文字列をファイルに追加したい場合は

system("echo "+$output+">> test.txt");

という風にします。


次は文字列の読み込みです。

string $input = `system(type text.txt)`;

これで$inputという変数に先ほど書き込んだ

test test

という文字列が代入されます。


これを利用してツールのテキストフィールドなどに入れておくパラメータを保持しておき、Mayaの起動時に読み込むように設定すれば、毎回、パラメータを設定しなおす必要がなくなるので非常に便利です。

さっきも言いましたが、通常はfopenなどを使用します。

これはいざという時の裏技的な方法だと思っておいて下さい。

  このエントリーをはてなブックマークに追加  

<<「デジタルコンテンツ制作」の記事一覧に戻る

<<「デジタルコンテンツ制作」の次の記事
「デジタルコンテンツ制作」の前の記事 >>

コメント(0 件)



コンテンツロード: 0.0074 sec
Copyright(C)2006-2024 puarts All Rights Reserved