どうも。篠島です。Houdiniはとてもフレキシブルなソフトで、自分の好きなデータをパスとして吐き出すことが可能です!
今回のサンプルファイルです。
Custom_Pass.zip
適当にオブジェクトを作り、このオブジェクトに適当なアトリビュートを作ってパスとして吐き出してみます。
まずはSOPの中で適当にカスタムアトリビュートを作ります。どうやってカスタムアトリビュートを作っているかはシーンファイルを参照してください。今回は適当にhogeという名前のVectorのアトリビュートを作っています。
次にSHOP内にシェーダーを作ります。カスタムのパスを作るにはシェーダーを変更しないいけないのです。ここではMantra Surfaceノードを使っています。そしてノードを右クリックしてAllow Editing of Contentsをクリックします。こうする事でMantra Surface内部のネットワークを変更することが出来ます。
Mantra Surfaceの内部に入り、BindノードとBind Exportを追加します。Bind Exportは基本的にはBindとまったく同じノードで、ただパラメーターの設定がエキスポート用になっているだけです。
Bindノードを下のように繋ぎます。NameパラメーターにはSOPレベルで自分で用意したカスタムアトリビュートの名前を指定します。Typeでアトリビュートのタイプを正確に指定するようにしてください。今回のhogeアトリビュートはVectorなので、Vectorを指定しています。
一つ目のBindによってhogeアトリビュートがSOPから読み込まれ、そして二つ目のBindでシェーダーからアトリビュートがエキスポートされるのです。
シェーダーでの設定が終わったら、Mantraでカスタムアトリビュートを吐き出す設定をします。Extra Image Planesタブの中のExtra Image Planesパラメーターで + ボタンを押すと、VEX Variableを指定できるパラメーターが現れます。ここで自分で作ったカスタムアトリビュートの名前を指定します。
あとは普通にMantraでレンダリングするとパスが作られているのが確認できます。
カラーチャンネル | カスタムアトリビュートのhoge パス |