この授業について
始めに
現在では各種の 3D ソフトを使用して手軽に
3D のモデリング・アニメーション・レンダリングなどができるようになった。
しかし、映画・ゲームなどの最先端の制作現場では既存の
3D ソフトだけでは制作できないシーンを作らなければならない場合が多い。
そのような場合に通常は各種 3D ソフトに独自のプラグインを組み込むことによって必要な機能を実現する。
Maya の場合であれば OpenMaya によってプラグインを作ることになるわけである。
ここでは OpenMaya のプラグインを制作することによって 3D ソフトにおけるプラグインの作り方の一例を学習してゆく。
また、OpenMaya のプラグインに限らず、幅広く CG 制作のためのツールを開発するノウハウもあわせて覚えてゆきたい。
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 における関数のようなもの)があるか。
- プログラミングに役立つツールの使用方法
エディタ(vi), make, CVS, grep, シェル, 各種スクリプト言語 など。
授業の目的
以下の種類のプログラムを一種類以上制作する。
- C++ 言語と OpenMaya によって制作されたオリジナルのプラグイン
計算などの処理をする部分を C++ で作り、アトリビュートを MEL による GUI でコントロールするようなものでも良い。
- プラグインではない OpenMaya を使用したアプリケーション
- OpenMaya を使用しない MEL のみによって作られたツール
- OpenMaya も MEL も使用しない Maya のためのツールプログラム
(使用する言語は問わない)
提出物
一年間の授業の最後に以下のものを提出してもらう。
- プログラムのソース
- もしあれば、プログラムを動作させるために必要なデータ
- プログラムの開発目的・使用方法を記述したドキュメント
提出方法の詳しいことは後に説明する。
注意
必ず全員にプログラムを作ってもらうので、少なくとも C 言語でプログラムを作る自信がないと授業についてゆくのが難しくなるだろう。
実際のプログラムは C++ だが C 言語がわかっていればなんとかなるので、
C++ については知らなくても良い。
(もちろん知っていた方がもっと良い)
必要な知識
- C 言語の基本
構造体・ポインターの使い方がわかるレベルであれば、
C++ は知らなくても何とかなる。
後はプログラミングを行ないながら C++ 独自の機能やオブジェクト指向の考え方を理解すれば良い。
- MAYAの基本操作
モデリング・アニメーション・レンダリングなどの基本概念と操作方法など。
MEL について知っていれば、なお良い。
- プログラミングのためのツールの使用方法
例えば、UNIX (Linux)上でプログラミングを行なう場合、以下のような各種ツールの使用方法に熟練することによって開発効率が大幅にアップする。
- 数学・アルゴリズム
数学はプログラミングの土台となるものである。
そして、アルゴリズムとデータ構造がプログラムの 2 大要素である。
- プログラマーに必要なもの
参考
C++ の参考書については以下の本が最も信頼できるが内容が難しいので、
その他の入門書を適当に選んで読むのが良いだろう。
- プログラミング言語C++ 第3版
- B.ストラウストラップ
アスキー
¥7000
OpenMaya および MEL についての参考書・Web 上のリソースには MAYA のマニュアルおよび
日本電子専門学校用教科書「MEL Users Manual & Reference」
以外には以下のものがある。
なお、以下の Web ページも参照のこと。
Web
学校以外でこのテキストを見たい時は、同じ内容のものがインターネット上の以下のアドレスにもあるので参考のこと。
- http://www.not-enough.com/abe/manual/openmaya-au02/
また質問その他がある場合は、阿部先生に直接聞くか、以下のアドレスにメールをすること。
Next
Home | Contents
abe@injapan.net