パーティションの定義

 
 
 

パーティションとはパスの区分で、グループのように機能します。パーティションは、パス内でシーン エレメントを整理するために使用します。パーティションのタイプはオブジェクトおよびライトの 2 つです。ライト パーティションに含めることができるのはライトのみで、オブジェクト パーティションに含めることができるのはジオメトリ オブジェクトのみです。パスにはパーティションを必要な数だけ作成できますが、オブジェクトはパスごとに 1 つのパーティションにしか含めることはできません。

A

パーティション ノード。

B

Partition_Reflective に適用されるプロパティ オーバーライドによって、このパーティション内のオブジェクトのディフューズおよびスペキュラ パラメータが無効になります。

C

パーティション ノードを展開して、そのパーティションのプロパティがオーバーライドされたオブジェクトを探します。この場合は、グリッドです。

D

パスに適用されるプロパティ オーバーライドは、パスに含まれているすべてのパーティションに影響します(背景パーティションは除く)。

E

背景パーティションには、[Partition_Reflective]に含まれていない、シーンのすべてのオブジェクトとライトが含まれます。

オブジェクトをパーティションに配置すると、個々のオブジェクト レベルではなくパーティション レベルで変更することにより、オブジェクトの属性をコントロールできます。変更は、パーティションが属する特定のレンダ パスに対するパーティション内のオブジェクトにのみ影響します。このため、オブジェクトの属性をパス単位の基準で変更できます。

背景パーティション

すべてのレンダ パスには、[Background_Objects_Partition][Background_Lights_Partition]という 2 つの特殊なパーティションが含まれます。このパーティションには、他のパーティションに明示的に割り当てられていない、すべてのオブジェクトとライトが自動的に含まれます。

背景パーティションに含まれるオブジェクトおよびライトは、パスの作成方法によって異なります。たとえば空のパスを作成した場合、シーンのすべてのオブジェクトおよびライトは背景パーティションに配置されます。一方、パス プリセットによっては、パーティションを(背景パーティションとは別に)自動的に作成するものがあります。このパーティションには、パスを作成した際に選択していたオブジェクトが含まれます。

これらの特殊なパーティションにより、すべての背景オブジェクトをまとめて扱うことができるため、便利です。たとえばマット パスを定義する場合は、[Background_Objects_Partition]のすべてのオブジェクトの可視性をオフに切り替え、レンダリング プロセスから除外できます。背景パーティションの内容は、背景パーティションからオブジェクトを削除することで定義できます。

パーティションを作成する

パーティションの作成にはいくつかの方法があります。空のパーティションを作成してエレメントを追加したり、選択したオブジェクトが含まれたパーティションを作成することができます。

空のオブジェクト パーティションを作成するには

  1. パーティションを追加するレンダ パスを現在のパスに設定します。

  2. シーン内でオブジェクトが選択されていないことを確認します。

  3. [Render]ツールバーから[パス](Pass) [パーティション](Partition) [新規パーティション](New Partition)を選択し、現在のパスにパーティションを追加します。これで空のオブジェクト パーティションが作成されます。

  4. 新しいパーティションに名前を付け、適切なジオメトリ オブジェクトを追加できます(「パーティションへのオブジェクトの追加」を参照)。

オブジェクトを含むパーティションを作成するには

  1. パーティションを追加するレンダ パスを現在のパスに設定します。

  2. パーティションに含めるオブジェクトまたはライトを選択します。

    • 新しいパーティションを作成する際にジオメトリ オブジェクトを選択していた場合、選択したオブジェクトは(オブジェクト)パーティション内に配置されます。

    • 新しいパーティションの作成時にライトを選択していた場合、選択したライトは(ライト)パーティションに含まれます。

    • オブジェクトとライトの両方を選択した場合は、ライト用のパーティションとオブジェクト用のパーティションの 2 つのパーティションが作成されます。

  3. [Render]ツールバーから[パス](Pass) [パーティション](Partition) [新規パーティション](New Partition)を選択し、現在のパスにパーティションを追加します。新しいパーティションに選択したエレメントが作成され、選択したレンダ パスのサブノードとして Explorer に表示されます。

パーティションへのオブジェクトの追加

空のパーティションを作成したら、次にオブジェクトを配置します。オブジェクトは、ドラッグ アンド ドロップによりパーティションに追加できます。または、[Render]ツールバーで[パーティションに追加](Add to Partition)コマンドを使用します。

  1. Explorer で、エレメントを追加するパーティションが表示されていることを確認します。

  2. 3D ビューで、パーティションに追加するオブジェクトを選択します。

    同じタイプのオブジェクトだけを選択してください。オブジェクト パーティションにはジオメトリ オブジェクトだけを、ライト パーティションにはライトだけを追加することができます。

  3. オブジェクトの選択に加えて、[Shift]+ 左クリックでオブジェクトを追加するパーティションを選択することもできます。

    注:オブジェクトの選択を解除するには、[Ctrl]キーを押しながら不要なオブジェクトを選択します。複数選択を続けるには、再度[Shift]キーを押してください。
  4. [Render]ツールバーから[パス](Pass) [パーティション](Partition) [パーティションに追加](Add to Partition)を選択します。選択したオブジェクトが選択したパーティションに追加されます。

パーティションにオブジェクトをドラッグ アンド ドロップする

Explorer で、オブジェクトを直接パーティション ノードにドラッグ アンド ドロップしても、パーティションにオブジェクトを追加できます。オブジェクトはパーティションのサブノードとして追加されます。オブジェクトは通常どおり[Scene]ノードの下に表示されていますが、この段階になると特定のレンダ パーティションにも関連付けられていることに注意してください。

パーティションにプロパティを適用およびオーバーライドする

パーティションにプロパティを適用またはオーバーライドできます。これらのプロパティは、パーティション内のすべてのオブジェクトに設定されます。パーティション プロパティは、現在のレンダ パスの各オブジェクトのプロパティより優先されます。パーティション プロパティを明示的に適用またはオーバーライドしない場合は、パスのレンダリング時に各オブジェクトの既存のプロパティが使用されます。

[取得](Get) [プロパティ](Property)([プロパティ名](name of property))コマンドを使用すると、そのプロパティ全体を適用できます。または[取得](Get) [プロパティ](Property) [オーバーライド](Override)コマンドを使用すると、パーティションのすべてのオブジェクトに対して特定のパラメータをオーバーライドできます。

パーティションにプロパティを適用する

その他のオブジェクトと同様に、ツールバーの[取得](Get) [プロパティ](Property)([プロパティ名](name of property))コマンドを使用して、パーティションにプロパティを適用します。パーティションに適用されたプロパティは、そのパーティションの各オブジェクトに定義されている同じプロパティより優先されます。プロパティを適用すると、そのプロパティ エディタを開いてパラメータを変更できるようになります。適用可能なプロパティのリストについては、「プロパティを適用する」(「シーン エレメント」)を参照してください。

次の例では、オブジェクト セットを含むパーティションにジオメトリ アプロクシメーション プロパティを適用した場合のオブジェクト セットの状態を示します。

オブジェクト レベルのジオメトリ アプロクシメーション、サブディビジョン の設定は 0.0

パーティション レベルのジオメトリ アプロクシメーション、サブディビジョンの設定は 2.0

A

パーティションレベルの[Geometry Approximation](「ブランチ」にはBがつく)によって、パーティション全体のアプロクシメーション オプションが制御されます。

B

デフォルトのオブジェクト レベルのプロパティはそのオブジェクトにのみ適用されます。ただし、[Visibility]プロパティと[Display]プロパティはパーティション レベルでオーバーライドできます。

C

立方体オブジェクトのジオメトリ アプロクシメーションがパーティションと共有されていること(イタリック)を示しています。括弧内はパーティション名です。

シェーダ パラメータをオーバーライドする

オーバーライドを使用すると、パス パーティションの特定のシェーダ パラメータを再定義できます。たとえば、新しいマテリアルを何回も適用し直すことなく、シーン内の数百ものオブジェクトごとに透明度の値を編集する場合を考えてみましょう。この場合は、修正するオブジェクトをすべて含むパス パーティションを作成し、各マテリアルの透明度パラメータに関連付けられるオーバーライド プロパティを定義します。オーバーライドは目的のパラメータのみに影響し、他の値には関係しません。

   

この Render Tree は、複数のマテリアルの[diffuse]、[ambient]、[specular]、[transparency]パラメータから作成されたものです。図のように、1 つのシェーダは、複数のオブジェクトに対しパラメータを同時に作用させることができます。

パーティションにオーバーライドを追加するには

  1. 空でないパーティションをパスに作成します。

  2. 作成したパーティションを選択します。

  3. [取得](Get) [プロパティ](Property) [オーバーライド](Override)を選択します。

  4. [パラメータを追加](Add Parameters)ボタンをクリックします。パーティション内の各オブジェクトが一覧表示されたポップアップ エクスプローラが表示されます。

  5. マテリアル ノードまたはシェーダ ノードを展開し、サブノードを表示します。

  6. オーバーライド プロパティに含めるシェーダ パラメータの名前をクリックします。選択した各パラメータは青でハイライト表示されます。[Shift]キーを押しながらクリックすると、複数のパラメータを選択できます。

  7. ウィンドウを閉じるには、パラメータの選択の終了後に Explorer の外側をクリックします。

オーバーライドの操作の詳細については、「プロパティをオーバーライドする」(「シーン エレメント」)を参照してください。

オーバーライドと Render Tree

Render Tree を使用してオーバーライドを展開することで、強力なエフェクトを作成できます。たとえば、3D グローを作成し、その Render Tree を全オブジェクトの[Transparency]パラメータに接続することができます。オブジェクトを 1 つずつ編集しなくとも、すべてのオブジェクトにグローを施すといったことが可能です。

この Render Tree は、複数のマテリアルの[diffuse]、[ambient]、[specular]、[transparency]パラメータから作成されたものです。図のように、1 つのシェーダは、複数のオブジェクトに対しパラメータを同時に作用させることができます。

オーバーライドを展開するには

  1. Explorer でオーバーライド プロパティを選択します。

  2. Render Tree を開き、オーバーライド プロパティ ノードを表示します。Render Tree の作業領域に何も表示されない場合は、[更新](Update)ボタンをクリックします。

  3. 通常 Render Tree で行うように、シェーダ ノードを追加、編集します。Render Tree の操作方法については、「The Render Tree(レンダ ツリー)」を参照してください。

パーティションのオブジェクトに対するレンダリングの可視性をオーバーライドする

シーンをセットアップするとき、複数のオブジェクトに対するレンダリングの可視性オプションを同時に切り替える必要がある場合があります。これは、シャドウ、コースティクス、グローバル イルミネーション、ファイナル ギャラリング、透明度などを使用するシーンで必要になる場合があり、キャスタ、レシーバ、およびその両方(あるいはそのいずれでもない)オブジェクトを定義する必要があります。多くのオブジェクトが含まれる複雑なシーンでこの操作を実行するには、パーティションとオーバーライドを使用して複数のオブジェクトに対する可視性オプションを一度に設定するのが最も簡単な方法です。

  1. 可視性オプションを切り替えるオブジェクトを、パスの下に作成したパーティションへ移動します。

  2. パーティションを選択した状態で、[取得](Get) [プロパティ](Property) [オーバーライド](Override)を選択します。

  3. [パラメータを追加](Add Parameters)ボタンをクリックして、ポップアップ エクスプローラを開きます。

  4. オブジェクトの[Visibility]ノードを展開し、パーティション(シャドウ キャスタ、反射レシーバ、ファイナル ギャザリング サンプリング可視性など)を切り替えるパラメータを、1 つまたは複数選択します。

    [Shift]キーを押しながらパラメータを複数選択して、選択範囲に追加します。その後、ポップアップ エクスプローラの外側をクリックして、その選択を有効にします。

  5. 選択したパラメータが、[Override]プロパティ エディタに表示されるようになります。必要に応じて、そのパラメータを有効または無効にします。この設定はパーティションの各オブジェクトのローカル プロパティをオーバーライドします。

オーバーライドの操作の詳細については、「プロパティをオーバーライドする」(「シーン エレメント」)を参照してください。

パーティションへのシェーダーの適用

パーティションに適用したシェーダは、シーン内の個々のオブジェクトに適用したシェーダをオーバーライドします(そのパスでのみ)。つまり、シーン全体に定義されたオブジェクトのマテリアルを維持したままで、特定のパス内のオブジェクトのマテリアルを変更することができます。

A

パーティションを選択します。

B

パーティションにシェーダを適用します。この場合は、車の塗装シェーダが適用されています。

C

立方体オブジェクトのサーフェイス シェーダがパーティションと共有されていることを示しています(書体がイタリック)。括弧内はパーティション名です。

シェーダをパーティションに適用するには

  1. Explorer 内でパスを展開し([+]記号をクリックします)、パーティションを表示します。

  2. シェーダを適用する[Partition]ノードを選択します。

  3. [Render]ツールバーから[取得](Get) [マテリアル](Material) [その他](More)を選択します。

  4. プリセットのブラウザで目的のシェーダを選択し、[OK]をクリックしてパーティションに適用します。

    ヒント:別のパーティションまたは Softimage ブラウザ([5]キーを押す)からシェーダをドラッグ アンド ドロップし、パーティションに適用することもできます。Softimage ブラウザは、サーフェイス シェーダのみをフィルタリングするものではないため(プリセットのブラウザと同様)、自由にシェーダを適用できます。

シェーダが適用されるとそのプロパティ エディタが開き、シェーダのパラメータを編集できるようになります。

パーティションからのオブジェクトの削除

レンダ パスを構成しているときに、既存のパーティションからオブジェクトを削除することもできます。

  1. Explorer で、変更したいパスパーティションを展開し([+]記号をクリックします)、そのパスパーティションに含まれるオブジェクトを表示します。

  2. 3D ビューで、パーティションから削除するオブジェクトを選択します。

    同じタイプのオブジェクトだけを選択してください。オブジェクト パーティションにはジオメトリ オブジェクトだけを、ライト パーティションにはライトだけを追加することができます。

  3. オブジェクトの選択に加えて、[Shift]+ 左クリックでオブジェクトを追加するパーティションを選択することもできます。

    注:オブジェクトの選択を解除するには、[Ctrl]キーを押しながら不要なオブジェクトを選択します。複数選択を続けるには、再度[Shift]キーを押してください。
  4. [Render]ツールバーから[パス](Pass) [パーティション](Partition) [パーティションから削除](Remove from Partition)を選択します。選択したオブジェクトがパーティションから削除されます。

パス間でのパーティションのコピー

各レンダパスに個別にパーティションを再度作成する代わりに、あるパスから別のパスにパーティションをドラッグ アンド ドロップすることもできます。これは、あるパーティションのオブジェクトと属性をコピーして貼り付けることと同じです。パーティションをドラッグ アンド ドロップした場合、そのパーティションへのすべての変更内容は、編集されるまで維持されます。

パーティションの削除

パーティションがパスにおいて不要となった場合は、そのパーティションを削除できます。

  1. Explorer で、パーティションを選択します。

  2. キーボードの[Delete]キーを押し、選択したパーティションを削除します。