« Blenderで桜 | Main | Blenderで小川 »

July 17, 2011

Blenderで雲

今回はBlenderでHaloとBillboardを使用した古典的な方法で4タイプの雲を作ってみました。

Blender's Fake Clouds http://youtu.be/oF9tC2SLP5k

今回の動画を作成した際のモデリングデータを以下にアップしました。(4種)

FakeClouds.zip for Blender 2.58a

↑Blender2.58a用モデリングデータファイルです。(2.57等でも大丈夫かとは思いますが)
リンクをクリックするとダウンロードできます。50Mほどあります。(^^;

Blender2.5ではボリュームレンダリングやアドオンのCloud Generatorが実装され、かなり本格的な雲の表現ができるようになりましたが、実際に使ってみたところ、レンダリングに時間がかかったり、Generatorで生成した雲は軽い気分でコピペで増やしたり並べたりすることができなかったりと、扱いが難しい面もあります。

というわけで、従来のHaloによる方法やParticleのBillboardを使って立体的に見える雲に挑戦。
タイトルは本格的なボリュームレンダリング、Cloud Generatorに対する意味でFake Cloudとしてみました。
また、今回できるだけ手間のかからない雲を並べ方なども考えてみました。

<Halo_Cloud01.blend>
P1

まず↑の雲海をイメージしたモデリングデータですが、これはHaloを使用しました。
Haloの良いところはParticleのAmoutで4~5万程度を指定してもレンダリングが非常に速いことでしょう。
その分、細かい表現は苦手なのでParticleの数、Materialの大きさ(Size)、薄さ(Alpha)、輪郭の柔らかさ(Hardness)の調整のバランスが重要ですね。

Scr01

雲は一枚のプレーンを細分化してParticle(Emit)を適用。
WeightPaintモードでウェイトの高いところをDisplaceで盛り上げ、Halo Particleが集中するようにして雲の塊ができるようにしています。
ファイルを開いてWeightPaintモードで塗ってウェイトを変えると、リアルタイムでパーティクルの密度とZ方向の高さが変化することが確認できると思います。

雲海を表現するため、奥のほうに随分伸ばしたので上から見るとぼろぼろですが、奥に向かって飛ぶフライスルーでは雲海っぽい感じが出ているのではないでしょうか。
Displaceについては赤枠で囲まれたあたりが自分的ポイント。
(WeightPaintが適用されているgroupをVertexGroupに指定)

さらにPlaneをコピーしてZ方向にやや下げ、HaloのMateial には薄い青を設定して雲の陰を作り、立体感を出そうと試みました。

<Halo_Cloud02.blend>
P2

↑はCubeをSubSurfで荒めに細分化し、それをDisplace(textureはCloud)で変形、さらにSubSurfで滑らかに細分化したところでParticleを適用。

Scr02b

さらに同位置コピーしたものを光源と反対側斜め下方向にずらし、薄っすらとした青で陰を表現し、立体感を出しています。
あとはこの二つのオブジェクトを選択して、Alt+Dでリンクコピーし、適当に変形しながら並べてみました。
パーティクルの総数はかなり多いはずですが、やはりレンダリングは速いです。
Haloはボリュームレンダリングと違い、いくらオブジェクトが交差しても描写が破綻しないのも良いところですね。
今回の動画ではアニメっぽい表現の映像に合いそうな気がします。


<Halo_Cloud03.blend>
P3

↑こちらはHaloで入道雲に挑戦。
雲の形(HaloのEmitter)はスカルプトモードで適当に作成。
Haloの場合こういう細かい凸凹の表現は難しいのですが、輪郭が硬めになるようにHardnessの値を低くし、Emitterを同位置コピーして光源と逆の方向にわずかにずらして薄い青にすることで立体的になったように思います。

Scr03


<Billboard_Cloud.blend>
P4
最後はHaloのかわりにBillboardを使用しました。

テクスチャは円のグラデをStencilにしてCloud テクスチャをその下に配置。(Alphaを有効化)
ちなみにBillboardにテクスチャを適用するにはEmitterのテクスチャのマッピングモードにUVを指定し、ObjectDataボタンのUVTextureの+ボタンを押してUVを追加します。

単純な円であるHaloよりエッジが緻密になるのでAmountをHaloに比べて大幅に小さく(10分の1以下)して、Sizeをやや大きめにとると良いようです。
Alphaが絡みますので、その分レンダリングは遅くなりますが、それでもボリュームレンダリングに比べれば相当速いと思います。

Scr04

Haloの時と同様、雲のかたまり具合はWeightPaintで調整しています。
SunLightと組み合わせてみたのですが、結構リアルな感じになっているかと思います。
もとのcloudテクスチャによるパターン化をできるだけ目立たせないのがポイントでしょうか。

後半謎なものが飛んできますが即興で記憶だけで作ったのでフィンの数や形など違っているかもしれません。(^~^;)

|

« Blenderで桜 | Main | Blenderで小川 »

Comments

Post a comment



(Not displayed with comment.)




« Blenderで桜 | Main | Blenderで小川 »