Cardsモデルを作る
SOLARIS には「CardTextureRender ノード」という、Cards モデルを生成してくれそうなノードが
標準で用意されていますが、初見だと使い方が全く分からなかったので
USD の仕様とあわせて使い方を確認していきたいと思います。
Card Texture Render
まず、該当のノードを確認。
Card Texture Render という名前で、
どの向きを、どのレンダラーでレンダリングするか指定し
Render toDisk を押すことで、指定フォ ルダ以下に画像をレンダリングしてくれます。
レンダリングを実行すると、このように、レンダリング結果を張り付けた四角い板ポリを表示できるようになります。
これは、いわゆる軽量なガイドモデルとして使用するためのモデルです。
DrawMode
この Cards モデルは、USD の仕様に含まれていて、UsdGeomModelAPI という API スキーマによって定義されています。
この API の詳細はドキュメントをみてもらうとして、
ざっくり要約するとジオメトリ全体にかかわる各種拡張機能を含む API で
そのなかの1つが DrawMode であり、Cards Geometry です。
DrawMode は
Draw modes provide optional alternate imaging behavior for USD subtrees with kind model.
現在のツリー以下を描画するときに、シーングラフの走査を停止し、
サブツリー以下を、指定のプロキシモデルに置き換える処理を行います。
つまり、大量のオブジェクトを配置した時などに
「作業中は軽量なモデルに置き換えたい」
という要望があったとすると、DrawMode を default から cards や bounds に変更することで
軽量なモデルに置き換えを行います。
この設定を Houdini で行う場合は「Prim」への設定のため「ConfigurePrimitive」を使用します。
Draw Mode を「BoundingBox」にすれば
このように表示されますし、
「Origin Axis」にすれば
このように表示されます。
今回のお題である「CardsGeometry」の場合、この DrawMode を「Textured Cards」にすると
Cards モデルに切り替えることができます。
この時、板に張り付けるテクスチャのパスは
UsdGeomModelAPI によってルールが定められています。
Houdini の場合は、ConfigurePrimitive ノードにテクスチャパスを指定するプロパティが用意されているので
すべてチェックを入れて、保存先を指定します。
ここまでくるとわかりますが、Card Texture Render ノードが一体何かというと
このUSDのCardsGeometryの仕様に沿ったテクスチャをレンダリングするノード
ということになります。
実際に使用してみます。