2017年6月12日月曜日

ノードを作成する時のTips

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 件のコメント:

コメントを投稿