使用ソフトウェア | バージョン | 備考 |
---|---|---|
Blender | 3.1.2 |
Blenderで白熱球のような温かいライトを表現する。
今回はサンプルとして床置きのフロアライトのようなものを作った。
この明かり表現はRGBのような値ではなく蛍光灯の表記とおなじ「色温度(ケルビン)」で色を設定するもの。
逆に蛍光灯のような冷たい色をつくることもできる。
今回はBlackbody
というノードを使うが、実はライティングのカラーだけでケルビン値を表現することは可能。
※公式Doc
にもBlackbody
は黒体温度をRGB値へ変換をするノードだと書いてある。
ただ、感覚で色を選んでいると正確な色は表現できない。
よってカラーだけで無理やり表現しようとすると変換値を調べて設定する必要がある。
つまりこの記事で紹介する方法だと正確な色味を比較的かんたんに設定できるというのがメリット。
Cycles
の場合はライトオブジェクトそのものにノードを設定できるので非常に楽。
はじめにライトを仮配置した後次の作業を行う。
ライトのオブジェクトデータプロパティからノード > ノードを使用
ボタンをクリック。
これでShading
タブでライティングにノードを使うことができるようになる。
ここで放射(Emission)
ノードに黒体(Blackbody)
ノードを繋いだらもう完成。
あとはBlackbody
ノードの温度を設定すれば色が変わっているはず。
※よく使いそうな色設定は下部に参考を記載。
Eeveeでの注意点は、ライトオブジェクトにノードが使えないので代わりのオブジェクトを発光させる。
再現は可能だがこちらは少々面倒でデメリットがあるので注意(後述)。
レンダープロパティでブルーム(Bloom)
をオンにしておく。
これが設定されていないとエミッションが設定されているマテリアルが発光しない。
ライトの代わりに球でもなんでもいいのでオブジェクトを作っておいて、そちらのマテリアルを次のようにする。
※プリンシプルBSDF
の放射へ繋いでも良い
一応これで完成する。
サンプルがなんで球体だけだったのかというと冒頭のようにカバーの中にライトが入っているような表現が難しいからである。
同じシーンをEevee
でレンダリングすると次のようになる。
不自然なレンダリングとなる。
※ライトなしだと何も出ないのでサンライトを別途置いている。
というわけでEevee
の場合はライティングとして使うのではなく単に発光する物体としての表現にとどめておく。
次のサイトが参考になる。
Eeveeレンダーで放射シェーダーをライトにする方法【Blender2.8】 – 忘却まとめ
※この場を借りて良い記事をありがとうございます。
どうしてもレンダリング速度が必要でEevee
で再現するなら試してみる価値がありそうだ。
最後に参考値を残しておく。
暖色系のライトを表現したいというケースが最も多いと思うので記事のタイトルもそれになっているが、7000のように敢えて蛍光灯の青白さを表現に入れるのも面白い。
Blackbody
ノードを絶対に使わないと表現できない色というわけではないのだが覚えておくと何かと便利だ。
炎系の表現や恒星のような表現でも使えるかもしれない。
普段からEevee
をメインで使っているとこういう表現ができることを見落としがちなので、ぜひともCycles
で使ってみてほしい。