Maya 開発ツール キットには、数多くの付属のサンプル プラグインがあります。この章の情報は、目的の操作に合ったサンプル プラグインを探すのに役立ちます。これらのサンプルでは、ファイル名からサンプル プラグインの種類がわかるように、次の命名規則を使用しています。
| blindComplexDataCmd |
ユーザ定義のデータ型として、より複雑なブラインド データをオブジェクトに追加する例を示すコマンド。blindComplexDataCmd を参照してください。 |
| blindDoubleDataCmd |
ユーザ定義のデータ型として、ブラインド データをオブジェクトに追加する例を示すコマンド。blindDoubleDataCmd を参照してください。 |
| blindShortDataCmd |
ブラインド データをオブジェクトに追加する例を示すコマンド。blindShortDataCmd を参照してください。 |
| closestPointCmd |
MMeshIntersector クラスを使用して、ポイント ライトとメッシュの間の最近接ポイントを検索する方法を示すコマンド。 |
| closestPointOnCurve |
数学関数に応じてクラスタの複数の CV にウェイトを設定するコマンド。closestPointOnCurve を参照してください。 |
| convertBumpCmd |
API を使用したノンリニア アニメーション クリップの作成に必要な手順を示すコマンド。convertBumpCmd を参照してください。 |
| convertEdgesToContainedFacesCmd |
選択したエッジを相互に接続したフェースに変換するコマンド。convertEdgesToContainedFacesCmd を参照してください。 |
| convertVerticesToContainedEdgesCmd |
選択した頂点をオリジナルの頂点と相互に接続したエッジに変換するコマンド。convertVerticesToContainedEdgesCmd を参照してください。 |
| convertVerticesToContainedFacesCmd |
選択した頂点をオリジナルの頂点と相互に接続したフェースに変換するコマンド。convertVerticesToContainedFacesCmd を参照してください。 |
| cvExpandCmd |
NURBS CV の選択範囲を分割して、選択されている 1 つの CV あたり 1 つの文字列を適用するコマンド。cvExpandCmd を参照してください。 |
| cvPosCmd |
NURBS CV またはポリゴン頂点のワールド空間またはローカル空間を返すコマンド。cvPosCmd を参照してください。 |
| dagPoseInfoCmd |
スケルトンのバインド ポーズまたは「dagPose」コマンドで作成されるその他のポーズについて、DAG ポーズ情報を抽出する方法を示すコマンド。dagPoseInfoCmd を参照してください。 |
| deletedMsgCmd |
使用可能な各ノード削除コールバックを示します。 |
| deletedMsgCmd |
API で使用可能な各ノード削除コールバックを示すコマンド。このコマンドは、選択したノードにコールバックを登録し、コマンド実行中にコンソールにメッセージをトリガします。 |
| dynExprFieldTest |
クラス MPxFieldNode に追加された、パーティクル単位のフィールド アトリビュート サポートを示します。 |
| exportJointClusterDataCmd |
すべてのジョイント クラスタ ノードの検索方法を例示し、MFnWeightGeometryFil6ter 関数セットと MItGeometry イテレータを使用して、各ジョイント クラスタによって変形するジオメトリごとに、1CV あたりのウェイトを書き出すコマンド。 |
| exportSkinClusterDataCmd |
スムーズ スキン データを別のフォーマットに書き出すコマンド。 |
| findFileTexturesCmd |
シーン内のファイル テクスチャ ノードを見つけるコマンド。 |
| findTexturesPerPolygonCmd |
各ポリゴンに割り当てられたファイル テクスチャ ノードを見つけるコマンド。 |
| flipUVCmd |
UV を操作する MPxPolyTweakUVCommand クラスの使用例。 |
| helix2Cmd |
元に戻すとやり直しを実装するコマンド。 |
| helixTool |
OpenGL を使用してガイドラインを引くツール。 |
| helloCmd |
引数を取る小さなコマンド。 |
| helloWorldCmd |
最初の単純なコマンド。 |
| idleTest |
ノード内におけるアトリビュートの依存状況を表示するコマンド。 |
| instanceCallbackCmd |
インスタンスの追加と削除のメッセージの受け取りの例を示します。 |
| instancerListCmd |
MFnInstancer と MItInstancer クラスを使用して、シーンですべてのパーティクル インスタンスを列挙する方法を示します。 |
| intersectCmd |
メッシュとスポット ライトの間にある交差ポイントを発見する方法を例示します。この例では、高速化された MFnMesh 交差手法がデモされます。 |
| ライト リンク情報を検索するコマンド。 |
|
| 選択された各ポリゴン メッシュのすべての穴のリストを生成するコマンド。 |
|
| ノードとプラグのロックに関する API コールバックの例。 |
|
| マウス選択を実装するコマンド。 |
|
| MFnMesh に追加されたハイレベルなポリゴン API メソッドの使用例。 |
|
| meshReorderCmd |
ユーザ定義の開始フェースに基づいてポリゴン メッシュを再インデックスするコマンド |
| モーション パスに沿ってオブジェクトをアニメートするコマンド。 |
|
| キーフレームが設定されたオブジェクトの位置を段階的に評価し、モーション パス カーブを描くコマンド。 |
|
| 複数の CV を原点に移動するコマンド。 |
|
| ディペンデンシー グラフ走査の例を示すコマンド。 |
|
| アクティブ セレクション リストにあるすべてのノードに対してコールバックを追加するコマンド。 |
|
| API からのパーティクル ID 情報を使用し、時間の経過に伴いパーティクルの位置から一連の NURBS カーブを得るコマンド。 |
|
| パーティクル情報を読み込むための新しい MFnParticleSystem クラスの使用例。 |
|
| pfxInfoCmd |
Maya® Paint Effects™ からレンダリング ライン情報を抽出する方法を例示します。 |
| 名前別にオブジェクトを選択するコマンド。 |
|
| ワールド空間の位置とポリゴン メッシュ上の法線を計算する MEL コマンドと DG ノード。 |
|
| 頂点、エッジおよびフェース コンポーネントの ID 変更を受け取る MPolyMessage クラスの使用法を示します。 |
|
| ポリゴンを作成するコマンド。 |
|
| MProgressWindow クラスの使用法を示します。 |
|
| シーン内のリファレンス ファイルについて有益な情報を検索するコマンド。 |
|
| MRenderView クラスの startRender() メソッドに追加された即座のフィードバック設定の例を示します。 |
|
| DAG 走査の例を示すコマンド。 |
|
| DAG 走査の例を示すとともに、構文オブジェクトを使用して、受け取る引数を解析するコマンド。 |
|
| オブジェクトをらせん形に移動させるコマンド。 |
|
| ポリゴン メッシュ上の選択した UV の共有を解除する(UV を分割する)コマンド。 |
|
| MFnNurbsSurface 関数セットを使用して、複数の CV とノットから NURBS サーフェスを作成するコマンド。 |
|
| NURBS サーフェスの CV 位置またはポリゴンの頂点位置を変更することで、y 軸中心にサーフェスをツイストするコマンド。 |
|
| threadTestCmd |
MThreadPool スレッド クラスの使用方法を示すコマンド。 |
| threadTestWithLocksCmd |
MThreadPool および MSpinLock スレッド クラスの使用方法を示すコマンド。 |
| オブジェクトを移動するコマンド。 |
|
| MEventMessage クラスに追加された新しい元に戻す(Undo)とやり直し(Redo)イベントの使用法を示します。 |
|
| MUserEventMessage クラスの使用法を示します。この例では、文字列で識別されるユーザ定義イベントの作成、除去および表示が可能です。 |
|
| ユーザ定義メッセージの使用方法を示すコマンド。このコマンドは、API を介して名前付きイベントを登録、登録解除、表示するオプションをサポートします。この例では、入力時に単純にメッセージを出力するコールバックを使用します。 |
|
| viewCallbackTest |
プリ レンダリング コールバック、ポスト レンダリング コールバック、ビュー破壊コールバックを受け取る方法を例示します。 |
| MFnVolumeLight クラスの使用例。 |
|
| オブジェクトに関する API 型の情報を出力するコマンド。 |
|
| カメラを通したビューを拡大するコマンド。 |
| MPxNode::setDependentsDirty() メソッドの新しい使用例を示します。この新しいメソッドは、ダイナミックおよび非ダイナミックな(つまりスタティックな) Maya アトリビュートに関連する attributeAffects() リレーションシップを考慮に入れています。 |
|
| 初めからポリゴン メッシュを作成し、そのメッシュをディペンデンシー グラフ アトリビュートに出力するディペンデンシー ノードのサンプル。 |
|
| 新しい型のポリゴン メッシュとシェイプに特有のジオメトリ データを登録するシェイプ ノードと、その新しいシェイプ型を作成するノードのサンプル。 |
|
| apiSimpleShape |
コンポーネントの操作方法をデモしたシェイプ ノードの例。MPxComponentShape クラスを使用します。 |
| arcLenNode | ジオメトリを入力として取る単純なノードのサンプル。 |
| 代数計算を行う単純なノード。 |
|
| 比較的複雑なプロシージャ アニメーションのサンプル。 |
|
| closestPointOnCurve | 数学関数に応じてクラスタの複数の CV にウェイトを設定するコマンド。 |
| スケール マニピュレータで頂点の位置を制御する変換機能の使い方を示す複雑なサンプル。 |
|
| curveArrowsNode |
透明度の使用方法と、MPxLocatorNode の「最新」の描画機能を示します。 |
| customImagePlane |
ユーザ定義イメージ プレーンの作成方法を示します。 |
| NURBS サーフェスの各 CV の上部に、カラーを適用したポイントを描くロケータ ディペンデンシー ノードのサンプル。 |
|
| 頂点カラー(CPV)をソフトウェア レンダリングすることを可能にします。 |
|
| カスタム ノードで ramp アトリビュートを実行する手順を示すサンプル。 |
|
| 対応するマニピュレータがあるロケータ ディペンデンシー ノードのサンプル。footPrint ロケータを選択して footPrint マニピュレータを表示するには、マニピュレータの表示ツール(Show Manipulator Tool)を使用します。 |
|
| ロケータ ディペンデンシー ノードのサンプル。実はロケータとは、ユーザによるオーバーライドが可能な複数の draw メソッドが設定された DAG ノードです。この特定のロケータによって、足跡が描かれます。 |
|
| NURBS カーブの配列から NURBS サーフェスを作成するリアルなロフト ディペンデンシー ノードのサンプル。 |
|
| genericAttributeNode |
ノードで汎用アトリビュートを作成および使用する方法を示します。 |
| geometrySurfacConstraint |
ユーザ定義コンストレイントの作成方法を示します。 |
| 単純な汎用プロシージャ ノード。 |
|
| ディペンデンシー ノードにおける複雑なジオメトリ変更の例。低レベルのディペンデンシー グラフにアクセスしてノードをフックするコマンドを伴います。 |
|
| MArrayDataBuilder クラスを使用するディペンデンシー ノードのサンプル。 |
|
| 指定されたノードをモニタするクラス。 |
|
| CV のウェイトに従って頂点のオフセットを行う、デフォーマ ディペンデンシー ノードのサンプル。 |
|
| particleAttrNode |
パーティクル単位のデータをパーティクル シェイプにマッピングするカスタム ノードの定義方法を示します。 |
| pnTrianglesNode | ATI Radeon 固有のハードウェア シェーダ プラグイン。 |
| ワールド空間の位置とポリゴン メッシュ上の法線を計算する MEL コマンドと DG ノード。 |
|
| ディペンデンシー ノードへの入力としてサブディビジョン サーフェスを検索する方法を示すサンプル。 |
|
| poly API クラス MPxPolyTrg を使用してメッシュのユーザ定義の三角分割を追加する方法を示すサンプル。 |
|
| OpenGL gluQuadric 関数を使用して 2 次シェイプを実装する、単純なシェイプ ノードのサンプル。 |
|
| ロッキング モーションを定義する MPxTransform の実施手順を例示するサンプル。 |
|
| ロッキング モーションを定義してユーザ入力値をチェックする MPxTransform の実施手順のサンプル。 |
|
| 回転マニピュレータに対する別の設定を示すサンプル。 |
|
| 手順を追って貝殻を生成し、それらをメッシュとして出力するディペンデンシー グラフ ノード。 |
|
| コンストラクション ヒストリを設定した状態で、カーブに対してユーザ定義のロフト関数を実装するノード。内部のディペンデンシー ノードにジオメトリ(NURBS サーフェス)を渡す方法も示します。 |
|
| 単純なプロシージャ アニメーションのサンプル。 |
|
| stringFormatNode |
入力と出力アトリビュートとして文字列を使用する方法を示します。 |
| この例では、pointOnSurface マニピュレータを使ってサーフェス上のマニピュレータの位置の近くにある頂点を変更する方法を示します。 |
|
| 既存のユーザ定義マニピュレータをすべて 1 つのノードにアタッチしたサンプル。 |
|
| 移動アトリビュートを入力および出力として使用するディペンデンシー ノードのサンプル。単一のディペンデンシー グラフ接続を介して、X、Y、Z のアトリビュートをすべて転写する方法を示します。また、アトリビュート エディタ(Attribute Editor)のサンプル テンプレートも組み込まれています。 |
|
| デフォーマの weightList アトリビュートにあるマルチアトリビュートを操作する方法を例示します。 |
|
| 変形した頂点を Y 軸中心にツイストするデフォーマ ディペンデンシー ノードのサンプル。 |
以下に示すユーザ定義のディペンデンシー グラフ ノードによって、MPxEmitterNode、MPxSpringNode と MPxFieldNode から派生するダイナミクス ノードが作成されます。
| particleShape によって定義される複数のポイントから一定方向に放射する、パーティクル エミッタ ノードのサンプル。 |
|
| 単一のポイントから一定方向に放射するパーティクル エミッタ ノードのサンプル。 |
|
| simpleFluidEmitter |
新しい MPxFluidEmitterNode クラスを使用して Maya の標準的な流体エミッタの大半の機能を実行する手順を示すサンプル流体エミッタ ノード。 |
| シミュレーションに使用するばねの法則を定義するスプリング ノードのサンプル。 |
|
| カーブまたはサーフェス上のポイントから一定方向に放射する、パーティクル エミッタ ノードのサンプル。 |
|
| それ自体と一定距離との間で attract-repel フィールドを実装する、フィールド ノードのサンプル。 |
| blastCmd |
オフ スクリーン レンダリング API 拡張機能を使用する方法を示します。 |
| カラー情報をハードウェア シェーディング ノードに供給するためのブラインド データの使用例。 |
|
| 詳細な機能を数多く備えたハードウェア シェーダ プラグイン。 |
|
| レンダリング コールバックの処理方法を示します。 |
|
| MRenderView クラスを使用してレンダー ビュー(Render View)ウィンドウにフル イメージをレンダリングする方法を示します。 |
|
| MRenderView クラスを使用して Maya のレンダー ビュー(Render View)で現在選択されている領域をレンダー(Render Region)を更新する方法を示します。 |
|
| sampleCmd | MRenderUtil::sampleShadingNetwork() を使用して、シェーディング グループまたはノードをサンプリングする方法を示します。 |
| MRenderUtil::sampleShadingNetwork() を使用して、シェーディング グループまたはノードをサンプリングし、パーティクル オブジェクトにカラーを割り当てる方法を示します。 |
|
| ShadingConnection |
シェーダのアトリビュートに関する有益な情報を保存しているクラス。上流に接続されるものを含みます。 |
| ShapeMonitor |
シェイプ ノードやテクスチャ ノードをモニタし、最後の書き出し以降の変更内容を記録するクラス。 |
| テクスチャ プラグイン内からの uvCoord と refPointCamera を変更する例を示します。 |
|
| hwManagedTextureShader |
テクスチャ キャッシュを効率的に管理する方法を示します。 |
| OpenGLViewportRenderer |
Maya シーン ビュー描画をオーバーライドする方法を示します。 |
| D3DViewportRenderer |
Direct3D を使用して Maya シーン ビューにレンダーする方法を示します(Windows のみ)。 |
| lensDistortionCallback | 複数の描画パスを有効にして各パスのプリレンダー/ポストレンダーを待機する方法を示します。 |
| Maya 内で変更中の「条件」を表示します。 |
|
| ddsFloatReader |
.dds float ファイル フォーマット リーダの定義方法を示します。 |
| Maya 内で変更中の「イベント」を表示します。 |
|
| filterAsciiFile |
Maya ASCII ファイルのフィルタリングを制御する方法を示します。 |
| hairCollisionSolver |
MHairSystem を使用して、Maya のオブジェクトをヘア衝突アルゴリズムにオーバーライドする方法を示します。 |
| 押すとらせん形を作成するボタンを備えた Motif ウィンドウを新たに作成します。このプラグインは、Linux のみで使用可能です。 |
|
| idleTest | アイドル メッセージと UI から削除されたメッセージをプラグインで使用します。 |
| IFF イメージ ファイルから情報を抽出します。 |
|
| IFF イメージ ファイルからピクセル値を抽出します。 |
|
| IFF イメージ ファイルを PPM イメージ ファイルに変換します。 |
|
| JL-Cooper MIDI VCR コントロール ボックスにユーザ定義の MIDI 入力デバイスを作成します。このプラグインは、Linux のみで使用可能です。 |
|
| 独自のマジック ナンバーを定義し、MEL コマンドを読み取るファイル トランスレータのサンプルです。 |
|
| MayaAscii ファイルに近い形式に変換するファイル トランスレータの例。 |
|
| ユーザ定義コンテキストを使った freePointTriad と距離マニピュレータの使用方法を示す単純なマニピュレータ。 |
|
| 正投影ビューでの移動を実行するとともに、移動ツール(Move Tool)の使用時にユーザが精密な移動値を入力できるようにする選択アクション ツールです。 |
|
| 正投影ビューでの移動を実行する選択アクション ツールです。 |
|
| pnTrianglesNode | このノードは、ディペンデンシー ノードへの入力としてサブディビジョン サーフェスを検索する方法を示す、単純なサンプルです。 |
| simpleImageFile |
新規のイメージ ファイル フォーマットの定義方法を示します。 |
| createNode を介して登録した、xy プレーン上の単純なユーザ定義シングル ボーン IK ソルバのサンプル。createNode を介してプラグイン ソルバを登録すると、ikMCsolver などの既定以外の IK ソルバと同じ登録手順になります。 |
|
| tiffFloatReader |
.tif float ファイル フォーマット リーダの定義方法を示します。 |
| OpenGL を使用して現在の3D ビューを取り込み、そのビューを PPM ファイルに書き込みます。 |
次の表に、Maya に付属している一部のシステム プラグインのソースを示します。その他のほとんどのサンプル コードと異なり、これらのソース コードは、複雑な実稼動用プラグインのサンプルです。
各ソースの詳細については、『トランスレータ機能』マニュアルを参照してください。このマニュアルのコンパイル版は、Maya パッケージに同梱されています。トランスレータ ガイドは、http://www.autodesk.com/maya-docs-archive の Maya ドキュメント アーカイブにあります。現在のリストは以下のとおりです。