ウィンドウ > ハイパーグラフ: 階層(Window > Hypergraph: Hierarchy)
ウィンドウ > ハイパーグラフ: コネクション(Window > Hypergraph: Connections)
シーン ビュー内: パネル > ハイパーグラフ パネル > ハイパーグラフ階層
ノードを表すボックスとリレーションシップを表すラインによって、シーンの階層構造またはディペンデンシー グラフのグラフィック ビューを提供します。
グラフ領域 には、各ノードを表すボックスと各ノードのリレーションシップを表すコネクション ラインのネットワークが表示されます。ハイパーグラフを使用すると、階層リレーションシップや依存リレーションシップ(アトリビュート間の入/出力コネクション)を表示し編集することができます。
コンテナ(Container)
グラフ領域に新しいコンテナ ノードを追加し、選択されたノードをそれに追加します。詳細については、 アセット > コンテナの作成(Assets > Create Container)を参照してください。
パブリッシュされた同一の名前を持つアトリビュートの値を、選択した最初のコンテナから 2 番目のコンテナに転送します。詳細については、 編集 > アトリビュート値の転送(Edit > Transfer Attribute Values)を参照してください。
シーン内のコンテナをカレント コンテナとして設定します。詳細については、 アセット > カレント コンテナの設定(Assets > Set Current Container)を参照してください。
バックグラウンド イメージの設定(Set Background Image)
フリーフォーム(Freeform)表示に設定時にディペンデンシー グラフ モード(入出力コネクション)またはシーン階層モードで表示する場合にハイパーグラフ(Hypergraph)パネル内のノードの背後に表示するイメージの位置をインポートおよび調整することができます。
バックグラウンド イメージは、シーン階層モードと入出力コネクション表示モードの両方で表示できます。Maya で承認されているイメージ フォーマットだけを使用することができます。詳細については、 サポート対象ファイル フォーマットを参照してください。
シーンの階層構造とは、親ノードの下に子ノードがグループ化されていることです。詳細については、 シーンの階層構造を参照してください。
たとえば、NURBS カーブを回転(Revolve)してワイン グラスのサーフェスを作成した場合、その回転(Revolve)したサーフェスのシェイプ ノードを選択して、グラフ > 入力と出力コネクション(Graph > Input and Output Connections)を選択すると、次に示すディペンデンシー グラフが表示されます。
ノード間のコネクション ラインはコネクションの方向を示しており、データを出力するノードを原点にして、そのデータを入力として受けるノードの方向へつながっています。
このディペンデンシー グラフの例では、NURBS カーブが回転(Revolve)操作のノードに対する入力ノードであることを示しています。リボルブ(Revolve)操作によって、回転シェイプ(ワイン グ ラス)が生成されます。それがさらに initialShadingGroup にコネクトされて、Maya デフォルトのシェーディング グループが設定されています。
マウス カーソルをコネクション ライン上に移動すると、入力ノードと出力ノードのそばに小さな白いボックスが表示されます。入力ノードのそばに表示される白いボックスには、入力を受けるノードの名前とアトリビュートが表示されます。
出力ノードのそばに表示される白いボックスには、データを出力するノードの名前とアトリビュートが表示されます。各ノード名とアトリビュートはピリオドで区切られています。
デフォルト カラー | アトリビュート タイプ | アトリビュートの例 |
---|---|---|
青 | 単一 | transform.translateX, makeNurbsSphere.radius |
シアン(青緑) | 二重 | file.repeatUV, cameraShape.cameraAperature |
緑 | 三重 | transform.translate, lambert.color |
マゼンタ(赤紫) | データ | nurbsSurface.create, makeNurbsSphere.outputSurface |
赤 | 配列 | particleShape.position, particleShape.velocity |
これらのデフォルト カラーの変更はカラー(Colors)ウィンドウで行います( ウィンドウ > 設定/プリファレンス > カラー設定(Window > Settings/Preferences > Color Settings))。
ハイパーグラフのコネクション モードで図示されるノードの数を制限することができます。デフォルトでは、走査デプスは無制限になっています(-1 に設定)。
ハイパーグラフ > グラフ > 走査デプスの拡大(Hypergraph > Graph > Increase Depth Traversal)およびハイパーグラフ > グラフ > 走査デプスの縮小(Hypergraph > Graph > Decrease Graph Traversal)を使用して、走査デプスを増減します。矢印を使用、またはハイパーグラフ(Hypergraph)メニュー バーの数値フィールドに整数を入力して、走査デプス値を変更することもできます。走査デプスの制限を削除するには、無制限(Unlimited)ボタンをクリック、または数値を -1 に設定します。
たとえば、NURBS 球体を作成してハイパーシェード(Hypershade)で Phong シェーディング グループを作成し、NURBS 球体に割り当てたとします。次に、ハイパーシェードを使用して白黒の 2D チェッカ テクスチャを作成し、Phong ノードに割り当てます。
ハイパーグラフでレンダリング > シェーディング グループの表示(Rendering > Show ShadingGroups)を選択すると、次のディペンデンシー グラフが表示されます。
ノード間のコネクション ラインはコネクションの方向を示しており、データを出力するノードを原点にして、そのデータを入力として受けるノードの方向へつながっています。上の図では、データが phong1SG シェーディング グループから renderPartition へと流れています。
ハイパーシェードにもほとんど同じノードが表示されますが、ディペンデンシー グラフではデータ フローに重点を置いてノードを表示します。これによって、シェーディング グループを構成しているノード間のコネクションを容易に確認することができます。
マウス カーソルをコネクション ライン上に移動すると、入力ノードと出力ノードのそばに小さな白いボックスが表示されます。入力ノードのそばに表示される白いボックスには、入力を受けるノードの名前とアトリビュートが表示されます。
出力ノードのそばに表示される白いボックスには、データを出力するノードの名前とアトリビュートが表示されます。各ノード名とアトリビュートは、たとえば checker1.outColor および phong1.color のように、ピリオドで区切られています。上記の図では、checker1 の出力カラー アトリビュートが phong1 のカラー アトリビュートに出力されています。
デフォルトでは、シーンの階層構造にシェイプ ノード、非表示ノード、またはアンダーワールド ノードは表示されません。シーンの階層構造には、トランスフォーム ノード、すなわちアトリビュートやオブジェクトの変換と親子リレーションシップなどの情報を保持したノードのみが表示されます。
シェイプ ノード(Shape node)には、オブジェクトのジオメトリ アトリビュート、つまりオブジェクトのトランスフォーム ノード アトリビュート以外のアトリビュートが含まれます。シェイプ ノードはトランスフォーム ノードの子ノードです。トランスフォーム ノードはシェイプ ノードを 1 つだけ持ちます。
非表示ノード(Hidden node)とは、Maya のメイン メニュー バーからディスプレイ > 非表示(Display > Hide)を選択して非表示にしたオブジェクトのことです。上面、前面、側面、パース ビューの各ビューの、デフォルトのカメラ ノードも非表示ノードです。
アンダーワールド ノード(Underworld node)とは、シェイプ ノードの下位にある一対のノードのことです。NURBS サーフェス上にカーブを作成すると、サーフェスのシェイプ ノードの下位にアンダーワールドのトランスフォーム ノードとシェイプ ノードが生成されます。これらのアンダーワールド ノードの CV には、ワールド空間またはローカル空間の座標ではなく、サーフェス上の UV 座標が含まれます。
シーンの階層構造の点線は、アンダーワールド ノードとのコネクションを示しています。また、インスタンス化されたオブジェクトとのコネクションも点線で表示されます。
作成 > NURBS プリミティブ(Create > NURBS Primitives) > 球体(Sphere)を選択して球体を作成すると、トランスフォーム ノードとシェイプ ノードが作成されます。
球体のシェイプ ノードには、球体のシェイプについての数学的な記述が保持されます。球体のトランスフォーム ノードには、球体の位置、スケーリング、回転、その他の記述が保持されます。この場合、シェイプ ノードはトランスフォーム ノードの子ノードになります。
ハイパーグラフ(Hypergraph)のオプション > ディスプレイ > シェイプ ノード(Options > Display > Shape Nodes)を選択すると、次の図に示すように、シーンの階層構造に球体のシェイプ ノードが表示されます。
上の図に示すように、トランスフォーム ノード、シェイプ ノードにデフォルト名が設定されます。トランスフォーム ノードは nurbsSphere1 で、シェイプ ノードは nurbsSphereShape1 です。トランスフォーム ノードの名前をたとえば Bubble に変更すると、シェイプ ノードの名前は BubbleShape に変更されます。
シェイプ ノードの名前を変更しても、トランスフォーム ノードの名前は変わりません。子ノード(シェイプ ノード)の変更は、親ノード(トランスフォーム ノード)に適用されないためです。
作成 > NURBS プリミティブ(Create > NURBS Primitives) > 球体(Sphere)を選択して球体を作成すると、トランスフォーム ノードとシェイプ ノードが作成されます。この後、 修正 > ライブ サーフェスにする(Modify > Make Live)を選択し、 作成 > CV カーブ ツール(Create > CV Curve Tool)を使用して球体のサーフェスにカーブを描き、シェイプ ノードとアンダーワールド ノードの表示をオンにすると、シーン階層は以下のように表示されます。
上の図に示すように、トランスフォーム ノード、シェイプ ノードにデフォルト名が設定されます。トランスフォーム ノードは nurbsSphere1 で、シェイプ ノードは nurbsSphereShape1 です。curve1 ノードと curveShape1 ノードは、球体のサーフェス上に作成されたカーブのアンダーワールド ノードです。
ジオメトリが複雑で見えにくいためにワークスペースでカーブ オンサーフェスの選択が困難な場合は、アンダーワールド ノードを表示すると、シーンの階層構造内で簡単に選択することができます。
シーンの階層構造で、エクスプレッション、コンストレイン、またはデフォーマにコネクトされているノードを色分けして示すラインを表示することができます。
Ball という名前の NURBS 球体と、Cone という名前の NURBS コーンを作成します。Ball の移動 Y(Translate Y)アトリビュートの値を Cone の移動 Y(Translate Y)アトリビュートに割り当てるように、エクスプレッションを記述します。このエクスプレッションによって、2 つのアトリビュート値がリンクされます。ビューでBall を上下に(Y 軸方向に)移動すると、それと同じ量だけCone も上または下に移動します。
オプション > ディスプレイ > エクスプレッション コネクション(Options > Display > Expression Connections)を選択すると、次のようにシーンの階層構造が表示されます。
グラフ レイアウト スタイル(Graph Layout Style)
グラフ レイアウト スタイル(Graph Layout Style)を使用すると、ノードのレイアウト スタイルを必要に合わせて再配置することができます。このオプションはコネクション ビューでのみ使用可能です。レイアウトを再配置すると、コネクションとそのリレーションシップをより意味のあるものにすることができます。
シーンでオブジェクト、レンダリング ノード、その他の項目を追加または削除すると、ハイパーグラフでシーンの階層構造が自動的に更新されます。
シーンの階層構造またはディペンデンシー グラフでオブジェクトを選択すると、そのオブジェクトは、ワークスペース、アウトライナ(Outliner)、および Maya のその他の場所でも選択されます。同様に、ワークスペース、アウトライナ、および Maya のその他の場所でオブジェクトを選択すると、そのオブジェクトはシーンの階層構造やディペンデンシー グラフでも選択状態になります。
これらの更新機能は、複雑なシーンで作業している場合や、ノードを参照したりフリーフォーム レイアウトの階層表示で別の位置にノードをドラッグする場合に、Maya の処理速度を低下させます。この更新オプションをオフにすると、処理スピードを向上させることができます。
ヒート マップの表示(Heat Map Display)
パフォーマンスのタイミング値に基づいてハイパーグラフ(Hypergraph)でノードにカラーを設定します。タイミング値がゼロのノードはグレー、タイミング値がプラスのノードは青から赤へと徐々にシェーディングされて表示されます。
ヒート マップの表示(Heat Map Display)は個別のハイパーグラフ(Hypergraph) ウィンドウに対してオンまたはオフに設定できますが、すべてのハイパーグラフ(Hypergraph) ウィンドウがヒート マップの表示(Heat Map Display)オプションの影響を受けます。
ヒート マップの表示(Heat Map Display)の詳細については、 ヒート マップの表示(Heat Map Display)によるパフォーマンスのモニタを参照してください。
2 つのノード間の複数のコネクションを単一のコネクションとして、太字のラインで表示します。詳細については、 コネクションのマージを参照してください。