![]() | Eeveeの設定で、サンプリング数を1にしてみ見ます。 効果をはっきり見るために、ビューポートデノイズも切って見ましょう。 |
![]() | 補助線にはアンチエイリアスがかかって滑らかに見えているのに、レンダリング画面はジャギーがのっていることがわかります。 実は、これが本来の Eeveeによる1回のレンダリング品質です。 |
![]() | サンプル数を上げると、ほんの少しだけ条件の違うレンダリングを行って、平均化が行われます。 2〜4程度にすると、少しずつジャギーが減って品質がよくなることがわかります。 デフォルトでは、プレビューで8、レンダリングで64になっていますが、これぐらいにするとたいていの場合は充分にきれいになります。 |
![]() | もっともこのサンプリングの効果が分かりやすいのは、半透明なマテリアルのアルファハッシュ表示です。 Eeveeのようなリアルタイム表示は、半透明の描画を苦手とします。 奥の物体の色がわからないと、その手前に半透明の物を置いたときの混ざった色がわからないためです。 前後関係をいちいち確認しながら描画していては、せっかくの高速描画の意味がなくなってしまいます。 |
![]() | そこで、アルファハッシュでは、1ピクセルごとに、透明か、不透明かのどちらかであるとします。 サンプル数が1のときは、ディザが乗ったような表示になります。 |
![]() | ところが、サンプル数を増やして、このディザの表示の仕方の違う画面を平均化していくと… いつの間にか滑らかに半透明が表示されるようになって行きます。 ただ、半透明は、Eeveeが苦手な分野なので、128〜512ぐらいのサンプル数が必要なときがあります。 (透明度や色のコントラストで適切な値は変わってきます) |
![]() | ゆらゆらとゆれたチェッカー模様になりました。 |
![]() | ここで、闇雲にノイズテクスチャのスケールの値を大きくしてみます。 |
![]() | 本当はあるパターンで変形されるのですが、スケール値が大きいので、ほとんどランダムな変形に近くなります。 サンプル数1で表示をすると、このようにディザになるわけですが… |
![]() | サンプル数を上げれば、滑らかになります。 実質的にノード上でテクスチャにノイズをかけたような効果になりました! |
![]() | すると、表面から視線方向にめり込んだ位置の色情報が混ざってくることになります。 そのため、表面が少しだけ半透明で、奥の色の影響を受けているような表現ができます。 |
![]() | このとき、コピーしたチェッカーテクスチャと、Greater Than や Lesser Than を使って、ぼけが発生するかしないか変えられるようにしてみます。 場所によって、0 か 1 の値になるようにして、ぼかしの量に掛け合わせます。 |
![]() | この場合は、タイルの黒い部分ではぼかしが入らず、白いところだけは表面より奥の色情報が見えるようになるので、まるで黒と半透明の白いタイルのような表現になりました。 ぼかすかどうかの判定は、表面だけで行っています。 そのため、タイルの四隅は少しおかしなことになるのですが、床のドアップなどではなく、さりげなく使っているマテリアルであればなおそらく大丈夫でしょう。 |
![]() | 今回は3次元のテクスチャの例としてチェッカー模様を使いましたが、 チェッカーの区切りと、オブジェクトの面が重なると、ぼかしても黒と白が混じってただの灰色になってしまいす。 原点に置いた板とか、デフォルトキューブとかは、ちょうどチェッカー模様の区切りになります。 (左の例は上の面を少しずらしています) |
![]() | もっと大きくぼかしを入れることで、もっと奥の方まで中の見えるようなマテリアルにすることも一応は可能です。 ただ、本当の内部でどのように光が進むか計算するレイトレースと違って、ただぼかしているだけなので、なかなかちょうどよく見える感じにするのは難しいです。 この例は、ボロノイをもとに作った星模様ですが、黒と混ざってもちょうどよく見えるように、星の明るさを大きく調整しています。 |