createNodeコマンドで作成されたノードは、nodeGraphEditorInfoの削除で一緒に削除されてしまいますが、GUIを使った場合は無事。
裏でmayaが何かしている訳なのです。
これを確認するにはマテリアルを作ってみるのが手っ取り早い。
・HyperShadeのメニューから Create > Materials > Phong
・コマンドラインから createNode "phong"
と、2つの手段で phongマテリアルを追加します。
すると、HyperShadeで変な事が起きます。
createNodeで作成した「phong3」がHyperShadeに表示されません。
この辺に秘密がありそうです。
NodeEditorで接続を見てみます。
メニューから作成された「phong2」には、いろいろ繋がっています。
この中からHyperShadeに関連するノードを調べるために、初期ノードの「phong1」も追加してみます。
「defaultShaderList1」と言うのが怪しそうですね。
「phong2」にならって「phong3」も接続してみます。
無事、HyperShadeに「phong3」が表示されました。
めでたし、めでたし。
とはいかず、createNodeを使う場合、ココまでしないといけない訳ですね。
mayaのメニューではこの一連の工程を、shadingNodeコマンドで行っているようです。
ただ、shadingNodeコマンドには幾つかオプションがあって、作るノードとオプションが合致していないとおかしな事が起こるわけです。
shadingNode -asUtility "phong"
とコマンドラインで実行すると、HypherShadeにはこんな感じでUtiliesタブに登録されてしまいます。
2014とかでは、気にせずcreateNodeを使用してマテリアルなんかを作成していましたが、nodeGraphEditorInfoが出来たせいで面倒くさくなったみたいです。
迷惑なノードだ。
0 件のコメント:
コメントを投稿