第一回Blenderもくもく会(渋谷)

Category : News · by 9月 16th, 2019

コインスペース渋谷マークシティ店で行いました。
参会者は3名。それぞれ、AutoRIGPRO、スカルプトについてもくもくしてました。ぼくはEEVEEについて調べたので軽くまとめます。

走り書きですが、もくもく会の雰囲気でだけでもつかんでいただければと思います。

EEVEE とは?

EEVEEはリアルタイムレンダリングの仕組みを使ったレンダラーです。リアルタイムレンダラーは基本的にそうなのですが、レイトレーシングのように正確に綺麗にというよりもまずは、リアルタイムに動かせることを重視して、多くの計算をフェイクで行っています。(いくら絵が綺麗でもゲームでカクツキが頻発したら遊びにならないですよね?)

しかしリアルタイムに絵が出るということは、調整→確認→調整のサイクルが回しやすいということもあり(ゲーム業界ではイテレーションを回すといいます)、絵のクオリティを上げやすく、単に早く絵が出る以上の価値があるのではないかとぼくは思っています。

上で書いたように、EEVEEはリアルタイムレンダリングの技術を使ったものなので、多くの場面でUE4などと同じような考え方を転用できます。

反射

反射はリアルタイムで計算が難しいものの一つです。
EEVEEでは反射キューブマップ、反射平面、そしてスクリーンスペースリフレクションの3つを使用します。

  • 反射キューブマップはキューブマップを事前計算で生成して、その付近の反射像をあらかじめ作ります。UE4のReflection Cubemapと似た機能かとおもいます。
  • 反射平面は平面限定でより正確な反射を事前計算で生成します。UE4のPlanner Reflectionと似た機能かとおもいます。

  • 上記二つは事前計算で反射を作る必要があるのですが、スクリーンスペースリフレクションは動的に反射を生成します。しかし文字通りスクリーンに映ったものしか計算できません。それぞれ利点と欠点があるので、基本的にはいいところどりをして絵を作ります。

ゲームだとそもそも反射キューブマップをゲーム実行中に作るというのは難しいのですが、映像案件の場合は時間がかかってもいいので再計算すればいいじゃないという判断があるかと思います。EEVEEがそこになにか機能を入れているかはまだ調べていません。

スクリーンスペース反射

スクリーンに映っていないものは反射できない

反射キューブマップと反射平面

問題が多いのでスクリーンスペースで補うとよい

グローバルイルミネーション

グローバルイルミネーション(以下GI)も計算に時間のかかる処理です。そのため、多くの場合はこれも事前計算しておくことになります。

EEVEEではイラディアンスボリュームという形式でキャッシュしておくことでレンダリング時にGIの計算を省けます。空間中にこの辺りはそれくらいの明るさというデータを保存しているので、計算後に追加したオブジェクトであっても、それなりに正しく陰影が計算されて見えます。

GI計算を行っていない状態。周辺の壁は拡散反射で照らされない。
※ 見やすくするためにスカイライトが有効になっています。

イラディアンスボリュームを配置して計算を行った。床からの拡散反射で天井や壁が照らされる。
計算後にオブジェクトを追加してもある程度なじませてくれます。

スカイライト

ワールドの背景に環境テクスチャ→HDRI画像を張ることで豊かなスカイライトを作成できます。

露出

露出はポストエフェクトの一種です。このあたりもUE4と考え方が一緒ですね。

ブルーム

マテリアルの放射を強くしただけでは光って見えません。光って見えるためには、周辺への影響やブルームが重要です。

ニーという項目が理解できなかったので、そのうち調べます。

https://dcs.blender.org/manual/en/latest/render/eevee/render_settings/bloom.html

マテリアル基礎

ビューポート表示とは?
3Dビューのシェーディング(NotEEVEE)のときに表示する設定で、レンダリング時には関係ありません。

SSS

SSSは基本的にはマテリアルの設定で行えます。

レンダー設定にはサンプル数などの全体の速度にかかわる設定があります

  • 立方体サイズ
    いわゆるシャドウマップに影響し、ポイントライト、エリアライト、およびスポットライトに使われます。
  • カスケードサイズ
    カスケードシャドウに使われます。SUNライト専用です。

ESMからVSMに変更(するといい場合もある)
高ビット深度とセットで使う必要がある。サイズも十分に満たされていないといい結果を出さない

シャドウをきれいにするには?
上記のレンダー設定のシャドウのサイズが十分であること、ライトの設定も重要

シャドウの設定

終了、柔らかさ、バイアスなどは注意。デフォルトだとかなり速度重視のチューニングをさせている。

ボリュメトリックフォグ

シーンを包み込むようなボックスを作りマテリアルをプリシンプルボリュームにする

スカルプト

参加者の一人が、スカルプトを行っていたのですが、Blender2.8でマルチレゾリューションモデファイアを使ったときに低レベルのサブデビジョンで編集を加え、高レベルのサブデビジョンに戻ると、例レイヤーのハードエッジのようなシワができる現象に遭遇して困っていました。もしかするとバグかもしれません。

https://blender.stackexchange.com/questions/149219/multiresolution-bug-in-blender-2-8

作成途中に サブディビジョン レベルを上げるのではなく、サブディビジョンを多く掛けた後、レベルを下げてスカルプトして、あげていけば比較的問題が起きにくいようです。

SHARE :