Labs Unreal Pivot Painter を読む
Unreal Pivot Painter ノードの機能を知りたい
ドキュメントによれば Pivot Painter には Motion Mask に該当するアトリビュートを追加できるらしい。
これは Unreal Engine のドキュメントに記載されている Custom Alpha Value と同等で、これに速度などのデータを入れることで、更に複雑な表現ができそうだ。
この Motion Mask はAlphaというアトリビュートで出力される。Unreal Pivot Painter ノードで生成されるが、困ったことにジオメトリのインプットにAlphaを接続しようが、ピボットのインプットに接続しようが、出力されるAlphaの値が変わることはない。ドキュメントにも特に情報がないので、Unreal Pivot Painter ノードの中を読んで見ることにした。
ノードの読み方
一部のノードはダブルクリックで開いて中を読むことができる。
また、Allow Editing of Contents で編集することも可能。
(編集状態にしたほうが ディム表示ではなくなるので見やすい)
今回はどこでAlphaアトリビュートが作られているか読めば良い。Houdiniはアトリビュートの変化を見るのは非常に簡単なので追っていくと、Unreal Pivot Painter の中の Unreal Pivot Painter 、さらにその中のPIVOTPAINTER_1.0という Attribute Wrangle で作られていることがわかる。
Attribute Wrangle の関連しそうな箇所を探してみると、VertAlphaという変数があり、VertAlphaは頂点カラーのRチャンネルを使っていることがわかる。
えええぇ…(どこかに書いてくれ…)
//PROCESSING
float VertAlpha = vector(point(0, "Cd", @ptnum)).r; //len(vector(point(0, "Cd", matchingPoint))) > 0.0 ? 1.0 : 0.0;
//Set Motion Mask
f@`chs("../motionMask")` = VertAlpha;
頂点カラーを与えてみる
予測通り、ジオメトリに頂点カラーをランダムに与えると、Alphaの値が変化した。