Using Primvars and Attributes
Primitive Variables(”primvars”と呼ばれる)は、ジオメトリに添付されたデータです。 これは、シェーダがジオメトリのカスタムデータを参照する必要がある場合に便利です。HoudiniのprimvarsをRenderManのprimvarsにリマップする必要はありません。すべてのジオメトリのアトリビュートは、アトリビュートのタイプに応じて特定のバリエーションを持つprimvarsとしてRenderManに渡されます。
以下の例は、4つのHoudiniアトリビュートタイプ(point, vertex, primitives, detail)の違いと、それらがどのようにRenderManプリミティブ変数に変換されるかを示しています。タイプに関係なく、すべてのHoudiniアトリビュートはすべてRenderManプリミティブ変数であり、PxrPrimvar VOPを介してアクセスすることができます。
Houdiniのアトリビュートは、RenderManによって認識されるプリミティブ変数を作成することで、シェーディング、ダイシング、ディスプレイスメント、ジオメトリ固有の設定など、レンダリングの側面を制御するためにも使用できます。これらは、SOP内のHoudini詳細アトリビュートを介して、またはRenderManのスペアパラメータをOBJに追加して設定することができます。パラメータとアトリビュートの両方が設定されている場合は、detailアトリビュートがOBJパラメータを上書きします。
インスタンスアトリビュートは、インスタンスに付けられたデータです。インスタンス間でアトリビュートを変えるのに便利です。プリミティブ変数と同様に、インスタンスアトリビュートもSOPアトリビュートやOBJパラメータを介して追加することができます。