サーチ…


備考

このドキュメントでは、 Autodesk Mayaのコーディングについて説明します。これは、Mayaソフトウェアのエンドユーザ向けのものではありません 。 (Mayaでモデル化またはアニメーション化する方法を知るには、 Autodeskの紹介ビデオまたはCGSocietyのようなエンドユーザサイトを試してみてください)。

言語

Mayaは、3つのプログラミング言語、MEL、組み込みのスクリプト言語、プラグインに使用されるC ++。統合ジョブには一般的なPythonも、C ++ APIのラップされたバージョンを使用してプラグインを作成することもできます

インストール

Mayaは3つの主要プログラミング環境をサポートしています。それぞれに異なるセットアップ要件があります。

MEL

MELスクリプト言語はMayaアプリケーションに含まれています。デフォルトでは、実行中のMayaのスクリプトリスナウィンドウでMELをテストできます。

MELファイルは拡張子が.melテキストファイルです。リスナまたは別のMELスクリプトでsourceコマンドを使用して、実行中のMayaセッションにロードできます。 Mayaはソースディレクトリのリストを管理し、適切な名前のファイルが見つかるまで、すべてのディレクトリで要求されたMELスクリプトを検索します。

スクリプトパスを設定するには、いくつかの方法があります。詳細についてはAutodeskのマニュアルを参照してください。

Python

Mayaには、 Pythonインタプリタが組み込まれています。 MELコマンドはPythonのmaya.cmds Pythonモジュールで利用できるので、 polyCube -n "new_cube"ようなコマンドはPythonでmaya.cmds.polyCube(n='new_cube')として利用できます。リスナーウィンドウには、ユーザーがPythonコマンドを対話的に入力できるPythonタブがあります。

MayaのPythonでは、Pythonのimportディレクティブを使用してモジュールをインポートできます。 Mayaは、環境変数またはmaya.envファイルを使用して、Mayaアプリケーションで設定されたいくつかの場所でPythonファイルを検索します。 オートデスクのドキュメントでは、PythonファイルをMayaが参照して読み込むことができる場所にPythonファイルを配置する基本について説明しています。

C ++

MayaはAPIをC ++に公開しています。開発者は起動時にMayaが認識するプラグインをコンパイルできます。

MayaのC ++プラグインを開発するには、 Maya Devkitが必要です 。ご使用のプラットフォームに適したバージョンをダウンロードし、付属の指示に​​従ってビルド環境をセットアップしてください。

シンプルなPythonの例

ヘルプラインの右下隅にあるボタンを使用してMayaリスナを開きます。スクリプトリスナーが開きます。

タブバーからPythonタブを作成します。

ここでは、デフォルトシーンでカメラの位置をプリントアウトする非常に基本的なスクリプトがあります。これをリスナーに入力します。

import maya.cmds as cmds          
cameras = cmds.ls(type ='camera')  
for each_camera in cameras:
    parent = cmds.listRelatives(each_camera, parent=True)
    position = cmds.xform(parent, q=True, translation=True)
    print each_camera, "is at", position

CTRL+enter実行するスクリプトを選択します。

キューブのランダムなコレクションを生成する別の簡単な例を次に示します。 Pythonのrandomモジュールを使用してランダムな値を生成します。

import maya.cmds as cmds
import random
         
for n in range(25):
    cube, cubeShape = cmds.polyCube()
    x = random.randrange(-50, 50)
    y = random.randrange(-50, 50)
    z = random.randrange(-50, 50)
    cmds.xform(cube, t = (x,y,z))

こんにちは世界

コンソール(Script Editor)のMayaで複数の言語で "hello world"を印刷する。

MEL

スクリプトエディタまたはコマンドラインバーのMELタブでMELを選択する:

print ("hello world");

スクリプトエディタで再生を開始するか、コマンドラインでキーを入力します。

ピトン

スクリプトエディタまたはコマンドラインバーのPythonタブでPythonを選択する:

print "hello world"

スクリプトエディタで再生を開始するか、コマンドラインでキーを入力します。



Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow