パーティションとはパスの区分で、グループのように機能します。パーティションは、パス内でシーン エレメントを整理するために使用します。パーティションのタイプはオブジェクトおよびライトの 2 つです。ライト パーティションに含めることができるのはライトのみで、オブジェクト パーティションに含めることができるのはジオメトリ オブジェクトのみです。パスにはパーティションを必要な数だけ作成できますが、オブジェクトはパスごとに 1 つのパーティションにしか含めることはできません。
オブジェクトをパーティションに配置すると、個々のオブジェクト レベルではなくパーティション レベルで変更することにより、オブジェクトの属性をコントロールできます。変更は、パーティションが属する特定のレンダ パスに対するパーティション内のオブジェクトにのみ影響します。このため、オブジェクトの属性をパス単位の基準で変更できます。
すべてのレンダ パスには、[Background_Objects_Partition]と[Background_Lights_Partition]という 2 つの特殊なパーティションが含まれます。このパーティションには、他のパーティションに明示的に割り当てられていない、すべてのオブジェクトとライトが自動的に含まれます。
背景パーティションに含まれるオブジェクトおよびライトは、パスの作成方法によって異なります。たとえば空のパスを作成した場合、シーンのすべてのオブジェクトおよびライトは背景パーティションに配置されます。一方、パス プリセットによっては、パーティションを(背景パーティションとは別に)自動的に作成するものがあります。このパーティションには、パスを作成した際に選択していたオブジェクトが含まれます。
これらの特殊なパーティションにより、すべての背景オブジェクトをまとめて扱うことができるため、便利です。たとえばマット パスを定義する場合は、[Background_Objects_Partition]のすべてのオブジェクトの可視性をオフに切り替え、レンダリング プロセスから除外できます。背景パーティションの内容は、背景パーティションからオブジェクトを削除することで定義できます。
パーティションの作成にはいくつかの方法があります。空のパーティションを作成してエレメントを追加したり、選択したオブジェクトが含まれたパーティションを作成することができます。
[Render]ツールバーから[パス](Pass) [パーティション](Partition) [新規パーティション](New Partition)を選択し、現在のパスにパーティションを追加します。これで空のオブジェクト パーティションが作成されます。
新しいパーティションに名前を付け、適切なジオメトリ オブジェクトを追加できます(「パーティションへのオブジェクトの追加」を参照)。
空のパーティションを作成したら、次にオブジェクトを配置します。オブジェクトは、ドラッグ アンド ドロップによりパーティションに追加できます。または、[Render]ツールバーで[パーティションに追加](Add to Partition)コマンドを使用します。
パーティションにプロパティを適用またはオーバーライドできます。これらのプロパティは、パーティション内のすべてのオブジェクトに設定されます。パーティション プロパティは、現在のレンダ パスの各オブジェクトのプロパティより優先されます。パーティション プロパティを明示的に適用またはオーバーライドしない場合は、パスのレンダリング時に各オブジェクトの既存のプロパティが使用されます。
[取得](Get) [プロパティ](Property)([プロパティ名](name of property))コマンドを使用すると、そのプロパティ全体を適用できます。または[取得](Get) [プロパティ](Property) [オーバーライド](Override)コマンドを使用すると、パーティションのすべてのオブジェクトに対して特定のパラメータをオーバーライドできます。
その他のオブジェクトと同様に、ツールバーの[取得](Get) [プロパティ](Property)([プロパティ名](name of property))コマンドを使用して、パーティションにプロパティを適用します。パーティションに適用されたプロパティは、そのパーティションの各オブジェクトに定義されている同じプロパティより優先されます。プロパティを適用すると、そのプロパティ エディタを開いてパラメータを変更できるようになります。適用可能なプロパティのリストについては、「プロパティを適用する」(「シーン エレメント」)を参照してください。
次の例では、オブジェクト セットを含むパーティションにジオメトリ アプロクシメーション プロパティを適用した場合のオブジェクト セットの状態を示します。
オブジェクト レベルのジオメトリ アプロクシメーション、サブディビジョン の設定は 0.0
パーティション レベルのジオメトリ アプロクシメーション、サブディビジョンの設定は 2.0
オーバーライドを使用すると、パス パーティションの特定のシェーダ パラメータを再定義できます。たとえば、新しいマテリアルを何回も適用し直すことなく、シーン内の数百ものオブジェクトごとに透明度の値を編集する場合を考えてみましょう。この場合は、修正するオブジェクトをすべて含むパス パーティションを作成し、各マテリアルの透明度パラメータに関連付けられるオーバーライド プロパティを定義します。オーバーライドは目的のパラメータのみに影響し、他の値には関係しません。
この Render Tree は、複数のマテリアルの[diffuse]、[ambient]、[specular]、[transparency]パラメータから作成されたものです。図のように、1 つのシェーダは、複数のオブジェクトに対しパラメータを同時に作用させることができます。 |
[パラメータを追加](Add Parameters)ボタンをクリックします。パーティション内の各オブジェクトが一覧表示されたポップアップ エクスプローラが表示されます。
オーバーライド プロパティに含めるシェーダ パラメータの名前をクリックします。選択した各パラメータは青でハイライト表示されます。[Shift]キーを押しながらクリックすると、複数のパラメータを選択できます。
オーバーライドの操作の詳細については、「プロパティをオーバーライドする」(「シーン エレメント」)を参照してください。
Render Tree を使用してオーバーライドを展開することで、強力なエフェクトを作成できます。たとえば、3D グローを作成し、その Render Tree を全オブジェクトの[Transparency]パラメータに接続することができます。オブジェクトを 1 つずつ編集しなくとも、すべてのオブジェクトにグローを施すといったことが可能です。
この Render Tree は、複数のマテリアルの[diffuse]、[ambient]、[specular]、[transparency]パラメータから作成されたものです。図のように、1 つのシェーダは、複数のオブジェクトに対しパラメータを同時に作用させることができます。
Render Tree を開き、オーバーライド プロパティ ノードを表示します。Render Tree の作業領域に何も表示されない場合は、[更新](Update)ボタンをクリックします。
通常 Render Tree で行うように、シェーダ ノードを追加、編集します。Render Tree の操作方法については、「Render Tree」(「マテリアルとシェーダ」)を参照してください。
パーティションのオブジェクトに対するレンダリングの可視性をオーバーライドする
シーンをセットアップするとき、複数のオブジェクトに対するレンダリングの可視性オプションを同時に切り替える必要がある場合があります。これは、シャドウ、コースティクス、グローバル イルミネーション、ファイナル ギャラリング、透明度などを使用するシーンで必要になる場合があり、キャスタ、レシーバ、およびその両方(あるいはそのいずれでもない)オブジェクトを定義する必要があります。多くのオブジェクトが含まれる複雑なシーンでこの操作を実行するには、パーティションとオーバーライドを使用して複数のオブジェクトに対する可視性オプションを一度に設定するのが最も簡単な方法です。
パーティションを選択した状態で、[取得](Get) [プロパティ](Property) [オーバーライド](Override)を選択します。
オブジェクトの[Visibility]ノードを展開し、パーティション(シャドウ キャスタ、反射レシーバ、ファイナル ギャザリング サンプリング可視性など)を切り替えるパラメータを、1 つまたは複数選択します。
[Shift]キーを押しながらパラメータを複数選択して、選択範囲に追加します。その後、ポップアップ エクスプローラの外側をクリックして、その選択を有効にします。
選択したパラメータが、[Override]プロパティ エディタに表示されるようになります。必要に応じて、そのパラメータを有効または無効にします。この設定はパーティションの各オブジェクトのローカル プロパティをオーバーライドします。
オーバーライドの操作の詳細については、「プロパティをオーバーライドする」(「シーン エレメント」)を参照してください。
パーティションに適用したシェーダは、シーン内の個々のオブジェクトに適用したシェーダをオーバーライドします(そのパスでのみ)。つまり、シーン全体に定義されたオブジェクトのマテリアルを維持したままで、特定のパス内のオブジェクトのマテリアルを変更することができます。
A |
パーティションを選択します。 |
B |
パーティションにシェーダを適用します。この場合は、車の塗装シェーダが適用されています。 |
C |
立方体オブジェクトのサーフェイス シェーダがパーティションと共有されていることを示しています(書体がイタリック)。括弧内はパーティション名です。 |
レンダ パスを構成しているときに、既存のパーティションからオブジェクトを削除することもできます。
Explorerで、変更したいパスパーティションを展開し([+]記号をクリックします)、そのパスパーティションに含まれるオブジェクトを表示します。
3D ビューで、パーティションから削除するオブジェクトを選択します。
同じタイプのオブジェクトだけを選択してください。オブジェクト パーティションにはジオメトリ オブジェクトだけを、ライト パーティションにはライトだけを追加することができます。
オブジェクトの選択に加えて、[Shift]+ 左クリックでオブジェクトを追加するパーティションを選択することもできます。
[Render]ツールバーから[パス](Pass) [パーティション](Partition) [パーティションから削除](Remove from Partition)を選択します。選択したオブジェクトがパーティションから削除されます。