PfxToonでジオメトリの非表示トラブル解消方法

PfxToonで、オブジェクトを非表示にしても、アウトラインがガッツリ残っていてあれれ?と思われた方は沢山いらっしゃると思います。

Geometryのvisibleに連動したpfxToon

Geometryのvisibleに連動したpfxToon

この問題を、「Mayaの標準機能だけ」でなんとかする方法のご紹介です。
この方法にうってつけなノードは、何かと便利な「Choice」を使用します!

choiceノードの作成

choiceノードの作成

まず、「Node Editor」を表示して、必要なノードを追加します。
ジオメトリーのTransformノードとShapeノード、Choiceノード、PfxToonのShapeノードが該当します。

セットアップの準備

セットアップの準備

これからコネクションをしていきますが、まずTransformノードの「visibility」を、Choiceノードの「selector」にコネクションします。これで、表示している時は「1番」、非表示の時は「0番」が使用されるっというわけですね。

transformとchoiceの関連付け

transformとchoiceの関連付け

次に、Shapeノードの「outMesh」を、Choiceの「input[1]」にコネクションします。これによって、表示している時はMesh情報が出力され、非表示の時は空のMesh情報が出力されるようになります。

meshとchoiceの関連付け

meshとchoiceの関連付け

次に、Shapeノードの「outMesh」とPfxToonノードの「inputsurface[*].surface」とのコネクションをChoiceの「output」に切り替えます。間違えて他のインデックスのアトリビュートにコネクションしないように注意してください。

choiceとpfxToonの関連付け

choiceとpfxToonの関連付け

今回は3つのノードがありますので、繰り返しセットアップしていきます。

複数オブジェクトの例

複数オブジェクトの例

これで、作業は完了です。ジオメトリーを非表示にしたりし問題がないか確認します。シーンを開き直すと正常に動作したり、ジオメトリーを動かすと更新されたりする場合があるので、ご注意ください(^_^;)

完成

完成