プラグインを作る(続1)

MAYAの初期状態

MAYAの初期状態では確かまだ開発用ライブとかインクルードファイルは展開されていないと思うのですが忘れました、でも確かメイクファイルを使い展開しなければ行けません。解らない方はコメントを投函して下さい、解る範囲でお答えいたします。

ダグリストを作成します

下記の様に制御点を定義しますがこの辺は後で詳しく説明致しますので今はチンプンカンプンで構いません、今回説明するのはD51動輪駆動プラグインを使いながら説明したいと考えています、皆さん宜しくです。下記の様に制御点を定義しますがこの辺は後で詳しく説明致しますので今はチンプンカンプンで構いません、今回説明するのはD51動輪駆動プラグインを使いながら説明したいと考えています、皆さん宜しくです。

下記の画像リストはD51用でプラグインの処理内容で皆変化します、此処ではMAYAのD51がどの様に対応するのかをお見せする為に提示していますが、CGtraderで販売中のモデルに対応しています一部バージョンの変更が有りますが問題は対処が行えるために問題はありません。

このD51は可動部分の動きが複雑に動きますので内容は複雑です。1フレームで1度動きますから360フレームで動輪は1回転します、MAYAの回転角度は全てラジアンで1/1000ラジアンで制御されます単位は ± 0~+3.14、±0~-3.14の値を取ります。

ダグパスリストです。

MAYAからは基本的に1フレーム毎に呼ばれて来ます、DLLの型式は1回毎に初期化されていきますから現状を記憶して置く事が不可能です。最端で処理が終わる必要が有ります、極力繰り返し文(for文)は使わない様にして下さい。MAYAから呼ばれた場合には余計な処理はしないで最短で操作権利をMAYAに返却しなければ行けません。

MAYA Definラベル定1

MAYA Definラベル定2

関数本体(ヘッダーファイル)の定義です

下記の画像コードでMAYAはプラグインを認識します。

MAYAは起動時にプラグインを検出すると(チェックを入れると)一度関数を呼び出します、エラーが無く正しければチェックが入ります。

良く見て呼ばれる順序を覚えて下さい、必ずこの順序で呼び出されます。

上記画像で10行目の::createrが呼び出され次に11行目の:::Newsyntaxが呼び出されます。、これから全ての関数を説明します、私が販売中のD51の動輪を動かすプラグインでありその構造をモデリングを含めたヶ所も取り入れて構造を覚えて頂きます、勿論貴方が応用出来る様に致します、不明点が有る場合にはコメントを投函して下さい。

MAYA側での駆動ヶ所

駆動する動輪です、選択されている部分がすべてプラグインの制御対象です

左側駆動メカを選択しています

この部分をダグリストから抽出して制御を行います。

Outlinを見て下さい、この箇所が計算されて0.1度で制御されて来ます、その値でMAYA側では自動的にキーフレームを登録して行きます。

MAYA側で実行するMELプログラムです

この部分がプラグインを構築しま

この部分がMAYA側での要求でクラスを実装します。

DoItと呼ばれています、この部分がメインJOBになります

この部分がダグリストを分解して構造体に分割したダグを再保存します

リスト続

説明はページを変えて最初から説明して行きます、まずはコードを見て下さいこのコード類は重要な働きをしておりプラグインの骨格をなしています、どのようなプラグインにも必ず必要になる関数群です、概要でよいですから簡単に理解して下さい。