2016年02月04日
3ds Max 2016の新機能を調べてみた その58 3dsmax 2016
引き続き「Maxクリエーショングラフ」について調べてみたい。
今回もどうも動作が怪しい合成ノードを見つけたので書いておくね。それは「ArrayOfPseudoRandomMorphsFromNodes」だ。
これはメッシュトポロジーが同じ3つのノードをランダムにミックスした「TriMesh」データを「count」個生成して配列で出力するというものだ。
そして中身はこうなっている。
そして問題なのがこの部分。入力される3つのオブジェクトそれぞれに対してこのようなグラフが用意されているんだけど、
「IsValidNode」は接続されたノードが有効ならtrue、無効ならfalseを出力するノードで、
「ExitIf」は「condition」がtrueの時グラフの評価を中止して終了するノードだ。
だからこのグラフは入力されたオブジェクトが有効な時にグラフの評価を中止して終了するグラフなわけだ。
だから「ArrayOfPseudoRandomMorphsFromNodes」に有効なオブジェクトを入力したら終了しちゃうし、無効な入力なら当然処理が出来ないというニッチもサッチも行かない状態になってしまっている。もしかしてノードが無効になってる事に深い意味があるのかも知れないけど今のところそうする理由は見出せないでいる。
ノードの有効をチェックして強制終了させるものとして「CheckNodeValidity」ノードというのがあって、
これの中身には「IsValidNode」の結果を反転させる「Not」ノードが接続されている。「ArrayOfPseudoRandomMorphsFromNodes」もこれと同様に該当部分に「Not」を挿入するか、「CheckNodeValidity」ノードで置き換えちゃえばいいんじゃないかと思う。
それではまた次回。