Blender 2.8
Blender 2.8 : Eevee の反射と屈折について(5/21更に追記あり)
投稿者 : yamyam 投稿日時: 2019年05月10日 (4546 ヒット)

[5月14日追記]再び屈折と反射が両立する方法を発見しました。詳しくは本文をお読みください。

[5月14日追記]記事内で「屈折と反射が両立する」という記述をしましたが、実際には透過はしていたものの、屈折はしていませんでした。重ね重ねお詫びいたします。

 以前私は「Eevee では見えない部分の反射はできない」という趣旨の文章を書きました。しかし、見えない部分は Light Probe(ライトプローブ)で補完でき、以前確かめた時は単に設定に問題があったことが判りました。訂正してお詫びいたします。

 また、反射と屈折も同時使用できる方法が見つかりました。ただしこちらは割と裏技的な物なので、いずれ修正される可能性があります。

■Eevee による反射


 下図のような、立方体と二つの平面を例に取り、真ん中の平面に反射と屈折を設定してみます。



 Eeveeレンダーで反射と屈折を行うには、Screen Space Reflection(スクリーンスペース反射、以降 SSR)を使用する必要があります。
 SSR は Render(レンダー)プロパティ→▼Screen Space Reflection(スクリーンスペース反射)をONにすれば利用可能になります。

 あとは中央の平面のマテリアル内の、Principled(プリンシプル)BSDF の Roughness(粗さ)を低く、Transmission(伝播)を最大にしてみれば、反射している様子がよくわかります。



 さて下図のようになりましたが、ご覧のように立方体の底が表示されていません。これが表示されるように、次にライトプローブを追加します。




■ライトプローブによるSSRの補完


 Screen Space Reflection(スクリーンスペース反射)はその名の通り、スクリーンスペースでの反射ですので、画面内にない物は反射できません。それを補うのが、ライトプローブです。

 ここでは平面用の Reflection Plane(反射平面)を設定してみます。

 追加(Add)メニュー→ Light Probe(ライトプローブ)→ Reflection Plane(反射平面)を選択して追加します。





 平面に重なるように拡大・移動します。このライトプローブは縦4段に分かれたワイヤーフレームで表示されており、中央の面に、ライトプローブにより生成されたデータが表示されます。ここに反射の状況が見えますので、これを見つつ、反射させる面のほんの少し上側になるようにしてください。




 反射している状態が表示されます。もし必要なオブジェクトが映り込んでいなければ、Properties Editor(プロパティエディター)のオブジェクトデータタブ→▼Probe(プローブ)→Distance(距離)を大きくしてみてください。

 このままでは実際に平面オブジェクトに映り込んでいるのかが判りづらいので、▼Viewport Display(ビューポート表示)の Show Data(データを表示)を切ってください。




■Eeveeによる屈折


 次は屈折です。レンダーとマテリアルの2箇所を設定します。

 まず、Render(レンダー)プロパティ→▼Screen Space Reflection(スクリーンスペース反射)→Refraction(屈折)をONにします。
 次に反射したい平面オブジェクトを選択後、Material(マテリアル)プロパティまたはサイドバー内の、▼Settings(設定)パネル内の Refraciton(屈折)をONにします。



 下の市松模様が見えるようになりましたが、ふと見ると上の赤いキューブの上部分が伸びて変なことになっています。



[5月21日追記]
 「映り込む側」(ここではキューブ)
の Material(マテリアル)プロパティまたはサイドバー→オプションタブ内の、▼Settings(設定)パネル内の Blend Mode(ブレンドモード)を Alpha Blend(アルファブレンド)にします(もし面が裏返ってしまった場合は Backface Culling(裏面の非表示)をONにします)。

 これもやはり応急処置的な方法で、正しい設定ではないように思われます。今後のバージョンで修正される可能性がありますし、バグ報告済です。くれぐれも利用にはご注意ください。


 これは Material(マテリアル)プロパティまたはサイドバー内の、▼Settings(設定)パネル内の Refrection Depth(屈折の深度)を0.1mにしてやれば直ります。
[5月14日追記]実際は屈折が起こらず、単に透過するだけのようで、もう少し調査が必要です。





■反射と屈折の併用


 実はもうすでに Reflection Plane が使用された時点で、反射と屈折の併用ができているのですが、あと一つ仕事があります。
 少し中マウスボタンをドラッグして、回転させてみると、上の鏡像が回転せず、更新もおかしくなっています。



 修正方法ですが、Material(マテリアル)プロパティまたはサイドバー内の、▼Settings(設定)パネル内の Blend Mode(ブレンドモード)を Alpha Blend(アルファブレンド)にするとなぜか直ります。






■終わりに


 最初にも書きましたが、今後はこのような面倒なことをしなくても、普通に設定できるようになる可能性はあります。とりあえずの応急処置として覚えておくと役に立つかもしれません。


印刷用ページ このニュースを友達に送る

投稿された内容の著作権はコメントの投稿者に帰属します。

クイックリンク

2013/11/15版
●Blender.org
BlenderFoundation
- Blenderのダウンロード
- オープンプロジェクト
- 公式ストア

●マニュアルなど
公式マニュアル(途中)
JBDP2.5 Wiki
CGRad Project
Project-6B(6B計画)

●チュートリアルなど
公式チュート等
その他チュートリンク集
公式動画チュートリアル
Blender Cookie
Blenderで3DCG制作日記
BlenderVideos.com
Blender 3D: Noob to Pro
blenderguru

●日本語コミュニティ
Blender@2ch
BLUG.JP(FBページ)
(BLender User Group of JAPAN)

-旧BLUG.JP
-blugjpまとめ
ぶれんだちゃん*(ツイッター)

●実写合成(日本語)
CGCompo

●合成エフェクト(日本語)
tomo@web

●Cycles
Blender Cycles memo

●Freestyle(日本語)
公式マニュアル
使用例
スザンぬクラブ

●ニュース(英文)
BlenderNation

●Blenderコミュニティ
blenderartists.org
- フォーラム
- 記事検索
- New feature tests
- Model Repository

●Blender Q&A
- Blender Stack Exchange

●テストビルド
Graphicall.org(非公式)
Buildbot(自動生成)

●開発関連
開発情報
開発ドキュメント
公式開発ブログ
Blender開発者サイト
- バグトラッカー
- 旧バグトラッカー(閲覧用)
- パッチトラッカー
- 旧パッチトラッカー(閲覧用)
SVNコミットログ

●GameBlender
公式マニュアル
専用API
バグトラッカーなど
旧バグトラッカー(閲覧用)
Bullet 物理演算ライブラリ

●外部レンダラ
YafRay
LuxRender 私家版資料
Mitsuba

●アドオン
公式スクリプトカタログ
BlenderArtists::python & plugins

●アドオン開発
最新 PythonAPI
Python Japan User's Group

●モデル&マテリアル
Blender Model Repository
Kator Legaz 3D Model
Blend Swap
blender-materials.org

●日本語化・翻訳サイト
Blender日本語化関連(blugjpまとめ)
日本語化の設定(2.4xのみ)

●2.4x用スクリプトとAPI
公式(日本語:下側参照)
L-System(2.5以降は同梱)
Python API リファレンス(2.4x用)

2.4x以前ではPythonフルセットが別途必要になることがあります。
旧Pythonバージョン

●2.4x用プラグイン(Python以外)
Blender Plugin Repository

ログイン

ユーザ名:

パスワード:



パスワード紛失