ノードとアトリビュートの概要

 
 
 

ノード

Maya はノードを中心に構築されています。たとえば球などの「オブジェクト」は、球を作成したオプションを記録するクリエーション ノード、オブジェクトの移動、回転、スケールを記録するトランスフォーム ノード、球の制御点の位置を格納するシェイプ ノードといった複数のノードから構築されています。

アトリビュート

アトリビュートとは、特定の値や別のノードへの接続を保持することができる、ノードに接続された位置のことです。アトリビュートはノードの動作を制御します。たとえば、トランスフォーム(Transform)ノードには X、Y、Z の回転角度に関するアトリビュートがあります。

Maya でアトリビュートを設定するには、アトリビュート エディタ(Attribute Editor)チャネル ボックス(Channel Box)アトリビュート スプレッドシート(Attribute Spread Sheet)、メニューの選択項目、MEL など、多くの方法があります。

すべてのノードは、作成されるときに特定の既定のアトリビュートが設定されます。パーティクル オブジェクトの不透明度やカラーなど、必要なときに後から任意で追加するアトリビュートもあります。

任意のノードに独自のアトリビュートを追加して情報を格納することもできます。これはアニメーションのエクスプレッションやスクリプトに役立つ機能で、1 つのカスタム アトリビュートを使って複数の標準アトリビュートを制御できます。

重要:Maya では、ノード名およびアトリビュート名を数字で始めることはできません。

関連項目

コンストラクション ヒストリ

Maya での作業時にアクションを実行すると、ほとんどの場合、操作しているオブジェクトのコンストラクション ヒストリにノードが作成されます。作業の各時点で表示されるシーン(現在のシーン)は、それまでに作成したすべてのノードの結果です。

たとえば、中心ポイントを中心にカーブを回転させるとカーブのシェイプに断面がある新しいサーフェスが作成されますが、このアクションをカーブに適用した場合、新しい回転ノードが作成されます。回転ノードには、カーブのシェイプが入力として接続されます。この入力されたカーブからサーフェスを作成する方法をノードのアトリビュートで制御します。そして、作成されたサーフェスがこのノードの出力になります。

カーブから、回転ノード、サーフェスとつながるこのようなノードのチェーンを、サーフェスのコンストラクション ヒストリと言います。コンストラクション ヒストリにおいて最も重要なことは、ユーザがそれを変更できるということです。カーブのシェイプを変更(回転ノードのアトリビュートを変更)することが可能で、作成されたサーフェスは自動的に更新されます。

直接操作

Maya での作業の大部分は、マニピュレータを使用してノードやアトリビュートを直接操作することに関わってきます。

マニピュレータは視覚的なオブジェクトで、ハンドルをドラッグすれば結果が即座に表示されるので、複雑なタスクを具体的に目に見える形で簡単に行うことができます。

上記の回転の例を用いると、マニピュレータの表示ツール(Show Manipulator Tool)を使ってマニピュレータを表示することにより、回転ノードの選択とアトリビュート(サーフェスの作成方法)の編集を視覚的に行うことができます。

マニピュレータを使用すると、ハンドルをドラッグするだけでアトリビュート(中心ポイントからサーフェスが広がる距離など)を簡単に制御できます。

個々のアトリビュートのマニピュレータを表示して、その値を視覚的に編集することもできます。

キー設定可のアトリビュート

Maya のアニメーションは、オブジェクトを動かせるだけではありません。Maya では、どのノードでもほとんどのアトリビュートをアニメートすることが可能です。サーフェスの構築方法やテクスチャの外観を制御するアトリビュート、デフォーマや物理フォースのインフルエンスといったものはすべて、時間の経過に伴って変化させることができます。

MEL

MEL は Maya Embedded Language の略です。MEL は Maya のスクリプト言語です。MEL は Maya に深く統合されています。MEL を使用すると、ウィンドウを開いたりコマンドを使って簡単なアクションを実行したりすることから、Maya のインタフェースを完全にカスタマイズしたり、Maya 上にまったく新しいアプリケーションを書き込んだりすることまで、あらゆることを実行できます。Maya で実行できることはほとんどすべて、MEL を使用して実現できます(MEL で実現できないことは、Maya API を使って別の言語で実行できます)。