日々適当

hibitekitou

凸をもやっと

エッジに対して少し濃いもやっとしたものを入れたい時、あるいはそれをキーとしてエッジ部分に何か表現を加える時、Ambient Occlusionは活躍します。softimageの標準のそれは、凹面について、面と面が近い時に効果が現れてくれるのですが、これが凸面に対して出てくれないかって思ったわけです。

そうした時、過去、DirtmapやInvertSurfaceに標準AOを使う等やってきた事がありました。んが、なんかどちらも今の環境に上手くいれることが出来なかったのです。
ってことで、binary alchemyのShader Collection - Essentialを利用しようと思ったわけです。

BAのBA_raylengthシェーダの中にRaylength Typeというパラメータがあり、そこで、Inverted Normal (Edges) を適用することで望む効果が得られます。



行き詰まったのは、これをテクスチャとして焼き付けようとした時です。Rendermapかましてみたら真っ黒になってしまったのですよ。



上図はRendermapのデフォルト設定でテクスチャを書き出し、それをキューブに貼り付けてあります(テクスチャが貼られた状態が表示されています)。右側には焼き込みを行ったテクスチャが表示されています。
見ての通り、レンダリング画像とは似ても似つかぬグレーになってしまっております。

そこで現れた救世主@JunkiTheJunkie さま。検証し、解決法の指針を示してくださいました。

その結果、設定としては Disable Surface Properties で Refraction をオフにすることが必要そうってことが分かりました。



理屈までは分かっておりませんが、これで乗り切れそうです。
コメント ( 5 )|Trackback ( )
  ・