« June 2011 | Main | August 2011 »

July 30, 2011

Blenderで岩魚

Blenderで岩魚をモデリング、B-Boneを使ってリギングしてみました。

Blender's Iwana http://youtu.be/BeY8q42SdT8

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

iwana01.zip for Blender 2.58a

↑Blender2.58a用モデリングデータファイルです。
リンクをクリックするとダウンロードできます。(18M)

テクスチャマップは写真を使えば楽だしリアルにもなるのですが、自分で撮影した画像がなく、ネット画像や本のスキャンだと著作権の問題もあるので、仕方なく手描きしました(笑)

当初はあまりアップで使うことを想定していなかったので口の中を作らなかったのですが、最後のテスト動画で目立つので急遽上だけ塞いだため、そのあたりが変です(^^;

とりあえず自分的ポイント。
B-Boneの撓(しな)りはDeform>Curved BonesのEase In,Ease outで調整できる。
Inを最高値2、Outを0にすると一番撓る。

Scr1


さらにB-Boneだけでは尾の動きによる尾ビレの慣性がついた撓りが足りない気がしたので、ClothをかけてPresetからLeatherを適用しました。
ピンニングで必要な部分だけを動かすようにWeight調整。
問題点としては尾ヒレが薄いので、激しく動かすと手前と向こう側が入れ替わって線ができてしまうことで、これは↓の赤線部分のSelf Collisionを有効にすればある程度緩和できます。
(ヒレが薄いのでDistanceを小さくしています)
ただ、これをやるとキャッシュの計算に結構時間がかかるので、特に遠目や水流などを加えてレンダリングするときはSelfCollisionを使わなくても気にならないようです。
(一番いいのはヒレの部分だけ一層のポリゴンにしてしまうことなのでしょう)

Scr2


リグについては↓のコントローラーの移動で動きをつけられるようにしました。
(名前適当すぎ(^^;)
Forwardは上下に移動すると口が開閉し、回転すると体全体が回転します。
体全体の移動、回転はBaseで行います。(Boneのレイヤーの1番にありますが、データを開いて見えない場合はAlt+Hで表示できます)

Scr3

2.5ではさらにSplineBoneというのが組み込まれたようなので、それも魚に使えそうですね。

| | Comments (4)

July 22, 2011

Blenderで小川

BlenderのDisplace Modifierを使って小川を作ってみました。

Blender's Creek http://youtu.be/IMNxBpcULAM

うーん、またオリジナルの動画より随分暗くなっているような…LoiloScopeから直接エンコードしてアップするとそうなるのかな?
よくわからない…youtubeから動画をダウンロードするとまた普通に明るくなるんだけどなぁ…(´・ω・`)ヾ

仕方ないので、明るめにしたバージョンを再度アップしました。

Blender's Creek (bright version) http://youtu.be/lLZn9EI1eiA

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

creek01.zip for Blender 2.58a

↑Blender2.58a用モデリングデータファイルです。
リンクをクリックするとダウンロードできます。(5.3M)

Scr1

データを見てもらえばわかると思いますが、基本的には海の波等と同様、複数のNomal mapモードのCloudTextureをEmptyで別方向に動かして水面の流れる感じを作っています。

さらに今回は岩に水流が当たって波頭が大きく揺れる感じをDisplaceを使って表現してみました。
(↑の画像参照)

以下その部分の手順です。

 1.水面のオブジェクト(Plane)にWeight用のgroupを追加。
   (プロパティエディタのObject Dataボタンを押してVertexGroupsの欄の+を押し、適当な名前をつける)

 2.小川の水面と岩が接するあたりにWeightPaintでウエイトをペイント。
   さらに下流に向かって尾をひくようにペイントし、岩から離れるに従い、ウエイトを弱めるようにする。
   こうすることで、DisplaceのCloudTextureが下流に動くと自然に背が低くなって水が流れる感じが出る。

 3.水面のオブジェクトにdisplaceモディファイアを追加。

 4.TextureにCloudを新たに作成し、DisplaceモディファイアのTexture欄で指定。

 5.4.のCloudTextureを動かすためにEmptyを追加。
   上流から下流に動く(今回は-Y方向)ようにキーフレームを設定しておく。

 6.DisplaceモディファイアのTexture CoordinatesでObjectを選択して、5.で追加したEmptyを指定。

 7.VertexGroupにWeightを設定したgroup(今回はGroupWave)を指定。

 8.レンダリングやAlt+Aなどで動かしてみて、DisplaceモディファイアのStrengthやEmptyの移動速度、CloudTextureのSizeを調整。

以上で、結構それらしい水流ができたのではないかと思うのですが、いかがでしょうか。

なお、今回も岩と木を透明マッピングしたPlaneは別レイヤーに一個だけ作り、地面にそれぞれ用のウェイトペイントを施して、密集具合を設定、Hairでサイズや角度を適度にランダムに変えて生やしています。
(手前の二本の木だけは手作業で置いてますが)
こういうパーツをランダムな大きさ、角度で並べるのにもHairは便利ですね(^^)

Scr2


| | Comments (2)

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テクスチャによるパターン化をできるだけ目立たせないのがポイントでしょうか。

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

| | Comments (0)

July 06, 2011

Blenderで桜

Hairを使って雑草ができれば木もできるだろうということで、同じ方法で桜を作ってみました。

Blender's SAKURA http://youtu.be/PtCBtfxAcEU


↑この動画は片目で見ると結構立体感が出てくると思います

今回はまず枝を作って葉をhairで生やし、それをMesh化(実体化)して幹から再びHairで生やしています。
(どうもHairは生成物にObjectを使うと二重に使うこと(ネスト)ができないみたいなので…これができれば枝をmesh化せずに枝と葉をあとから自由に変形、入れ替えができるのですが。まあ、それができるとメモリがすぐにえらいことになる可能性もありますが…)

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

sakura01.zip for Blender 2.58

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

基本的な作りは雑草と同じなので、幹を選択してHair関係のパラメータを変えたり、枝(左画面に表示させています)の角度を変えたりすることでバリエーションができます。
使い方はBlenderのHairで雑草を作る その3と同様です。

基本的に作った枝は3種類あり、画像1のように、その枝を作る(メッシュ化する)ためのHairを使用した状態の枝とあわせて、レイヤー6にまとめてあります。
Branch_Heavyはアップ用。かなり重いので通常はあまり使えないでしょう。
Branch_Liteがメモリと外観のバランスが一番よくて使いやすいと思います。
Branch_Super_Liteはメモリを一番食わないのでテスト描画や小さく全体をレンダリングする時などに使えます。
BranchMakerは葉を独自に作ってHairのオブジェクトに指定、メッシュ化して枝を作るためのものです。
<画像1>
Scr1

これらの枝は幹を選択し、HairのRenderパネルのDupli Objectで指定することで差し替えができます。(画像2の黄色い枠の部分)

<画像2>
Scr2

枝の変形は画像2にあるように幹を選択してParticleボタンを押し、赤枠のあたりのパラメータを変更することで変化します。もちろん、枝の数は一番上のAmountで変更できます。

なお、枝のBendは後半の動画の桜吹雪の桜(sakura02_pkd.blend)のほうのみ仕込んであります。<画像1>
これを使うと枝垂れ桜のようなものもできます。
また、幹にはWeightPaintが施してあり、WeightPaintモードでこれを塗り替えることで枝の分布、大きさががらっと変わります。

<画像3>
Scr3

画像3にあるように、ObjectDataボタンを押してVertex GroupsパネルでGroupHair(幹によってはGroup)を選択し、WeightPaintモードでWeightを加減するとそれに伴って枝の粗密や大きさがリアルタイムで変化するので、好みの枝ぶりになるまでペイントできます。


なお、最初、特に意図したわけではないのですが、たまたま片目でこの動画を見たら異様に立体感が出てきたので、そんなこともあるのかとインターネットで調べてみたら確かにそういう現象は誰にでも起こるようです。

平面では片目で見たほうが立体的
単眼立体視

片目だと両眼で見る場合の視差が無くなることで、逆に脳が経験などを総動員して平面の写真を立体的に認識しようと補正するということなのでしょう。
シンプルでゆっくりとした主観移動の今回の動画の場合、特にそうした補正がやりやすくて立体感が得られやすいのだと思われます。
しかも専用メガネを使ったものや寄り目を使ったステレオグラム等よりも簡単で、それらよりも自然な立体感になるようです。
フルスクリーンモードで見ると立体感も臨場感も増すようですね。

| | Comments (0)

« June 2011 | Main | August 2011 »