日本でハリウッドVFXを制作! 「経産省アイディアボックス」 結果:  
●まとめエントリはこちら ●FAQ ●お問い合わせは左のメールフォームから

2009年8月20日木曜日

MELの使われる領域

英語のWikipediaにMELの項目があった。
簡単に述べられているだけだが、MELがどのような領域で使われるのかがまとめられていた。
勉強の際の方向性を決める助けになりそうなので、日本語に訳してメモ。

--------------------
リンク:Maya Embedded Language(wikipedia)

MELは、Mayaでの作業を簡単にするために使われます。
MayaのGUIで達成されることのほとんどが、さらにGUIではできない特定の作業でさえMELで達成できます。
MELは「複雑」もしくは「繰り返し」の作業を加速する方法を提供します。
また、他のユーザーにとってもおそらく有用な特定のコマンドの組み合わせを再配布する事が出来ます。

MELの構文はTCLPerlに似ています。
Melは、いくらかのメモリ管理やダイナミック配列をもち、Maya特有の関数への直接アクセスを用意しています。


MELの応用
MELスクリプトを使って作られるツールは、通常以下のような範疇に属しています。

* データ 入出力
* モーション・キャプチャー・データ の インポート
* プロプライエタリ・ゲーム・データのエクスポート (コンソール専用データの事と思われる)
* トラッキングを生成するためのシーンのメタ-データ (?何のことか?)
* ジオメトリの生成/修正
* カスタム・プリミティブ
* サードパーティーのレンダラー向け特定のデータタイプ
   (例: レンダーマン サブディビジョン サーフェイス)
* 基本パッケージに含まれていないモデリング用ツール
* アニメーション・ツール
* マッスル・シミュレーター
* リギング/セットアップ コントロール
* 群衆、AIの振る舞い
* ライティング/レンダリング・ツール
* 共通する(common)複雑なシェーダー・セットアップの自動生成
* 事前の(Pre-)もしくは、事後の(post-) レンダー エフェクト
* サードパーティーのレンダラーの呼び出し
* ダイナミックス
* パーティクルの振る舞いをカスタム化
* クロス・シミュレーション
* ユーザー・インターフェイスのカスタム化
* キャラクター・コントロール のカスタム化
* 無効なMayaコマンドの除去
* ツールのためのユーザー・インターフェイス

Mayaは、デペンデンシー・グラフの部分として、実行されるノードに帰結する特殊なMELの組み合わせであるエクスプレッション言語も提供します。
エクスプレッションは、複雑な振る舞いをシミュレートしたり、そのほかの便利なタスクを実行するために、Mayaのエクスプレッション・エディターで開発され、Mayaがシーンファイルを評価しているときにスクリプトが実行されます。

Melは主要なスクリプト言語に較べてとても制限されています。
オブジェクト指向ではなく、連想配列のような進んだ機能を持っていません。

ここ数年、Maya8.5において、わずかですが進歩がありました。Melの代わりにPythonが使えるようになりました。


--------------------

説明では、スクリプトがどのような領域でつかわれるのかという分類が行われているが、どれか一つにしか属さないというわけではなく、用途によっては複数の範疇に属するスクリプトを同時に使うこともある。

また冒頭で、tclやPerlに似ているという記述は目新しかった。
いままでC言語に似ているというのは見たことがあったが...。
これからは、情報収集のときにtclやPerlについて記述してあるスクリプト例を見つけたら、ざっと目を通してみることにしよう。

 

0 件のコメント:

コメントを投稿