本記事ではBlenderに標準搭載されているQuick Effects機能の一つであるQuick Smokeを使用して不規則で抽象的なオブジェクトを作成する方法を紹介します。
今回はBlender3.1を使用します。
Quick Smokeを作成する
Quick Smokeは名前の通り煙を発生させシュミレーションする機能があります。
そこで生成されたSmokeをVDB形式でエクスポートすることでそのSmokeをメッシュに変換することができます。
煙のシミュレーションにはDomainオブジェクトとFlowオブジェクトを作成する必要があります。
起動時に画面に配置してあるCubeを削除し、Shift+[A]でUV Sphereを追加します。
UV Sphereを選択し画面上部のObjectをクリックしQuick Effects→Quick Smokeを選択します。
するとUV Sphereの周りにCube状のDomainが出現します。
UV SphereのScaleを0.05に変更しておきます。
UV Sphereを選択しPhysics Propertiesを開きます。
Initial Tempatureの値を2に、Flow SourceのSurface Emissionの値を1に変更します。
続いてSmoke Domain(以後Domainとします)を選択してPhysics Propertiesを開きます。
Resolution Divisionsの数値を128に変更します。
CacheのTypeをModularに変更します。今回は150フレームでアニメーションを再生したいので、CacheとTimelineのEndの値を150に変更します。
ファイルマークをクリックしてCacheを保存する先を決めます。自分がわかりやすい場所に保存してください。cacheファイルはデフォルトだと見つけにくいので、デスクトップなどに保存しておきましょう
ここまで出来たら試しにSmokeを発生させてみましょう。
PCのスペックによっては動作が重くなることがあるので、ファイルはこまめに保存するようにしてください。
Domainを選択してBake Dataをクリックします。これでSmokeのアニメーションがベイクされます。
再生ボタンを押すとアニメーションが再生されます。
Force Fieldを追加する
このSmokeをForce Fieldを使用して変形させていきます。
はじめにSmokeがきれいに広がるようにDomainのサイズとLocationを変更します。
Transformの値を下記の画像のようにしてください。
Shift+[A]でForce Fieldを追加します。
Strengthの値はPhysics Propertiesから変更できます。
各Force Fieldを追加したら、下記の画像を参照しながら配置してみてください。
今回はこのように配置しました。
下記にあるXYZの三枚の画像はビューポートの向き、各Force Fieldの種類とStrengthの値を示しています。
Force Fieldの組み合わせは無数にあるのでお好みの配置も試してみてください。
各種Force Fieldの特性はBlender Manualで確認できます。
Smokeの量が多すぎると細かなディテールが潰れてしまうのでSmokeの量を調整するためにキーフレームを打ちます。
119フレーム目に移動しUse Flowの右の点をクリックします。
120フレーム目に移動しUse Flowのチェックを外して右の◇をクリックして完了です。
アニメーションをベイクする
Force Fieldを配置したらBake Dataをクリックしてアニメーションをベイクします。
このようなランダムな形状のSmokeができました。
自分の好みの形になるようにForce Fieldなどを調整しましょう。
ベイクをやり直す際はFree Dataを押した後に再度Bake Dataをクリックしましょう。
好みの形になったらファイルを保存してCacheが保存してあるファイルを開きます。
configとdataというファイルがありますが、dataの中にあるVDBファイルにSmokeのデータが保存されています。
ベイクをするとベイク以前のSmokeのVDBファイルは上書きされてしまうので、複数のSmokeを作成したい際にはdataフォルダを複製しリネームしておきましょう。
VDBファイルをインポートする
新規にBlenderを立ち上げShift+[A]→Volume→Import Open VDBを選択します。
先ほど保存したdataフォルダの中のVDBファイルをすべて選択してImport Open VDB volumeをクリックします。
そうするとSmokeのアニメーションがインポートされます。
これをメッシュ化していきます。
起動時に画面に配置してあるCubeを選択し、Volume to Meshモディファイアを追加します。
Objectで先ほど追加したSmokeを選択するとSmokeがメッシュ状に表示されます。メッシュ化したら元のvolumeオブジェクトは非表示にしたほうが見やすくなります。
Thresholdの値を変えることでSmokeをどの程度メッシュ化するかを調整できます。好みの位置で調整しましょう。
プレイヘッドを動かして好みの形状になる個所を見つけたらfluid_dataとCubeを両方選択しShift+[D]で複製しましょう。
複製できたらCubeを選択してVolume to Meshモディファイアを適用します。
これで完全にSmokeがメッシュになりました。
右クリック→Convert to Meshでもモディファイアを適用できます。
形状を整える
ここからは形状を整えていきます。
分離している細かい箇所を削除したいので編集モードでメッシュを全選択し[P]キーを押しBy Loose Partsを選択します。
そうすると余計なパーツが分離するので、削除しておきましょう。
スカルプトモードに移行し、右上のRemeshタブを開いてリメッシュします。Remeshの数値を細かくしすぎると動作が重くなるので、こまめにファイルを保存しましょう。
Smoothbブラシを使って全体をスムーズにしていきます。
リメッシュをするとポリゴン数が多くなるので、他のソフトやSTYLYで使用する場合にはDecimateモディファイアでポリゴン数を減らしておくと良いです。
これでオブジェクトの完成です。
オブジェクトをエクスポートする
エクスポートしたいオブジェクトを選択し、左上のFile→Export→FBXを選択します。
エクスポート設定を画像のようにし、保存先のフォルダを選択してExport FBXをクリックします。
これでエクスポートは完了です。
STYLYにアップロードする方法
アカウント作成方法
STYLYにアップロードする方法
UnityからSTYLYにアップロードする方法
これでSTYLYへのアップロードは完了です。お疲れ様でした。