On this page |
概要 ¶
木がたくさんある森や兵士の群衆のようにコピーとインスタンスを作成するときに、コピーとインスタンス間にバリエーションを加えたい時よくあります。Houdiniでは、これをするための方法がいくつかあります。
Pointアトリビュート ¶
アトリビュートとは、プリミティブ(例:ポリゴン)やポイントに付与されているデータのことです。ジオメトリをポイント上にコピーまたはインスタンス化する時、目的のポイントから特定のアトリビュートを探し出して、コピー/インスタンス毎にカスタマイズを施します。
詳細は、コピーとインスタンスのPointアトリビュートを参照してください。
ループ内のCopy to Points ¶
ポイント上にジオメトリをコピーする時に、For-Eachループ内にCopy to Pointsを使用することで、コピー毎にジオメトリを可変させることができます。
instancepoint
関数
¶
オブジェクトをインスタンス化するとき、instancepointエクスプレッション関数を使うと、インスタンス毎にオブジェクトパラメータ(トランスフォームなど)を多様化することができます。この関数は、オブジェクトがインスタンス化されているポイントのポイント番号を返します。
インスタンス化はオブジェクトレベルでのみ機能するので、instancepointはオブジェクトのパラメータエクスプレッションでのみ有効です。インスタンス化を参照してください。
Delayed Loadシェーダ ¶
Delayed Loadシェーダは、レンダリング時に、オブジェクトのジオメトリをディスクから読み込んだジオメトリに置換します。異なるインスタンスバリエーションを意味する複数のジオメトリアーカイブを作成して、どのジオメトリアーカイブを読み込むのか指定するマテリアルパラメータを上書きすることでインスタンス毎にバリエーションを切り替えることができます。
Displacementシェーダ ¶
インスタンス毎にオブジェクトのマテリアルのパラメータを変更する(またはマテリアルを完全に切り替える)ことができるので、Displacementシェーダを変えることができます。ディスプレイスメントマップマップを使うと、ジオメトリの変更が制限されているインスタンスでも“モデリング”ができます。
例えば、平らな四角をインスタンス化すると、色々なディスプレイスメントマップを使って、ビルの都市景観のような異なる形状に押し出すことができます。
See also |