ior2roughness
PBRで意外と厄介なのがroughness値が不明な事で、ごく一部が公開されてるくらいしかないので、IORから計算できるblenderのAddonにしてみました。
マニアな人は知っていると思いますが、IORのF0°時の反射率=roughnessなので、以前は表計算ソフトで計算してました。PBRだからといって、textureの作者が物理的に正しい値を使っている保証はないのが頭の痛い所。
blendファイルを開くとTextEditor表示になってるので、Text>Save Asしてior2roughness.pyを保存して取り出し、addonの要領でインストール。(*.pyを直接zipに含められないため、blender internal textで内包されています) 2.79~2.93コンパチ。
何かおかしいので色々調べてみたら、specularの0.0~1.0は、IOR 1.0~1.8のみ対応みたい。(https://dskjal.com/blender/principled-bsdf.html)
blenderのmanualにはフレネルの式は書いてあるがIORの事は書いてない。IOR 1.0~1.8のソースは何かというとPhysically Based Shading at Disneyのようだ。(http://project-asura.com/blog/archives/1972)dskjalさんよくこんなの見つけてきたな…。凄すぎんだろ。
計算してみて全然違うじゃねえかバーカバーカって事態は絶対避けたいけど、なかなか凡ミスがなくならないorz 多分もう大丈夫だとは思うんだけど。
2021/09/08 IOR 1.0~1.8の範囲でのみ計算するように変更。
2021/09/08 カラースペースが選べるように変更。
※ 計算式はこちらの数式を実装したものです。
http://www4.tokai.or.jp/optomecha_engin/kotae.html#物質表面での反射率はいくつですか?
マニアな人は知っていると思いますが、IORのF0°時の反射率=roughnessなので、以前は表計算ソフトで計算してました。PBRだからといって、textureの作者が物理的に正しい値を使っている保証はないのが頭の痛い所。
blendファイルを開くとTextEditor表示になってるので、Text>Save Asしてior2roughness.pyを保存して取り出し、addonの要領でインストール。(*.pyを直接zipに含められないため、blender internal textで内包されています) 2.79~2.93コンパチ。
何かおかしいので色々調べてみたら、specularの0.0~1.0は、IOR 1.0~1.8のみ対応みたい。(https://dskjal.com/blender/principled-bsdf.html)
blenderのmanualにはフレネルの式は書いてあるがIORの事は書いてない。IOR 1.0~1.8のソースは何かというとPhysically Based Shading at Disneyのようだ。(http://project-asura.com/blog/archives/1972)dskjalさんよくこんなの見つけてきたな…。凄すぎんだろ。
計算してみて全然違うじゃねえかバーカバーカって事態は絶対避けたいけど、なかなか凡ミスがなくならないorz 多分もう大丈夫だとは思うんだけど。
2021/09/08 IOR 1.0~1.8の範囲でのみ計算するように変更。
2021/09/08 カラースペースが選べるように変更。
※ 計算式はこちらの数式を実装したものです。
http://www4.tokai.or.jp/optomecha_engin/kotae.html#物質表面での反射率はいくつですか?