HDRIとはいったい何なのか??
HDRIとは
- 普通の画像より多くの明るさを表現できる画像だよ
- 白飛びや黒の潰れを抑えることができるよ
- CGのライティングとして使えるよ
High Dynamic Range Imageの略でHDR画像とも言う「HDRI」の特徴です。
-
ノーマル画像(黒がつぶれちゃってますね)
-
明るくしてみたノーマル画像(白が飛んじゃってますね)
HDRIならこの二つを同時に表現することができます!
なんでHDRIが必要なのか
HDRIはその輝度の幅を活かして、
CGにおけるリアルなライティングとして使用することができるのじゃ!
通称、IBL(Image Based Lighting)ともいい、CGやゲームもちろんTouchdesignerでもめちゃくちゃ使われる手法やで
例えば、
こちらは、スポットライト2つでライティングしたとき、
もちろんのことなんだかCGっぽいですよね。
今度はHDRIとスポットライトでライティング
Touchdesignerでは、environment lightを使います。
お手軽だし、きれいだし最高!
ついでに、周りの環境をHDRIの360度のやつで囲うとそれだけでグンとクオリティ上げられますね
使ってはみたいんだけど、HDRIどうやって入手するの??
HDRIを入手するには、
- HDR対応カメラで撮る
- 専用サイトでダウンロード
①は、一眼なんかがそのうちの1つですけど、iphoneでもHDR画像取れます。表示もできます。
ちなみに、パソコンやディスプレイでHDRI表示しようとしても、それ自体が対応してないと意味ないんで気を付けてください
②は、最強のサイトがあるのでご紹介します
こちら!!!
サイト飛んだらHDRIsを選択すると、十分すぎるくらいのHDRIたちがあなたを歓迎してくれます。
Touchdesignerで注意しないといけないこと
読み込んだときに暗い問題
TouchDesignerでHDRI使うときには、Movie File In TOP
で読み込みます
すると、
( ,,`・ω・´)ンンン?
なんだか暗いぞ
こっちがPoly Heavenでの画面
TouchDesignerでHDRを表示するときに、暗くなってしまいます
そこで、これを明るく必要がありますね
やることは、
level TOP
のGammaを2.2にします
完璧とまではいきませんがだいぶ良くなりましたね!
これ以外の方法を知らないので、これが一番いいのでしょう
ちなみに実際に手を動かしてるのが見たい方は、動画あるので是非ご覧ください
おまけ
8bit? 16bit?
さあレンジ幅が広いってどういうことなのでしょうか?
CGWorldでは、
RGB各16bitの浮動小数値で明るさを表現するため、従来の8bit整数値よりも格段にレンジ幅が広い。
と、
、、、
はて?
って感じですよね。
少しニッチな話になってきますが、知ってると
と思われるかもしれませんよ(笑)
コンピューターの世界では、常に0か1のみで情報は処理されます。
いわゆる2進法ってやつです。
そして2進法における桁をbitといい、8bitは8桁の2進数の値です。
真空ジェシカがやってたのは、10(2進数)なので、2個になります。
引用元: https://tomcat.2ch.sc/test/read.cgi/livejupiter/1639974832/
まあまあ難しいことをおいといて、8bitだと
00000000 ~ 11111111(2進数) を表せることになるってことですよね?
逆にこれ以上でもこれ以下でも表現できません。
これを10進数になおすと、
0 ~ 255 になります。
見たことある数字ですね~
そうです。RGBの値です。
そして、これが8bitの整数値なので
RGBごとに、1、2、3、4、~、255と続いていきます
16bitだと16桁表せることになるので、
0000000000000000 ~ 1111111111111111(2進数) を表せることができ、
さらに浮動点少数で10進数に直すと、
-65504~65504
を表すことができます。
試しにTouchdesignerでも確認してみると、
8bit
RGBが255で止まっていますね
16bit
YouTubeのvideoIDが不正です
65504以上の値は表現できないことがわかりますね。
まいろいろ書きましたが、ざっとまとめると
HDRでは、
RGBが
0~255
から
-65504~65504まで表せるようになるよってことです!
だから暗いところが見えるようになり、明るいところが白飛びしなくなるんですね。
参考サイト
Discussion