2007年06月30日

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

rot070630.swf
今回は、Henrietteさんのサイトで開催されている「こっそりくるる展」(7/1で終了しました)に投稿させていただいた絵の回転バージョンです。水着はcasiopeaさんの「kururu_Bikini」、水着とくるるのテクスチャ、ポーズはHenrietteさんの「HHF_KururuHalfTone」を使わせていただいてます。Henrietteさんのサイトでは、さらに「イラスト風なハーフトゥーンレタッチ」のチュートリアルも公開されています。
水着はcasiopeaさんのサイトから、テクスチャとポーズのセットはHenrietteさんのサイトからダウンロードできます。
また、今回のくるるさんの顔は少し大人っぽくなっているように見えるかもしれません。これは、DAYTONAさんのモーフターゲット「KHD-RealHead-Kururu」を使用させていただきました。こちらは、Poser Clubのダウンロードコーナーから入手可能です。

ここからBlenderの記事となります。
今回は前回の続きで、Fluid Simulationをより詳しく見てみます。
具体的には、Fluid simulationのパーティクル機能について見てみます。
実は、前回は英語マニュアルの内容をあまり詳しく読まないで、基本的な部分だけを使用してサンプルデータを作成しました。実際に試してみると基本的な機能だけで海やプールなどのシーンで使えるような水しぶきを作るには、かなりシミュレーション解像度を上げる必要があることがわかりました。

Fluid Simulationパネルには、より高度な機能のためのボタンがいろいろありますが、その中にパーティクルに関係するものがいくつかあります。そのひとつとして、Version2.43へのアップグレード時に、パーティクルを使用して比較的軽い計算処理で、細かな水しぶきを作成できるように、Fluid Simulation機能が拡張されています。水しぶきはメッシュとして作成されるため、WavefrontOBJ形式などで出力することもできます。
pic070630_01.jpg

ちょっとわかりにくいのですが、Fluid Simulationのパーティクル機能はその前のVersion2.42のときにも行われています。こちらは、Fluid Simulationに合わせて、Blenderの通常のパーティクルを作成するというものです。パーティクルなので、オブジェクトとしての実体はなく、レンダリング時に光る点として表示されます。(ただし、Blenderにはパーティクルにオブジェクトを割り当てるDupliVertという機能があり、これを使用すると任意の形状をパーティクルの位置に配置することができます)
pic070630_02.jpg

まぎらわしいので、上のVersion2.43での拡張を「パーティクルによるメッシュ生成」、Version2.42の方は「パーティクルシステム機能」と勝手に呼ばせていただきます。
ちなみに、これらの機能については、英語マニュアルでも詳しくは説明されていません。もしかすると、本来の使い方と違っているところとかもあるかもしれません。あらかじめご了解いただきたいと思います。(サンプルデータsample_data070630.zipを用意してあります。)

まずは、パーティクルによるメッシュ生成についてです。こちらの方が操作手順が簡単で、手軽に使用できます。前回のサンプルデータを利用して、説明させていただきます。
前回のサンプルデータfruid_04.blendを開いたところです。(前回の記事で"fluid"を"fruid"と記載していました。大変失礼いたしました。)
pic070630_03.jpg

パーティクルを使用すると、シミュレーション解像度はそれほど上げる必要がありません。前回は少し解像度を上げて「50」から「65」にしていました。これを元の数値に戻します。パーティクルの設定は「Fluid Simulation」パネルで「Bn」というボタンを押したときに表示されます。「Generate Particles」を「0」から「1」に変更します。
pic070630_04.jpg pic070630_05.jpg

「Surface Sbdiv」の数値を「2」にします。これは、シミュレーションのメッシュに再分割曲面を適用するための設定です。数値を大きくすると、より細かくメッシュが分割されるので、シミュレーション計算は重くなります。パーティクルによるメッシュ生成を使用するには最低でも「2」を指定する必要があります。前回の設定に追加するのは、これだけです。
pic070630_06.jpg

シミュレーション最終フレームのプレビュー画像を比較すると、こんな感じです。ちょっとやりすぎでは、というくらいに水しぶきが生成されています。
pic070630_08.jpg pic070630_09.jpg

パネル上の表示では、計算に必要なメモリ「Req. BAKE Memory」はどちらも「12.41MB」となっていますが、実際に生成されるファイルサイズは以下のようになりました。

パーティクルなし:8.59MB
パーティクルあり:44.3MB

また、計算時間については、私のPC環境ではこんな感じです。

パーティクルなし:1分15秒
パーティクルあり:1分50秒

シミュレーションの解像度そのものを上げるのに比べると、かなり計算時間は短く抑えられていると思います。もう少し水しぶきを抑えたい、あるいはもっと増やしたいという場合は、「Generate Particles」の値を変更することで調整できます。
同じ場面で「Generate Particles」の値を「0.3」「2.0」にした場合のレンダリング画像です。
pic070630_10.jpg pic070630_11.jpg

アニメーションにすると、こんな感じです。

(こちらのデータはファイルサイズが大きくなるためサンプルデータにはいれていません)


次に、パーティクルシステム機能の方を説明します。
こちらは、メッシュとして水しぶきを作成するのではなく、パーティクルシステムのパーティクルそのものが生成されます。そのため、使用するにはパーティクルシステム自体の知識がある程度必要となります。

こちらも、前回のサンプルを使用して、設定を追加していきます。Fluid Simulationでパーティクルシステムを使用するには、まず、パーティクルを設定するためのオブジェクトを用意します。

テンキーの「7」を押して、トップビューに切り替えます。3DView内で「スペースキー」を押し、表示されるメニューから、「Mesh」-「Cube」を選択します。実際には、パーティクルとして使用するオブジェクトは「Cube」である必要はありません。任意の形状を使用できます。
pic070630_12.jpg pic070630_13.jpg

ショートカットキー「G」を押して、邪魔にならない位置に移動します。必要があれば、テンキー「1」を押して、フロントビューからも位置を調整します。この「Cube」の形状を編集する必要はありません。「Edit Mode」を抜けて、「Object Mode」にします。
pic070630_14.jpg pic070630_15.jpg

他の形状とレイヤーを分けておきましょう。
今作成した「Cube」が選択されている状態で、「Object」メニューの「Move to Layer...」を選択します。適当に空いているレイヤーに移動します。今回は4番目のレイヤーを使用しました。
pic070630_16.jpg pic070630_17.jpg

「Shift」キーを押しながら、今移動したレイヤーのボタンを押して、「Cube」が表示されるようにします。
pic070630_18.jpg
(fluid2_01.blend)

ここまでで、オブジェクトの準備はできました。次に、Fluid Simulationの設定を行います。
作成した「Cube」が選択されている状態で「Fluid Simulation」パネルの「Enable」ボタンを押します。「Particle」ボタンを「ON」にします。
pic070630_19.jpg

パネル一番下のディレクトリ設定を、「Domain」で指定しているのと同じディレクトリに変更します。「Drops」「Floats」のボタンを「ON」にします。
pic070630_20.jpg pic070630_21.jpg
「Cube」自体の設定はここまでです。

次に「Domain」の設定を行います。
「Domain」はFruid Simulationの領域を指定したオブジェクトに設定してあります。シミュレーション実行後には流体のメッシュ本体として表示されるようになります。「Domain」を設定しているオブジェクトを選択します。3D Viewの流体のメッシュをマウス右クリックします。
pic070630_22.jpg

「Fluid Simulation」パネルの「Bn」ボタンを押します。
「Generate Particles」を「1」にします。ここまでで、シミュレーションの設定は終わりです。実際にシミュレーションを実行します。「Bake」ボタンを押します。
pic070630_23.jpg pic070630_24.jpg

少しわかりにくいかもしれませんが、円柱の周辺に黒い小さな点がたくさん表示されているのがわかると思います。
現在の状態では、パーティクルに適切な質感を設定していないため、パーティクルは雲あるいは煙のような感じに表示されます。
pic070630_25.jpg pic070630_26.jpg

パーティクルシステム機能では「Drops」「Floats」「Tracer」の3タイプのパーティクルが作成されます。
「Drops」は水しぶき、「Floats」は水面の泡の表現に使用します。「Tracer」は流体の流れを視覚化するためのもので、流体内の浮遊物のような感じになります。「Tracer」を使用するには、「Domain」の設定で「Tracer Particles」に発生させるパーティクルの数を指定する必要があります。

はじめに作成した「Cube」はパーティクルに質感を設定するために使用します。普通は「Drops」「Floats」のそれぞれに別のオブジェクトを使用して、それぞれに「水しぶき」らしい質感、「泡らしい」質感を設定すると思います。パーティクルでリアルな水しぶき、泡を表現するのはかなり難しそうです。今回はちょっと簡略化して、パーティクルの動きがわかりやすいように、発光するような設定にしてみました。
pic070630_27.jpg

pic070630_28.jpg
設定の仕方については、今回は省略させていただきますが、パーティクルの質感設定は「Halo」の設定で行います。Blender日本語マニュアルなどを参照してください。
(fluid2_02.blend)

「Drops」「Floats」「Tracer」のそれぞれについて、アニメーションを作成してみました。
●Drops


●Floats


●Tacer


冒頭の部分でも書きましたが、パーティクル自体は実体を持たないため、形状としては出力することができません。他の3DCGソフトと連携する形で使用するには、レンダリングしたものをポストワークで合成するような形になると思います。

posted by mato at 05:22| Comment(3) | TrackBack(0) | BLENDER | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
こんにちは。

少し大人っぽいくるるちゃんも
いいですね。

色々なバリエーションの
くるるちゃんが誕生して楽しいですし、
またフアンの層が広がりそうです♪

私も「KHD-RealHead-Kururu」を試して
みますね!
Posted by mamomamo at 2007年07月01日 12:10
こんにちは。
DAYTONAさんのモーフターゲット、とってもいい感じです。目の大きさまで変わっていて、かなり印象の違う顔になると重います。
現在、くるる用の下着セットを作っています。ワッピーにコンフォーム化していただいた服といっしょに使えるように調整しています。来週中には公開、できるかな...。
Posted by mato at 2007年07月01日 17:47
先週中に公開したかったのですが、余計なことを思いついてしまって、ちょっと時間がかかっています。
余計なことというのは、ワッピーにコンフォーム化していただいた服にDCのシミュレーション結果をフルボディーモーフとして組み込んだりすると、どうなるかな〜というようなことだったりします。
Henrietteさんの24のポーズでシミュレーションしてみましたが、全部は無理そうなので、そのうちのいくつかを組み込もうと思っています。
もう一着分(スリップを自分でコンフォーム化しました)シミュレーションしないといけないので、まだ少しかかりそうです...。
Posted by mato at 2007年07月09日 21:30
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

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


※画像の中の文字を半角で入力してください。

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

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