Maya Python 完全リファレンス

Maya Python for Games and Film

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

発売日:2013年08月中旬

製品の購入はこちら

  • Born Digital Store
  • Born Digital Store
  • Born Digital Store
  • Born Digital Store
  • Born Digital Store

※書店でお買い求めの際には、予め在庫をご確認ください。≫取扱い店舗
※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

格納可能なアトリビュートとデフォルト値

キャッシュ済みアトリビュート

配列を操作する

論理インデックスと物理インデックス

プラグ配列を実装する

配列プラグを実装する

複合アトリビュート

製品の購入はこちら

  • Born Digital Store
  • Born Digital Store
  • Born Digital Store
  • Born Digital Store
  • Born Digital Store

※書店でお買い求めの際には、予め在庫をご確認ください。≫取扱い店舗
※PDF書籍に関しては書店販売を行っておりません。

正誤表 / ダウンロード

ダウンロード

サンプルコードは、以下のリンクよりダウンロードしてご利用ください。データは、ZIP形式で圧縮されています。

ご使用上の注意

ご使用のコンピュータに標準の解凍機能を使用するか、WinZip(Windows)などのアプリケーションで解凍してご使用ください