シーンを設定する場合、同じネームスペースにある類似したオブジェクトを参照できます(エフェクト、ヘア、セット、キャラクタなど)。 これにより、類似したオブジェクトのコレクションを作成して、アトリビュートをオーバーライドし、可視性をコントロールできます。
ネームスペースを使用すると、エクスプレッションによりコレクションを簡単に設定できます。
たとえば、キャラクタを参照する chr というネームスペースを作成します。
その後、chr ネームスペース内に、crowd ネームスペース、hero ネームスペース、hair ネームスペースを作成します。
次のようにオブジェクトを参照します。
chr:crowd:chr_crowd_verA
chr:hero:chr_nik
chr:hair:chr_mike_hairgroom
その後、エクスプレッション「chr::*」を使用して、キャラクタのコレクションを設定できます。
コレクションを設定すると、最初に計算が実行された後に結果がキャッシュされるので、次回レイヤを表示するときには、処理が速くなります。コレクションまたはシーンを変更すると、キャッシュは無効になります(計算が再実行されます)。
パフォーマンス向上のため、レイヤの外でレイヤを作成できます。つまり、レンダー レイヤにコレクションを設定しオーバーライドを作成する間もシーン レイヤを可視化できます。
また、まだ存在していないデータのコレクションを作成することもできます。たとえば、多数の建物がある都市シーンを作成する場合、建物には一貫した命名規則(たとえば、citybldg1、citybldg2 など)を適用し、すべての建物をコレクションに追加する場合は「citybl*」のようなエクスプレッションを使用します。
新しいシーンを作成してレンダリング設定テンプレートを読み込み、建物をシーンに追加する際に、 アイコンをクリックしてエクスプレッションを再適用することができます。その結果、建物は自動的にコレクションに追加されます。
また、シーン レイヤが表示されている間に、コレクションやオーバーライドの順序変更または有効化/無効化も最適に実行されるため、パフォーマンスが向上し、計算時間は短縮されます。
シーンを視覚化する必要がない場合は、複雑なシーンをロードする前にビューポートを一時停止します。 一時停止すると、ビューポートの更新を待たずにシーンの変更を行う(たとえば、.json テンプレート ファイルを読み込む)ことができます。 「ハイパーシェードでビューポート 2.0 とマテリアル ビューアを一時停止する」を参照してください。
同様に、視覚的フィードバックがただちにが必要でない場合は、複雑なシーンで複数の操作を実行する際にビューポートを一時停止します。
現在のレンダー レイヤ内に、計算の負荷が大きいアニメートされたオブジェクトがないことを確認します。 また、これらのオブジェクトをコレクションに追加し、現在のレイヤ内でこのコレクションを無効にすることもできます。
パフォーマンスを改善するために、アニメートされたオブジェクトの可視性をオーバーライドする必要はありません。実際、アニメートされたオブジェクトの可視性をオーバーライドすると、可視性(Visibility)オーバーライドの値を変更した後に可視のレンダー レイヤを更新しない限り、動作が不適切になることがあるため、この操作は回避する必要があります。この操作を行うには、シーン レイヤに切り替えてから、現在のレイヤに戻ります。
コレクションの作成時に、エクスプレッションを宣言する精度により計算時間を短縮することができます。たとえば、単に |Set|* とするのではなく、|Set|Building|* のようにします。この方がコレクションのノード数が少なくなります。