この授業について
始めに
現在では各種の3Dソフトを使用して手軽に3Dのモデリング・アニメーション・レンダリングなどができるようになった。
しかし、映画・ゲームなどの最先端の制作現場では既存の3Dソフトだけでは制作できないシーンを作らなければならない場合が多い。
そのような場合に通常は各種3Dソフトに独自のプラグインを組み込むことによって必要な機能を実現する。
Mayaの場合であればOpenMayaによってプラグインを作ることになるわけである。
ここではOpenMayaのプラグインを制作することによって3Dソフトにおけるプラグインの作り方の一例を学習してゆく。
OpenMayaの概略
- OpenMayaはC++言語のライブラリのようなものである。
- OpenMayaによってMAYAに存在するほとんどの機能を使うことができる。
- OpenMayaによってMAYAに存在しない機能を追加することができる。
- OpenMayaのプログラムによって作成されるものには以下の種類がある。
- アプリケーション
MAYAの外部で独立したアプリケーションとして動作するもの。
- コマンド
MAYAにおいてMELコマンドとして動作するもの。
- ノード
MAYAのノードを作成する。
学習事項
この授業で学習することは以下の通り。
- C++言語の基本的な文法
C言語の基本的な文法は理解していることを前提にしてC++の基本的文法などを解説する。
- MELの基本
MELによってGUI(ボタン、スライダーなど)を作る方法。
MELはC言語に文法が似ているのでC言語がわかっていれば覚えやすいはずである。
(実際はC言語とUNIXのシェルを足して独自の機能を加えたようなものになっている)
- OpenMayaをMAYAへの組み込む方法
コンパイル手順、プラグインのロードの方法など。
- OpenMayaのクラス・メソッドの種類
どのようなクラス(オブジェクトの設計図)、メソッド(Cにおける関数のようなもの)があるか。
授業の目的
- C++言語によって、オリジナルのプラグインを制作する。
計算などの処理をする部分をC++で作り、各種パラメータをMELによるGUIでコントロールするプログラムを作る。
注意
必ず全員にプログラムを作ってもらうので、少なくともC言語でプログラムを作る自信がないと授業についてゆくのが難しくなるだろう。
実際のプログラムはC++だがC言語がわかっていればなんとかなるので、C++については知らなくても良い。
(もちろん知っていた方がもっと良い)
必要な知識
- C言語の基本
構造体・ポインターの使い方がわかること。
C++は知らなくても良い。
- MAYAの基本操作
モデリング・アニメーション・レンダリングなどの基本概念と操作方法など。
MELについて知っていれば、なお良い。
参考
C++の参考書については以下の本が最も信頼できるが内容が難しいので、
その他の入門書を適当に選んで読むのが良いだろう。
- プログラミング言語C++ 第3版
- B.ストラウストラップ
アスキー
¥7000
OpenMayaについての参考書は残念ながらMAYAのマニュアル(英語)以外にはほとんど無い。
MELにも市販の参考書は無い。
(日本電子専門学校用教科書「MEL」はある)
他はMAYAのマニュアルかインターネット上の情報を参考にするしか無い。
なお、以下のWebページも参照のこと。
- MAYA programming ( 99AD )
CG科のMELプログラミングの授業。
http://www2.not-enough.com/abe/manual/mel-ad98/
- Maya
MAYA・MELなどのTips、リファレンスなど。
http://www2.not-enough.com/abe/manual/maya/
Web
学校以外でこのテキストを見たい時は、同じ内容のものがインターネット上の以下のアドレスにもあるので参考のこと。
- http://www2.not-enough.com/abe/manual/openmaya-au99/
また質問その他がある場合は、阿部先生に直接聞くか、以下のアドレスにメールをすること。
Next
Home | Contents
abe@injapan.net