2007年06月17日

360度回転レンダリング画像 - 22

rot070616.swf
今回もPoser Clubに投稿した絵の回転バージョンに...なる予定でしたが、まだ絵の投稿はできていません。近いうちに投稿する予定です。(6/21にForum3Dのギャラリーに投稿させていただきました。)
服はsioneさんの「sione-kururu-Fanatasydress」、持っている楽器はHenrietteさんの「HHF-Sylvan Lyre for A3/TY2」です。髪は前回と同じくsioneさんに再作成していただいたポニーテールです。服はPoser Clubまたはsioneさんのサイトで、楽器はHenrietteさんのサイトで手に入ります。

※sioneさんは、この服の他にくるる用の服の新作を公開されています。sioneさんのサイトのダウンロードページをご覧ください。

ここからBlenderの記事になります。
今回はFluid Simulation(流体シミュレーション)について、見てみます。
Fluid Simulationは流れる水の動きを計算し、リアルなアニメーションを作成する機能です。計算された水の流れる形状は、オブジェクトとして出力することができますので、Poserなどに取り込んで使用することもできます。
pic070616_47.jpg

シミュレーション計算はかなり重いですが、意外と簡単な設定で使用することができます。
英語マニュアルFluid Simulationに詳しい説明があります。


シミュレーション実行までの手順は、こんな感じです。

1.形状作成
・シミュレーション領域
・流体
・障害物
2.アニメーション設定
3.シミュレーション設定
4.シミュレーション計算

シミュレーションでどのような状況を再現するかによって、手順も変わってきます。今回はあらかじめ水槽のなかに水が入っていて、その中で障害物が動くような場面を再現してみたいと思います。
それ以外にも、水適が床に落ちる、蛇口から水が流れ出るというように、いろいろと設定を考えることができますが、それに合わせて各手順で必要になる操作も変わってきます。

以下の操作を再現したサンプルデータ(sample_data070616.zip)を用意してあります。シミュレーションデータを含めているため、少しサイズが大きめになっています。


●形状作成
・シミュレーション領域
今回はBlender起動時に作成されるCubeをそのまま使います。
シミュレション範囲を設定するためのものですので、マテリアルの設定などは必要ありません。そのままではサイズが小さすぎますので、位置と大きさを適当に調整します。(画像は画面表示を「Wireframe」にしてあります。)
pic070616_01.jpg

・流体
今回は、水槽に水が入っているような状況を想定していますので、シミュレーション領域用のCubeをコピーして作成します。「Object」メニューから「Duplicate」を実行します。コマンド実行後にマウス左クリックで位置を変更することができますが、今回はそのままの位置にしたいので、マウスを右クリックします。
pic070616_02.jpg

このままでは、どちらがどちらかわかりにくいので、別レイヤーに移動します。「object」メニューから「Move to Layer...」を実行します。移動先を確認する画面が表示されますので、すぐ隣のレイヤーを選択にして「OK」を押します。
pic070616_03.jpg pic070616_04.jpg

コピーしたCubeを流体としますが、水面の高さを調整する必要があります。レイヤー選択ボタンで表示レイヤーを変更します。さらにCubeを編集するため「Object Mode」から「Edit Mode」に変更します。
pic070616_05.jpg pic070616_06.jpg

水面の高さを変えるため、Cubeの上面にある4点を選択します。キーボードショートカット「A」で全選択解除したあと、キーボードショートカット「B」の領域選択でCube上面の4頂点を選択します。
pic070616_08.jpg

キーボードショートカット「G」で移動します。コマンド実行後に「Z」キーを押すと、移動方向を上下に限定することができます。マウス左クリックで位置を確定します。
pic070616_09.jpg

「Object Mode」に戻ります。
ここでマテリアルの設定を行い水らしく見えるように透明度、屈折率などを設定しますが、詳細は省略させていただきます。というか、私自身がまだマテリアル設定についてよくわかっていないので、「Blenderビギナーズバイブル」という本の設定を参考にさせていただきました。
pic070616_12.jpg

シミュレーション領域を作成したレイヤーを「Shift」キーを押しながら追加選択すると、両方のCubeを表示することができます。
pic070616_10.jpg
(Fruid_01.blend)

・障害物
今回は、円柱が水の中に落ちるシーンを作成することにします。
別レイヤーに円柱を作成するため、左から3番目のレイヤーを「Shift」キーを押しながら選択します。
pic070616_11.jpg

テンキーの「7」を押して、画面をトップビューに切り替えます。
「Space」キーからのメニューで「Add」「Mesh」「Cylinder」を実行します。
pic070616_13.jpg

確認画面でRadius:0.50、Depth:3.00として「OK」ボタンを押します。(この通りの値でなくてもシミュレーションを行ううえではとくに問題はありません。)
pic070616_14.jpg pic070616_15.jpg

「Object Mode」に戻ります。
障害物についてのマテリアル設定も先ほど同様に省略させていただきます。こちらは少し色を変えてあるだけです。


●アニメーション設定
状況によっては「流体」の方にアニメーションの設定を行う場合もありますが、今回は障害物にだけアニメーションを設定します。

アニメーションといっても単純に位置を移動させるだけの簡単なものです。
現在のフレーム数が「1」であるのを確認し、円柱が選択された状態でキーボードショートカット「G」で移動をします。「Z」キーを押して上下のみに移動方向を限定します。全体が水面より少し上になる位置でマウス左クリックの確定をします。
pic070616_17.jpg

この位置をキーフレームに設定します。キーボードショートカット「I」を押します。確認画面で「Loc」を選択します。
pic070616_18.jpg

現在のフレーム位置を「6」にします。画面では数字を選択して直接キーボードから入力していますが、数字の横の矢印を使用する、キーボードの矢印キーを使うなどしても同じです。
pic070616_19.jpg

先ほどと同様にして円柱が水面より上に少しだけ出るくらいの位置に移動します。キーボードショートカット「G」を押し、続けて「Z」キーを押して方向を限定、マウスドラッグで位置を合わせたらマウス左クリックで確定します。先ほどのようにして、キーフレーム設定をします。キーボードショートカット「I」を押し、確認画面で「Loc」を選択します。
pic070616_20.jpg pic070616_21.jpg

現在のフレーム位置を変更して、アニメーションが設定できていることを確認します。確認したらフレーム位置は「1」に戻しておきます。
(Fruid_02.blend)


●シミュレーション設定
「シミュレーション領域」「流体」「障害物」の順にシミュレーションの設定を行います。
左上1番目のレイヤーを選択し、シミュレーション領域のCubeをマウス右クリックで選択します。
pic070616_22.jpg

「Fluid Simulation」の設定パネルを表示させます。「Buttons Window」の「Object」ボタンを押し、さらにその右の「Physics Buttons」を押します。
pic070616_23.jpg

・シミュレーション領域
「Fluid Simulation」パネルで「Enable」を押します。すぐ右のボタン「Domain」を「ON」にします。
pic070616_24.jpg pic070616_25.jpg

Resolution: 50を65に変更します。「Std」ボタンの横の「Ad」ボタンを押します。RealWorld-sizeを0.03から0.3に変更します。
pic070616_26.jpg pic070616_27.jpg

Resolutionはシミュレーションの解像度です。大きくすると計算時間が増えます。RealWorld-sizeはシミュレーションの領域が現実の世界でどのくらいの大きさになるかを表します。これらの値を変更すると、水しぶきのでき方が大きく変わってきます。

「Std」ボタンを押します。一番下のシミュレーション用ファイルの作成場所を変更します。数十MBくらいのかなり大量のファイルが作成されます。適当にわかりやすい場所に変更します。
pic070616_28.jpg

・流体
左から2番目のレイヤーを選択し、流体用のCubeをマウス右クリックで選択します。「Fluid Simulation」パネルで「Enable」を押します。右側のボタンで「Fluid」を「ON」にします。
pic070616_29.jpg pic070616_30.jpg

・障害物
左から3番目のレイヤーを選択肢、円柱をマウス右クリックで選択します。「Fluid Simulation」パネルで「Enable」を押します。
右側のボタンで「Obstacle」を「ON」にします。
pic070616_31.jpg pic070616_32.jpg
(Fruid_03.blend)


●シミュレーション計算
シミュレーションさせるフレーム数を設定します。
「Buttons Window」で「Scene」ボタンを押します。「Anim」パネルで「End:250」の数字を「30」に変更します。
pic070616_33.jpg

「Buttons Window」で「Object」ボタンを押し、再び「Fluid Simulation」パネルを表示させます。3つのレイヤーを「Shift」キーを押しながら選択し、すべて表示します。シミュレーション領域のCubeをマウス右クリックで選択します。
pic070616_34.jpg

「Fluid simulation」パネルで「Bake」ボタンを押して、シミュレーションを開始します。
画面上部の普段Blenderのロゴが表示されている部分に計算の経過が表示されます。
pic070616_35.jpg pic070616_36.jpg

計算が終了したら、キーボードの矢印キーなどでフレーム位置を移動して、アニメーションを確認してみます。「Fluid simulation」パネルで「Domain」の「Std」ボタンが「ON」のときに表示される
「Gui Display Mode」を「Final」にすると、より詳細なメッシュの表示で確認できます。
pic070616_37.jpg

そのままでは計算結果のメッシュがスムース表示されません。
この設定は、「Buttons Window」で「Editing」ボタンを選択して表示される「Link and Materials」パネルの「Set Smooth」ボタンで行います。(「Domain」を設定したオブジェクトが選択されている状態でボタンを押します)
pic070616_38.jpg

この後の作業では「流体」を設定したCubeはレイヤーを非表示にしておいた方がいいでしょう。

アニメーションをレンダリングするには、「Buttons Window」で「Scene」ボタンを押します。
pic070616_39.jpg

「Format」パネルで画面サイズ、作成するファイルの種類を設定します。今回は「sizeX:400」「sizeY:300」にサイズを設定し、「AVI Codec」「Microsoft Video 1」でレンダリングしています。
(実際にムービーファイルを作成される場合は、お好きな設定で作成してください。)
pic070616_40.jpg pic070616_41.jpg

アニメーションのレンダリングを開始するには、「Anim」パネルで「ANIM」ボタンを押します。
レンダリング終了後、「PLAY」ボタンでムービー再生できます。
pic070616_43.jpg pic070616_44.jpg

ムービーファイルの保存先は、「User Preference」ウィンドウの「File Paths」で確認できます。Windowsではデフォルトで「C:\Tmp」になっていると思います。
pic070616_45.jpg

(Fruid_04.blend)

今回のサンプルデータで作成したムービーは、こんな感じです。


同じデータでシミュレーションの設定を変更し、もう少し現実世界でのサイズを大きくしたものも作成してみました。Resolutionを100、RealWorld-sizeを2.00にしています。


このシミュレーションデータはかなり大きいので、サンプルデータには含めていません。代わりにWavefrontOBJの形状として出力したもの「fruid.obj」を入れてあります。Blenderのポリゴン数削減機能を使い、ファイルサイズを小さくしてあります。
pic070616_48.jpg

※スペルミスで"Fluid"を"Fruid"と書き間違えていました。本文内の記述を修正させていただきましたが、サンプルファイル名はそのままになっています。
posted by mato at 02:18| Comment(7) | TrackBack(0) | BLENDER | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
おはようございます。

週の初めからとても
爽やかな気分になれました。
可愛いですねー!

でも、Blenderに関しても
これだけ懇切丁寧に解説されて
おられて感心しております。
(ご出版されてもいいぐらいだと
思っています)(^^)


Posted by mamomamo at 2007年06月18日 10:01
Blenderってこんなこともできるんですか?
これって何気にすごい機能だと思うんですけど…
ちょっとこれ見て、Blenderに興味が沸いてきました。
(使いこなせるかどうかは別にして、ちょっと触ってみたい^^;)
Posted by casiopea at 2007年06月18日 10:35
> mamomamoさん
こんばんは。
(お返事のコメントが遅くなってすみません)
ブログの回転アニメーションのことは一切考えずに、こんな風に座っているポーズにしてしまいました。頭上空間とかのバランスが悪いかな...。
私はまだBlenderのほとんどの機能を使いこなせていません。私もBlenderの解説書を1冊持っていますが、書かれた方は本当にすごいと思います。私のレベルではちょっと無理そうですね。

> casiopeaさん
私もフリーの3DCGソフトでこんなことができるとは、すごい時代になったなと思っています。Blenderは様々な先進機能が次々と搭載されていて、多少苦労してでも試してみる価値はあると思います。開発スピードが速いのも覚えるのに苦労する原因のような気もします...。
Posted by mato at 2007年06月18日 19:38
こんばんは。ブログに訪問&コメントありがとうございました^^)/
いつもmatoさんのブログでBlenderの勉強をさせてもらってます。
(くるるちゃんもいただいて、お世話になりっぱなしですm(_"_)m)
流体シュミレーション、一度試してみたかった
んです!詳しい情報ありがとうございます。
Posted by mayuta at 2007年06月21日 19:34
こんばんは。
私の場合Blenderの使い方がかなり偏っているので、ブログの内容もそんな感じになっています。こんなブログでも何かに役立てていただければ、とてもうれしいです。流体シミュレーションについては、もう少し詳しく調べてみたいと思っています。
Posted by mato at 2007年06月21日 20:56
おぉ^^
わかりやすくて、見やすくて、良いブログですね。Blender初心者として勉強になりますm(__)m 綺麗なCGですね。
また勉強させてもらいに来ます。
そしてBlenderはこれからも躍進して欲しいですね!
Posted by at 2007年06月27日 14:08
はじめまして。
このブログをご覧いただき、ありがとうございます。
私自身は普段Poserを中心にして3DCGを作成していますが、Blogの記事はBlenderの関連が多いです。PoserユーザーのためのBlender利用法みたいな感じの内容が多くなっていますので、初心者の方に分かりやすくなっているか自信がありません。
最近、なかなか思うように更新ができません。本当は週に1度くらいは更新したいのですが...。
こんな感じのブログですが、よろしくお願いします。
Posted by mat at 2007年06月28日 00:51
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
この記事へのトラックバックURL
http://blog.seesaa.jp/tb/45079527

この記事へのトラックバック
過去に参加した展覧会
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。