XGen Python API

概要

XGen は Python API を提供し、これにより Python シェルから XGen の内部データへのアクセスを可能にしています。これは Maya の内部でも外部でも使用できます。この API は Maya の内部に拡張されています。これは、Maya 内部に適用する処理(たとえば、ガイドの「名前」を承認してパッチを取得する)を可能にするためですが、それ以外には適用しないでください。XGen とのすべてのインタラクションは、この API を利用して、またはユーザ インタフェースから実行する必要があります。MPxCommandを介してのアクセス、および XGen 内に存在する可能性のある MEL 関数を介してのアクセスは保証されていません。

以下にすべてのメソッドを、戻り値のタイプと期待するパラメータ タイプを示す疑似構文で一覧表示します。メソッドの呼び出しは、Python で通常行う方法で行われます。順番にパラメータを渡しても、名前を使用して必要に応じて並べ替えてもかまいません。

API のインポート

この API は、ベース API と Maya API という 2 つの部分に分かれています。UI は独立した 1 つのコンポーネントですが、この API は基本的に、基底となる C++ コード、そしてベース API を構成する Python レイヤー、さらに Maya 追加要素を取り込むためのもう1つの Python レイヤーで構成され、それに加えて Maya API を構成する予備の API 機能もあります。タスクにとって適切な API を取り込むことが重要です。そうしないと、予期せぬ結果になる場合があります。最適なアプローチは、次のコマンドを使用して、XGen に判断を任せることです。

import xgenm as xg

これにより、Maya を検出する xgen モジュールが取り込まれ、任意で API の Maya レイヤが取り込まれます。Maya の内部と外部で実行されるスクリプトを使用していて、API の Maya 専用部分からメソッドを呼び出す場合は、それらを条件付きブロック内に配置する必要があります。これに安全に対処する方法は、次のように XGen の Maya 検出を使用することです。

import xgenm.xgGlobal as xgg

if xgg.Maya
    #XGen の Maya API の使用など、Maya 特有の処理を行う

これは XGen グローバル モジュールを取り込みます。これには Maya を検出する機能があります。この設定が終わったら、その xgg.Maya を使用して自分が Maya にいて Maya コードをこれらの条件の範囲内で保護することを決定できます。

ベース API

次のメソッドは、Maya の内側でも外側でも使用することができます。これらは、基底となる XGen データに対し直接実行されます。その多くは、XGen へのさらに速いリンクが必要であれば、C++ の API として libXgAPI.so ライブラリから使用することもできます。

作成および削除

オブジェクトのアクセス

アトリビュートのアクセス

Fx モジュール

カリング(Culling)

バインド情報

ファイル入出力

イベントのコールバック

メッセージ

一般

Maya Extension の API

ベース API メソッドのすべてを Maya から使用できますが、次のメソッドを使用すれば API がさらに拡張されます。これらは、一般的にその状況では意味がないため、ベース API の一部としては提供されていません。たとえば、Maya で「ガイド名」を受け取り「パッチ名」を返すメソッドは標準 XGen に適用されません。これは、ガイドに名前がなく、単にジオメトリ名に合わせてパッチ名が付けられるためですそうは言っても、ベース API のメソッドのいくつかは Maya でオーバーライドされます。このため、Maya を使用しているときは常に、MayaAPI を通じて API を参照することで正しいレイヤーが参照されるようにする必要があります。

Maya MPX API

以下に MPxCommand を示します。これは、XGen API の一部を成し、Maya でのみ利用できます。