キャッシュ
一般
アンビエントオクルージョンに2種類の計算方法があります。
それぞれのピクセルについて周囲の可視性をチェックする通常の「総当り」の方法。
特定のポイントにおける可視性のみをチェックし、その間にある他の全てのポイントを補間するキャッシュを使った高速な方法。
後者は、内部的には、イラディアンスキャッシュのGIモードと同様に作用し、同様の設定でコントロールすることができます。この方法を使う利点は次の通りです。
AO計算のスピードが大幅にアップします。
キャッシュを再度キャッシュし、使用することができます(AOは、マテリアルや照明とは独立しているので、これができるととても役に立ちます)。つまり、あるオブジェクトの異なるビューをAOを使ってレンダリングしたい時には、キャッシュをロードして新しい領域を計算するだけで以前にチェックした領域を再利用することができます。ただし、これは、オブジェクトのジオメトリ、オブジェクト間のすき間、そして、その他AOに影響を与える可能性のある全ての設定に何の変更も加えられていない場合にのみ有効です。
アンビエントオクルージョンとTeam Render
Team Renderが存在するAOキャッシュファイルを使う場合、キャッシュファイル(シーンファイルと同じ階層の「illum」フォルダ内にある*.aoという拡張子のファイル)もアップロードして、下記で説明している自動読み込みのオプションを有効にしてください。
設定
次に説明する多くの設定事項はとても複雑で混乱しやすいので注意してください。AOは、イラディアンスキャッシュと同様に作用するので、設定も大体同じになっています。ほとんどの場合、レコード密度のみを調整するだけで大丈夫です。それに応じて、この設定が、下層のパラメータを定義します(AOが常に間違っている時、または、正確さに欠ける時にのみこれらを別々に変更してください)。
AOキャッシュの作用についての簡単な説明: レンダリングの間にいくつかの事前計算が行われ(プレパス)、その間、環境の可視性のために、そして、AO値を計算するために、カメラにとって最も重要となる領域を確認するためのプロジェクト分析が行われます(角の「シェーディングポイント」、凹領域など)。
全てのAO値は、AOキャッシュへとキャッシュし、ファイルとして保存して、後で使用することができます。
2番目の手順では、選択的に置かれたAO値が補間され、スムーズにされます。
次の設定は、主に、シェーディングポイントを分散させるためのものです(注意: 基本タブの設定は、とりわけ、それぞれのシェーディングポイントでいくつのサンプルを半球形状に作成するかということ、その長さ、および効果のカラーを定義します)。
無効にすると、AOは環境の可視性がピクセルごとに計算されます。有効にすると、前項で説明したAOキャッシュが使われます。
これは、それぞれのシェーディングポイントから半球形状に発光するサンプルの数です。AOにムラがある時には、この値を大きくします。
ほとんどの場合において、これら2つの設定は無視しても問題ありません。これらによって生じる効果はほとんど見た目ではわかりません。最小レート と 最大レートの「最も不適切な」設定(-8 それぞれ)と、「最も適切な」設定(-8 および +4それぞれとの間には、ほんの少しの差しかありません(画像を参照)。
いずれにしても、これらの機能について言及しておきましょう。プレパスのレンダリングが行われている間に(初めは大きな正方形がどんどん小さくなっていく段階)、レンダリング密度の分散が定義されます。これは、重要な領域に特に重点を置く適応性に富んだプロセスです。最小レートと最大レートとの差がプレパスの数を定義します。
値を0にすると、画像解像度が最大になり (ピクセルサイズ1x1)、-1にすると、ピクセルサイズが2x2、-2にすると4x4という具合になります。そのため、最小レートは、最大レートよりも小さいか、同じ値である必要があります。プラスの値を使うこともでき、この場合、サブピクセル領域でのキャッシングが可能になります(詳細が見つからない場合は、この機能とサブポリゴン変位とを併用すると解決する場合があります)。
これらの3つの設定は一緒に作用するため、まとめて説明する方がわかりやすいでしょう。簡単に言うと、これらは、重要ではないエリアと重要ではないエリアの全体的なシェーディングポイントの密度を定義するものです。
密度: 次の2つの設定を考慮した全体的なシェーディングポイントの密度です。
最小半径: 重要なエリア(角など)のシェーディングポイントの密度です。
最大半径: 重要ではないエリア(視界を遮るエレメントがない平面サーフェイスなど)のシェーディングポイントの密度。
GIの密度設定で様々な値をご覧いただくことができます。シェーディングポイントの分散はAOキャッシュの分散と全く同じです。
上で説明した設定は、全て、シェーディングポイントの配置やその計算に関するものです。
AOは、選択的に、プロジェクト内のいくつもの場所で確認されました。レンダリングのためには、選択的な分散を平らな分散にする必要があります。スムージングアルゴリズムは、これを次のように行います。オブジェクトサーフェイス上のレンダリングを行うそれぞれのピクセルについて、そのピクセルに最も近いインスタンスのためにAOキャッシュが確認され、その値がピクセルに補間されます。
つまり: 小さすぎる値ではAOにムラが生じ、高い値の方が均一なレンダリング結果を得ることができます(ただし、値の低すぎるサンプル数までも解決します)。概して、高めの値では、レンダリングされたピクセルに対して多めのシェーディングポイントが考慮されます。
おかしなことに、極端に大きな値にしてもムラが生じてしまいます。
無効にすると、レンダリングの出力サイズが、シェーディングポイント密度の確定とは無関係なものとなります。解像度を80x80でレンダリングしても3000x3000でレンダリングしても、結果は一定となります。前者は大きすぎ、後者は小さすぎます。
有効にすると、シェーディングポイントの密度がレンダリングの出力サイズにリンクされます。これによって、シェーディングポイントの密度はより柔軟に、適応しやすいものになります。
キャッシュファイル
このボタンをクリックすると、そのプロジェクトに関して保存した全てのAOキャッシュファイルをユーザーのキャッシュから削除します。これは、前述のプロジェクト修正で不正確な結果が生じるのを防ぐために行います。自動読み込みが無効の場合はキャッシュファイルが無視されるため、キャッシュを削除する必要はありません。
レコードの数とキャッシュのサイズがボタンの右側に表示されると、Cinema 4Dが適切な保存キャッシュを見つけたということです。
AOキャッシュの作用に関する簡単な説明: レンダリングの時に、以前に保存されたキャッシュがないとしましょう。この場合、新たに全てのキャッシュを計算する必要があります。これは、いくつかのプレパスで行われ、その間に、プロジェクトの全てが分析され、レンダリングの時にキャッシュされた実際の情報がカラーでレンダリングされる前などに注意を特に要する領域が定義されます。これは時間のかかる作業です。ただし、キャッシュが既に用意されている場合でも多くの情報の確認作業は必要とはなりますが、プレパスをスキップ(ある場合)オプションを有効にすることでこの手順を飛ばすことができます。これでレンダリングが速くなります。
キャッシュが全くない場合は、このオプションが有効になっているか否かにかかわらず、この計算が行われることになります。
キャッシュが既にあるものの写角が変わってしまった場合(または、とても小さい画像についてAOを計算したが、とても大きな画像を続けてレンダリングしたい場合)は、計算の正確さが失われてしまう可能性があるため、このオプションを有効にしないようお勧めします。
自動保存オプションを使ってキャッシュファイルを保存した場合、自動読み込みオプションを有効にしてこのキャッシュをロードすることができます。キャッシュがない場合は、新しいキャッシュが計算されます。
有効にすると、キャッシュファイルが自動的に保存されます。新しい保存パスの定義がされていない場合は、プロジェクトディレクトリ内の「illum」フォルダに保存されます。ファイル名には、拡張子「.ao」が含まれます。アニメーションのフレームごとにキャッシュが計算される場合 (フルアニメーションモード有効時)、ファイル名は「filename0000x.ao」となります。
有効にすると、アニメーションのフレームごとにキャッシュが新たに計算され、個別の名前で保存されます。無効にすると、アニメーション全体で同じキャッシュが使用されます(自動保存と自動読み込みが有効の時)。後者は、AOに影響を与える設定に修正が加えられていないアニメーション(オブジェクトアニメーションなど)でのみ作用します! 修正が加えられている場合は、計算の正確性が失われてしまうことがあります。
もし、オブジェクトの位置や形状が変わる場合は、フルアニメーションモードのオプションを有効にしてください。
キャッシュを保存する時は、フルアニメーションモードが多くのファイルを作り出すため、大容量のメモリが必要になりますので注意してください。
キャッシュファイルの場所
キャッシュを特定の場所に保存したい場合は、このオプションを有効にして保存するためのパスを選択します。