アンチエイリアス
アンチエイリアス機能を使うと、画像の中に生じるぎざぎざ(エイリアシング)を緩和できます。アンチエイリアス機能を使わない場合、ピクセルはその中央で1回だけ計算され、計算された色がそのままピクセルの色になります。したがって、ピクセルの内部で色が大きく変化する場合でも、ピクセルの中央にない色は完全に無視されてしまいます。これがエイリアシングの原因です。
アンチエイリアシングはどのように働くのか?
レンダリングは、レンダリングするカメラからのアングルをピクセルのグリッドとして分割されます(これはメニューのレンダリング設定の編集から、幅と高さのパラメータで指定します)。原理的に、各ピクセルではさまざまなことが発生します。たとえば、オブジェクトの輪郭があったり、テクスチャはピクセルを2つの異なる色に分けたりします。しかし各ピクセルは一つの色の値しか持てません。
大量のオブジェクトと色の境目を違和感なく自然で、魅力的に見せるガイドラインに合わせる画像の計算は、非常に難しい作業になります。
この問題の一つの解決法として、各ピクセルをサブピクセルに分割して、個別に(色の値を)分けてサンプリングします。このプロセスは、オーバーサンプリング(もしくは単純に「サンプリング」)と呼ばれます。
2つ目のステップで、指定された半径にある周囲のピクセルを元に各ピクセルの色の値を要約します。(これは、後述にあるフィルタによって行われます)
画像は、アンチエイリアスの計算はされずに出力されています(コンポジットタグで個別に設定されていても、それは無視されます)。オブジェクトと色の境目に、ギザギザなジャギーが確認できます。
このモードは一番早いので、クオリティが影響しないテストレンダリングに最適です。
これはデフォルト設定で、すべてのオブジェクトの境目(エッジ)をスムーズにします。(自動的に16x16のサブピクセルで計算します)
これは、(オブジェクトをスムーズにするのに加えて)Cinema 4Dのアダプティブアンチエイリアシング(問題のある領域のみをサブピクセルを追加して計算します。たとえば、隣接するピクセルとの色が大きく異なるピクセルに対して)を実行し、色の境目(他にも、影、透過して見えるオブジェクトなど)に影響します。これをオンにすると、このモード用にいくつかのパラメータを表示されます。
この設定は、Cinema 4Dのアダプティブアンチエイリアスのコントロールに使います。サブピクセルは、色の違いの大きい隣接するピクセルと計算されます。問題のない領域(大きく均一な色の領域)は、可能な限りサブピクセルは生成されずに計算されます。
デフォルト設定の3つのパラメータの組み合わせは、ほとんどのケースで問題ない設定になっています。
最小レベルは、レンダリング時に常に使われるサブピクセルの最小数を定義します。デフォルト値は1x1で、ほとんどのケースで十分な値です。もし、とても細かい部分、たとえば影に隠れた部分などで、ジャギーが出る場合があります。その場合は高い値を使う必要があります。
最大レベルは、問題のある領域(最もコントラストの高い領域、つまり色の境界や透過の後ろのオブジェクト)に対して適用されるサブピクセルの値です。この値は、ガラスレンダリングするときに、ディテールを最適な状態でレンダリングできます。
下の画像では、2つの違う設定のレンダリング結果ですが、パッと見では違いはわかりません。レンダリングで最高の結果を得るには、この設定を最適化する必要があります。(結果に合わせてレンダリング時間は伸びます):
AAのしきい値の値は、最大レベルで設定したサブピクセルの値を適用する色の違いの度合いを指定します。小さな値にすると、色の違いが少ないところにも適用され、値が大きくなるとスムーズになる前のコントラストの大きいところに対して適用されます。
上の画像では、ガラス板の向こうにグレースケールの羽根が表示されています。なぜ、ガラスオブジェクトの後なのでしょうか?前述のとおりガラスがない場合、オブジェクトのエッジはスムーズになります。(アダプティブアンチエイリアシングは、色の境界と透過オブジェクトの後や鏡面反射の映ったオブジェクトに対してのみ適用されます)AAのしきい値の値が低いと、すべての領域がスムーズになっています。Cinema 4Dは、色の差が小さいところにもスムージングを適用します。しきい値が上げると、コントラストの高いところもスムージングが適用されなくなります。
平均的なシーンでは、AAのしきい値は、10%で十分です。すべてのピクセルの40%が影響します。しきい値を5%にすると、すべてのピクセルの90%が影響します。0%にすると、不要な領域を含むレンダリングするすべてのピクセルに影響します。
この3つのパラメータは、レンダリングスピードに大きく影響します! 設定が高すぎると、レンダリングの品質に大きな違いがないにもかかわらず、レンダリング時間は簡単に10倍になります。ほとんどのケースでは、デフォルトの設定で適度のレンダリング時間で良好な結果が得られます。
このタグは、オブジェクト単位でアンチエイリアスの設定を指定できます。レンダリング設定の編集メニューで、アンチエイリアスの設定をベストにして、最小/最大レベルの値をそれぞれ1x1にします。これにより、シーン全体のアンチエイリアスの量は最も小さい値(つまり、なし)が使われます。ただし、コンポジットタグで各オブジェクトにアンチエイリアスの量を個別に指定できます。たとえば、手前の目立つオブジェクトやに対しては高い値を設定して、背景にある遠いオブジェクトに対しては低い値を設定するという使い方ができます。
レンダリング速度について:
レンダリング速度は、レンダータグとAAのしきい値(カラー)の最小レベル / 最大レベルパラメータを修正することによって影響を受ける場合があります。AAのしきい値(カラー)に対して非常に低い設定を使用すると、あなたのコンピュータを阻害する可能性があります。平均的なシーンにおいては、 AAのしきい値(カラー)の値の10%が、ピクセルのおよそ40%に影響を与えます - 値5%は、ピクセルのおよそ90%に影響を与えます。値0%の場合は、ひとつひとつのピクセルに対してアンチエイリアスが適用される結果となります。たとえアンチエイリアスが必要でない所に対しても適用されることになります。
このオプションを選択すると、コンポジットタグで「AAのしきい値」や「最小/最大レベル」の値を各オブジェクトごとに変えられるようになります。
インスタンスによっては、マルチパスやアルファチャンネルにおけるアンチエイリアスの品質が低下することがあります。これは、屈折力を持つ透明な面の後ろに、かつ黒色の背景の前に配置された細い構造物をレンダリングする場合などに起こり得ます。このようなインスタンスに対しては、このオプションをオンにしてください。たいていの場合、AAのしきい値の値を小さくするのが有効です。
アンチエイリアスのフィルタがどのように働くか簡単に説明します:アンチエイリアスの設定により、サブピクセル群は、ピクセル毎にさまざまな機能を使って色を割り当てられて計算されます。(ピクセルは一つの色しか持てません。)フィルタは、ジオメトリ(オブジェクトのエッジのスムージング)とベスト(色の境界のスムージング)の両方のアンチエイリアスのタイプとして働きます。
一般的に、フィルタはエッジのレンダリングをシャープにしたり、ギザギザにしたりするためのコントロールになります。
上の画像で、9つのピクセルに対角線上に赤い領域があります。中心のピクセルを見てください。このピクセルの計算には、16個のサブピクセルが使われます。15個のサブピクセルは極薄いグレーで、1つが赤です。これらのピクセルはカーブ(ここではMitchelを使用)によって形作られています。ピクセルの中心がフラットなカーブだと想像してください。このカーブは、各サブピクセルが持っている影響力を指定します。フィルタサイズ(フィルタ幅とフィルタ高さの設定。つまりサブピクセルが考慮する領域の広がり)は、最大4ピクセルまで広がります。このカーブは、少し大きめに広がりを持って作成されます。つまり、サブピクセルのほとんどの部分は同じで、隣接するピクセルも似た色を持っています。もちろん、これにより、エッジがシャープだったり、ギザギザになっていません。
次の画像では、8種類の異なるフィルタのカーブとレンダリング結果になります。
上記のカーブを見ていただくとわかりますが、いくつかのカーブの種類(Mitchell、Cubic、特別なSinc)は、ゼロ以下になっているところがあります。これは、現在のシーンをレンダリングされていない色の値のコントラストとエッジが一致したことを意味します。これによりエッジの見た目はシャープになります。ただし、周辺部分で、問題が発生することがあります。(マイナス成分をクリップを参照)
ほとんどの場合、フィルタよるレンダリングスピードへの影響はわずかです。
アドバイスとして、アニメーションの場合はソフトなフィルタをオススメします。エッジがシャープすぎるとフリッカー(チラツキ)が発生します。
フィルタ幅/高さは、ピクセルの色の値が計算されるとき、サブピクセル(ピクセルの中心から外に向かっての計算)をどれくらい考慮するかを指定します。(こちらを参照)
カスタムサイズオプションがオンの場合に限り、フィルタ幅とフィルタ高さの値が、表示されて使えるようになります。この値は、ピクセルに連動しており、たとえば、両方の値が0.5の場合、ピクセルの中心点から上下左右にピクセルの0.5個分のサブピクセルの範囲が考慮されます。つまり、1ピクセルにあるすべてのサブピクセルが対象になります。値をあげると影響範囲がピクセルに広がり、レンダリング結果の色の境界はシャープさはなくなります。
ここをみると、いくつかのフィルタ(Cubic、Mitchell、Sinc)は、0より小さく適用される領域があります。もし、マイナス成分をクリップオプションがオンの場合、マイナスの領域はクリップされます。これはどんなことに役に立つのでしょうか? リニアワークフローを使っている場合、色の強度が高く32-bitレンダリングを行い合成(アルファチャンネルを使って画像の素材を統合するとき)するときに、この問題が発生します。画像の右上にある挿入図をご覧ください:立方体が発光したマテリアルで、アンチエイリアスのフィルタはSincでレンダリングされています。左はマイナス成分をクリップはオフで、右はオンになっています。
MIP/SATの全体の強度をスケールさせます。個々のマテリアル設定(MIPスケールを個別に設定できます)は考慮されます。このグローバル設定は、0%~500%の範囲で設定できます。値が100%の時に通常の値になり、0%のときはMIP/SATマッピングの効果はなくなり、200%にするとそれぞれ設定されているMIP/SATの影響が2倍になります。
詳細なディテールを持ったテクスチャが、カメラに直接面するような場合は、この値を上げてください。それにより、アンチエイリアスに邪魔されずに、細い線もちゃんと繋がって表示されるようになります。
レンダーインスタンス 機能を導入以後、無数の複雑なオブジェクトをレンダリングできるようになりました。いま仮に、シーンの地平線に多数のポリゴンで構成された1軒の完全な家があり、レンダリングしても1ピクセルほどのサイズにしかならないほどカメラから離れているとします。細分割 は、このような領域 (および高度な内部拡散反射 (サブサーフェイススキャッタリング) を伴う領域) をより効果的にレンダリングするための機能です。
Cinema 4Dは、「スキャンライン」および「レイトレーサー」という2種類のレンダリングモードを備えています。これらのモードは自動適用され、ユーザーがわざわざ選択する必要はありませんでした。上記のシーンの場合は、レイトレーサーを用いる方がスキャンライナーを用いるよりもはるかに短い時間でレンダリングできます。
すると、シーンのレンダリングには必ずレイトレーサーを適用すべきと考えられるかもしれません。しかし、レイトレーサーには、アンチエイリアスの品質が低下したり、上の画像にあるような対照的なシーンのレンダリングでは、速度が遅くなったりするというデメリットもあります。このため、ハイブリッドオプションが用意されています。これにより、レイトレーサーとスキャンライナーのそれぞれのメリットを組み合わせることができます。簡単に言うと、1ピクセルあたり50個を超えるポリゴンが見える画像領域はレイトレーサーで、それ以外の画像領域はスキャンライナーでレンダリングされます。したがって、、大半のレンダリングにおいては、ハイブリッド オプションのデフォルト値を適用するのが適切と考えられます。なお、スキャンラインのみ オプションは、R11.5よりも古いバージョンで使用されるレンダリング法です。
レイトレースのみ オプションは、上記のシーンに対してのみ使用してください。この場合は、ハイブリッド オプションを適用した場合よりも短時間でシーンをレンダリングできますが、アンチエイリアスの品質は若干低下します。