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とMStringArray

        MStatus

        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)などのアプリケーションで解凍してご使用ください