Blenderでシェーダーの研究を行っていきます。
画像をクリックすると楽天に飛びます。
蔦の作成
蔦
上記蔦1を少し改造していく。Distribute Points on Facesノードは面に点が配置されるので場所によっては葉っぱが大きく茎にめり込んだりしてしまうことがあった。そこで赤丸で囲まれたResample on Facesを用いて点を配置した。詳しい説明をしてくれているサイトが無かったが恐らくこれはカーブの中心に点を配置してくれるようだ。
茎の太さが一様だったのでランダム性を持たせるためSet Curves Radiusノードを挿入しそれにランダムノードを繋げ茎の大きさが変わるようにした。この時ランダムノードで茎の大きさを変えているがこの大きさに葉っぱも合わせないと縮尺がうまくいかなくなるのでこのノードはInstace On Pointsのスケールにも繋いでおく。
オレンジ色のカッコで囲まれたTangentノードだが、これは茎の接戦の方向を表すらしく茎が湾曲しても葉っぱが大きくずれた角度で取り付けることを補正できる。
Instance On Pointsでインスタンスを作成した後にRotate Instancesで葉っぱの角度にランダム性を付けている。この葉っぱの角度はどうやらオイラー角で表されているようでπが基準になっている。
霧
霧の作り方が色々な所で紹介されているがEeveeでは黒く塗りつぶされた霧になってしまってうまくいかなかった。そこで下のように改造したところうまくいった。
ポイントはボリュームの散乱と吸収を足し合わせることです。さらに二つのノードの密度とカラーが同じになっていなければならない。同じカラーになっていないと設定した色と別の色になる。密度が同じでないと所々黒くなってしまう。また異方性は0である必要がある。
さらに一番のポイントだがHDRIを使うと背景が明るくなるがボリュームには一切寄与しないようで明かりが当たってない状態になってしまい暗い色になる。これが黒かった主な原因だと思われる。そのため下図ではライトのサンを追加してボリュームを照らしている。
まとめ
ボリュームの問題がやっと解決してよかった。EEVEEでは使えないのかと思っていた。