Maya Python for Games and Film

- 著者:Adam Mechtley、Ryan Trowbridge
- 定価:本体7,000円 + 税
- 発行・発売:株式会社 ボーンデジタル
- ISBN:978-4-86246-206-0
- 総ページ数:392 ページ
- サイズ:B5版、モノクロ
発売日:2013年08月中旬

※書店でお買い求めの際には、予め在庫をご確認ください。≫取扱い店舗
※PDF書籍に関しては書店販売を行っておりません。
「Maya Python 完全リファレンス」は、Maya でのPython プログラミングに焦点を絞った初めての書籍です。この分野で実績のある権威、Adam Mechtley、Ryan Trowbridge による本書は、MayaPython を習得するための詳細なガイドブックです。
MEL からPython への移行を考えている経験豊富なテクニカルアーティストから、効率的に制作を行いたいと考えるアーティストまで、経験レベルを問わず、大いに役立つことでしょう。
本書の特長
- Python とMEL スクリプトが比較されているため、MEL からPython にスムーズに移行できます。
- 「 アンチャーテッド 黄金刀と消えた船団」など、受賞を誇るタイトルを制作した開発者から、Maya Pythonのパワーを利用する方法を直に学習できます。
- Webサイトhttp://www.maya-python.com(英語)には、サンプルスクリプト、シーンファイル、追加のスクリプトなどが用意されています。
本書は、「Maya Python for Games and Film: A Complete Reference for Maya Python and the Maya Python API」の日本語版です。
PART 1 PythonとMayaの基本
CHAPTER 1 Mayaのコマンドエンジンとユーザインタフェース
- Mayaとのインタラクション
MEL
Python
C++ API
Python API
- MayaでPythonを実行する
コマンド ライン
スクリプト エディタ(Script Editor)
Mayaのシェルフ
- Mayaのコマンドとディペンデンシーグラフ
- Pythonコマンドの概要
- フラグ引数とPythonの主なオブジェクト型
数値
文字列
リスト
タプル
ブーリアン
フラグ = オブジェクト型
- コマンドモードとコマンド引数
作成モード
編集モード
照会モード
- Pythonコマンド リファレンス(Python Command Reference)
概要
戻り値
関連
フラグ
Python例
- Pythonのバージョン
- Pythonオンラインドキュメント
- まとめ
CHAPTER 2 Pythonデータの基礎
- 変数とデータ
MELの変数
キーワード
Pythonのデータモデル
ミュータブルとイミュータブル
参照カウント
del()
None型
- Mayaコマンドで変数を使用する
結果の捕捉
getAttrとsetAttr
複合アトリビュート
connectAttrとdisconnectAttr
- 数値を使用する
数値型
基本的な演算子
- ブーリアンを使用する
ブーリアンとビット演算子
- シーケンス型を使用する
演算子
連結
インデクシングとスライシング
文字列型
エスケープシーケンスと複数行にまたがる文字列
raw 文字列
Unicode 文字列
文字列をフォーマットする
リストの詳細
del()
ネストされたリスト
- その他のコンテナ型
セット
演算子
ディクショナリ
演算子
ディクショナリの使用例
CHAPTER 3 MayaでPythonプログラムを作成する</b>
- Python 関数を作成する
関数定義の仕組み
関数の引数
デフォルト引数
キーワード引数
* 演算子を使用した可変長引数リスト
** 演算子を使用した可変長キーワード引数リスト
戻り値
- Mayaのコマンド
ノードをリストし選択する
fileコマンド
アトリビュートを追加する
- 反復処理と分岐
forステートメント
range()
分岐
if、elif、else
比較演算を使用する
スイッチをエミュレートする
continueとbreak
リストの内包表記
whileステートメント
- エラートラッピング
try、except、raise、finally
- 実用的なツールの設計
CHAPTER 4 モジュール
- モジュールとは?
- モジュールとスコープ
モジュールのカプセル化とアトリビュート
__main__モジュール
- モジュールを作成する
spikeモジュール
デフォルトアトリビュートとhelp()
パッケージ
create.py
math.py
__init__.py
- モジュールをインポートする
インポートとreload()
asキーワード
fromキーワード
アトリビュートの命名規則とfromキーワード
- Pythonパス
sys.path
パスを一時的に追加する
userSetupスクリプト
userSetup.py
userSetup.mel
sitecustomizeモジュール
sitecustomize.py
PYTHONPATH 環境変数を設定する
Maya.envによるMaya 固有の環境変数
システムワイドの環境変数と高度な設定
- PYTHON IDEを使用する
IDEをダウンロードする
Wing IDE
Eclipse
IDEの基本的な構成
ビュー
インタプリタを選択する
コードの自動補完
プロジェクト
Mayaに接続する
デバッグ
CHAPTER 5 Mayaでのオブジェクト指向プログラミング
- オブジェクト指向プログラミングと手続き型プログラミング
Pythonにおけるクラス実装の基本
インスタンスの作成
- アトリビュート
データアトリビュート
メソッド
__str__()
__repr__()
プロパティ
クラスアトリビュート
静的メソッドとクラスメソッド
Humanクラス
- 継承
- 手続き型プログラミングとオブジェクト指向プログラミング(Mayaの場合)
PyMELをインストールする
PyMELの概要
PyNodes
PyMELの機能
長所と短所
PyMELの使用例
PART 2 PythonによるMayaツールの設計
CHAPTER 6 Mayaツール設計の原則
- ユーザ中心設計のためのヒント
コミュニケーションと観察
まずは設計を
単純化と教育
- Mayaの付属ツール
選択
マーキング メニュー
オプションウィンドウ
CHAPTER 7 Mayaコマンドを使用した基本的なツール
- MayaコマンドとMaya GUI
- 基本のGUIコマンド
ウィンドウ
- ベースウィンドウクラスを作成する
メニューとメニュー項目
GUIオブジェクトを使ってコマンドを実行する
関数ポインタを渡す
文字列渡し
functoolsモジュールを使用する
レイアウトとコントロール
基本のレイアウトとボタン
フォームレイアウト
完成したAR_OptionsWindowクラス
- GUIクラスを拡張する
ラジオボタングループ
フレームレイアウトと浮動小数点数フィールドグループ
カラーピッカー
- より高度なツールを作成する
Pose Managerウィンドウ
フォームと機能を分離する
cPickleモジュールを使用してデータをシリアル化する
ファイルダイアログを使用する
CHAPTER 8 Qtによる高度なグラフィカルユーザインタフェース
- QtとMaya ウィンドウのドッキング
- Qtツールのインストール
Qt SDK
- Qt Designer ウィジェットシグナルとスロット
Qt Designerハンズオン
- MayaにQt GUIをロードする
loadUIコマンド
コントロールの値にアクセスする
シグナルとスロットによるウィジェットのマップ
PyQt
PyQtをインストールする
Maya 2011 以降でPyQtを使用する
旧バージョンのMayaでPyQtを使用する
PART 3 Maya Python APIの基礎
CHAPTER 9 C++の予備知識とAPIのドキュメント
- オブジェクト指向プログラミングの詳細 継承仮想関数とポリモーフィズム
- Maya APIの構造
Mayaのコアオブジェクトクラス(MObject)の概要
関数セットを使ってMObjectを操作する
- PythonとMaya APIの通信の仕組み
- PythonとC++のAPIの主な違い MStringとMStringArrayMStatus
void* ポインタ
プロキシクラスとオブジェクトの所有者
引数を持つコマンド
元に戻す(Undo)
MScriptUtil
CHAPTER 10 コマンドのプログラミング
- スクリプトプラグインをロードする
- スクリプトコマンドの構造
OpenMayaMPxモジュール
コマンドクラス定義
doIt()
コマンドクリエータ
初期化と初期化解除
- カスタム構文を追加する
回転順序をマッピングする
クラス定義
シンタックスクリエータ
フラグ引数
コマンドオブジェクト
構文の初期化
doIt()
オブジェクトの評価
フラグ引数を格納する
doItQuery()
- Mayaの元に戻す(Undo)/やり直し(Redo)メカニズム
- 複数のコマンドモードのサポートと元に戻す(Undo)/やり直し(Redo) 元に戻す(Undo)/やり直し(Redo)MDGModifier
コマンドモード
シンタックスクリエータ
__init__()メソッド
isUndoable()の初期化
その他のデータアトリビュート
doIt()
オブジェクトの評価
照会モードの選択
編集モードまたは作成モードの選択
redoIt()
新規ノードを作成する
トランスフォームノードを編集する
undoIt()
CHAPTER 11 Mayaのデータフロー
- ディペンデンシー グラフ ディペンデンシー ノードアトリビュート
プラグ
データブロック
compute()
データハンドル
アトリビュートとデータフロー
コネクション
遅延評価とプッシュプル
DGの評価をトリガする
ディペンデンシー グラフをデバッグする
ヒート マップの表示
dgTimerコマンド
- DAG(DIRECTED ACYCLIC GRAPH)
DAGパスとインスタンス生成
アンダーワールド
CHAPTER 12 ディペンデンシー ノードのプログラミング
- スクリプトノードの構造 ar_averageDoublesノードノードクラス定義
ノードクリエータ
ノードイニシャライザ
compute()
ベストプラクティス
初期化と初期化解除
- アトリビュートとプラグ
アトリビュートのプロパティ
Readable、Writable、Connectable
格納可能なアトリビュートとデフォルト値
キャッシュ済みアトリビュート
配列を操作する
論理インデックスと物理インデックス
プラグ配列を実装する
配列プラグを実装する
複合アトリビュート
※書店でお買い求めの際には、予め在庫をご確認ください。≫取扱い店舗
※PDF書籍に関しては書店販売を行っておりません。
正誤表 / ダウンロード
ダウンロード
サンプルコードは、以下のリンクよりダウンロードしてご利用ください。データは、ZIP形式で圧縮されています。
ご使用上の注意
ご使用のコンピュータに標準の解凍機能を使用するか、WinZip(Windows)などのアプリケーションで解凍してご使用ください