目次
API ガイド
Maya API の基礎知識
基礎知識
プラグインをロードする
プラグインをアンロードする
単純なプラグインを作成する
重要なプラグイン機能
Maya と対話する
MObject
ラッパ
オブジェクトと関数セット
命名規則
引数を追加する
エラー チェック
MStatus クラス
エラー ロギング
API で選択する
API での選択の概要
MGlobal::setActiveSelectionList()
MSelectionList
MItSelectionList
setObject() メソッド
MFn::Type 列挙型
MGlobal::selectByName()
コマンド プラグイン
コマンドを Maya に追加の概要
コマンドを登録する
MFnPlugin
initializePlugin()
uninitializePlugin()
creator メソッド
MPxCommand
MEL に結果を返す方法
構文オブジェクト
フラグ
コンテキスト
MPxContext
MPxContextCommand
ツール プロパティ シート
MPxToolCommand
Maya のメニューにプラグインを取り付ける
DAG 階層
DAG 階層の概要
ノード
トランスフォームとシェイプ
DAG パス
一般化インスタンス
複数のシェイプを持つトランスフォーム
DAG 走査の例
ソフトウェア シェーディング ノードを作成する
シェーディング ノード プラグインの概要
シェーディング ノード プラグインを作成する
シェーディング ノード プラグインを分析する
InterpNode コード サンプルの概説
シェーディング ノードの区分
ハイパーシェードのシェーディング ノード アイコン
ハイパーシェードにカスタム シェーディング ノードを追加する
特殊なシェーディング ノード
シェーディング ノードの SuperSampling
レンダリング コンテキスト以外でのシェーディング ノードの評価
ディペンデンシー グラフ プラグイン
ディペンデンシー グラフ プラグインの概要
親クラスの説明
基本
ディペンデンシー グラフ(DG)ノード
ノード
アトリビュートとプラグ
複雑なアトリビュート
データ ブロック
データ ハンドル
データ クリエータ
compute メソッド
より複雑なサンプル
MPxNode クラスと派生クラス
マニピュレータ
マニピュレータの作成の概要
マニピュレータとは
ベース マニピュレータ
マニピュレータを作成する
マニピュレータのコンテナ
マニピュレータとノードのやり取り
マニピュレータをマニピュレータの表示ツールにコネクトする
シェイプ
Maya でのシェイプ
シェイプ クラス
シェイプを作成する
描画とリフレッシュ
セレクション
コンポーネント
ツィークと内部アトリビュート
ジオメトリ データ
ファイル入出力
デフォーマ
マーキング メニュー
シェイプの例
ハードウェア シェーディング ノードを作成する
ハードウェア シェーディング ノード プラグインの概要
ハードウェア シェーディング ノード プラグインを実装する
ハードウェア シェーディング ノード プラグインのサンプル
ハードウェア シェーダのパフォーマンスの改良
ハードウェア シェーディング ノード プラグインのサンプル
カスタム トランスフォーム ノードを作成する
カスタム トランスフォームの概要
カスタム トランスフォームを実装する
カスタム トランスフォームのサンプル
カスタム トランスフォーム ノードのサンプル
デフォーマ ノードを作成する
デフォーマの概要
デフォーマ ノードを実装する
デフォーマ ノードの例
デフォーマのサンプル
ファイル トランスレータを作成する
ファイル トランスレータの概要
ファイル トランスレータを実装する
MEL コマンドにアクセスする
ファイル トランスレータのサンプル
開発キットのファイル トランスレータ サンプル
マルチスレッド化プラグイン
基礎知識
データとタスクの並列処理
スレッド
ロック
OpenMP
Intel Threading Building Block (TBB)
スレッド化の課題
メモリの割り当て
スレッド化と Maya
その他のタイプの並列処理
Python スレッド化と Maya
サード パーティ製ツール
API クラスとプラグイン
Mac OS X プラットフォーム固有の pthread の課題
ベンダ固有の OpenMP の課題
Polygon API
Polygon API の概要
ポリゴンの内部処理
5 つの基本ポリゴン API クラス
コンストラクション ヒストリとツィーク
polyModifierCmd の例
splitUVCmd の例
Poly エクスポータ プラグイン
Qt の使用
Qt を利用した Maya の UI の概要
loadUI コマンドの使用方法
プラグインでの Qt の使用方法
ビルド環境を設定する
プラグインおよびアプリケーションの構築に関する基礎知識
コンパイラの要件
Linux 環境(64 ビット)
Linux のコンパイラの要件
デバッガを使用してプラグインをデバッグする
Windows 環境(32 ビットと 64 ビット)
Maya Plug-in Wizard をインストールする
Maya Plug-in Wizard 2.0(32 ビット バージョン)
Maya Plug-in Wizard 2.0(64 ビット バージョン)
Mac OS X 環境
Maya プラグインで使用するための Qt の設定
Maya Python API
Maya Python API の基礎知識
開発キット
Maya Python API を使用する
Maya の C++ と Python API の違い
Maya プラグインの配布
個別ファイルの配布
複数ファイル モジュールの配布
モジュールの制約事項
共有ライブラリ
mental ray シェーダ
テクニカル ノート
汎用アトリビュート
スレッドと Maya API
プラグインを国際化する
Maya API 国際化アーキテクチャの概要
国際化プロセス
ローカリゼーション プロセス
サンプル コード
closestPointOnCurve.pres.mel リソース ファイルの翻訳バージョン
サンプル プラグイン
サンプル プラグインの概要
スタンドアローンのサンプル アプリケーション
サンプル C++ プラグインの説明
スタンドアローンのサンプル アプリケーションの説明
シェーダのソース コードのサンプル
サンプル スクリプト プラグイン
付録
付録 A: NURBS ジオメトリ
付録 B: ディペンデンシー グラフのレンダリング ノード
付録 C: レンダリング アトリビュート
付録 D: よくある質問
付録 E: API と開発キットの制限事項
付録 F: イメージ プラグインの追加