Principled BSDF
BlendernのマニュアルにはPBRシェーダーとして知られるディズニーの原理モデルに基づき、Renderman、UEなどのソフトウェアとの互換性があります、とあります。このモデル自体はディズニーはSIGGRAPH 2012で紹介したDisney principled BRDFってのが始まりみたいですね。
- baseColor
- 物体表面の色
- subsurface
- 拡散反射とサブサーフェーススキャッタリング(表面下散乱)の間の調整値
- metallic
- 金属か非金属か。導電体、誘電体の区別とも説明されてるけど、電流を流すもの流さないものの区別とも言えますかね。金属側にした時は拡散反射成分を持たなくなります。
- specular
- 非金属の場合のスペキュラー反射の調整値。0の場合スペキュラー(直接反射)は消えると思いきや、入射角が90度に近くなるとその成分が現れる。フレネル効果がこれということらしい。
- specularTint
- 非金属の場合のスペキュラー反射の色。
- roughness
- 物体表面の粗さ(指で触った肌触りといったレベルの話ではなくミクロな表面の粗さみたい)。
- anisotropic
- スペキュラーの異方性の度合い。接線方向に対してスペキュラーの伸びる量を規定している模様。
- sheen
- 布表現なんかで使う値。入射角が90度付近での反射量?
- sheenTint
- Sheen成分とbaseColorをミックスする。
- clearcoat
- 一番上の層に追加されるスペキュラー層。
- clearcoatGloss
- クリアコートの光沢を調整。BlenderではClearcoat Weightかな?
以上が定義されているそうで、さらにDisney principled BSDFにより透過が加わったりその他拡張が加えられて今のBlenderのprincipled BSDFとなっている模様。
とかやってたのはとある素材集のFBXを読み込んだ時、付属するテクスチャのprincipled BSDFシェーダに繋がるポートがどうもわからんって感じだったから。SpecularのIOR Levelにささったテクスチャがありましてね。?って思うわけです。まあたぶん、Blenderが勘違いした結果だと思うのだけど、?って思う程度には理解してないなと思った次第。反省。
FBXはPBRマテリアルへの対応がされていないようで、そもそも制作者の意図した状態のマテリアルがBlenderで再現されるわけはないのだから、テクスチャは繋ぎ直しが基本なのだろうけどね。面倒なことです。PBRマテリアルに対応している汎用フォーマットとしてglTFやUSDがあるそうで、やはりこの辺に手を出していく必要があるなあと遅まきながら思っている今日この頃です。
<追記>せっかくなので復習。IOR。Index of Refrection。詳しくはウィキペディアでも見とけって思ったりはするけど、そこにはこう書かれてます。
真空中の光速を物質中の光速(より正確には位相速度)で割った値であり、物質中での光の進み方を記述する上での指標である。
というそのままのお話で、CG屋さんの間で広く共有されていると思われるガラスのIORは1.5だけど、これは新空中の光はガラス内の光より1.5倍ほど遅いと言えるんかね。その結果、光は物質間の境界で曲がり、角度がついて入射するとき透明な物質の向こうにある物の位置が実際の位置とはずれて見える、なんてことは現象としてはよく知られている通りです。
理論的にはこの辺はホイヘンスの原理から説明されるそうだけど、まあともあれ物質をまたぐと光は曲がる、と。
一方で光は物質を跨ぐところで反射もします。入射した光のうちどれだけ反射するかを示す値が反射率みたいだけど、それは屈折率から求められるということです。ってことで、CGソフトではIORを定義すれば透過と反射両方の挙動が求められる、ということみたいです。
ちなみに不透明なのに屈折率をどうやって測定しているのって思うわけですけど、測定方法がいくつかあるそうで、頭いい人たちはすごいなぁって思うわけです。</追記>
白い米
2月にしては高温な今日この頃ですけど(今日の東京の最高気温は18.2℃で平年と比べてとても高い模様)、昨年夏の暑さはまた格別で、それで米の品質が下がった地域が多いそうなんだけど、昨年の新米から1週間前ほどまで食べていた米までそんなふうに品質が悪化したって感じる米にはあたってこなかったものの、ついにそれにあたってしまって、でも買ってしまったものはしょうがないので今はそれを食べてます。
精米に中が真っ白い米が1~2割程度混ざっているが、これは何ですか。[農林水産省] に書いてあるとおり粉状質粒というそうで、日照不足・高温障害なんかで起こるそうで、今食べてるのは高温障害なのだと思われます。暑かったし。
そんなハズレを引くこともあるとお勉強させてもらいました。
ちなみにもちもち系が好きなもので最近はミルキークイーンが気に入ってます。
.DS_Store
ちゃんと調べたことがなかったmacOSが作るファイル .DS_Store。ざっくりいうと、フォルダのカスタム属性を保存するファイル、とのことです。主にFinderにより使用されるもので、フォルダ内の表示や配置に関する情報を保持しているそうです。ラベルもここに記録されるとChatGTPに質問したら返答してきました。
というわけでなんでこんなことを今更調べたのかというと、SMBでマウントしたLinuxの共有フォルダ内のファイルの一覧の取得に異様に時間がかかってたのだけど、ネットワーク上のディレクトリに対して.DS_Storeの作成を抑制するコマンドを実行後、嘘のように軽快にファイルの一覧を返してくるようになったんですね。そんな経験をしてしまった。その原因だったらしい.DS_Storeって本当にいらない子なのか?って調べてみたわけです。
個人的にはFinderではリスト表示でしか使ってないし、名前順で表示されたとしても都度更新日時順に並べ替えるぐらいは苦にならないしで、だから.DS_Storeはネットワーク上のフォルダには必要ないとも言えそうだ、との感触は得ることができました。大きな問題はないだろうという確信を得ることができたんで、.DS_Storeを対象にネットに記事を書いた人やChatGPTに感謝です。
defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool true