元記事:Softbodies
Blender のそれぞれの Object で "SoftBody(軟体物理演算)"エフェクトを適用できるようになりました(現在は Mesh と Lattice のみ)。一旦適用すると、この SoftBody システムは、ゼリーや布のような柔らかい物質を支配している物理法則を元に、Vertex を動かすことができるようになります。
2.37デモファイル(4MB)に、SoftBody の二つのサンプル、softbody_basics.blend と wind_soft.blend があります。
SoftBody エフェクトをコントロールするには、主に二つの方法があります。
"Goal"
SoftBody の Goal は、選択された Vertex の組で、ピンのような役割をします。SoftBody の影響量のコントロールはこれらで行います。
Goal を完全にアクティブ(1.0)にすると、Object は通常のアニメーション付き Object(SoftBodyエフェクトなし)のように振るまいます。
Goal を0.0にした場合、Object は物理法則にのみ影響を受けます。
Goal 値を0.0から1.0の間に設定することにより、Object がアニメーションシステムから受ける影響と、SoftBody エフェクトから受ける影響をブレンドすることができます。
また、Goal はメモリとしても働き、SoftBody Object があまり大きく変形しないようにし、最終的にはSoftBody によるアニメーションがされていない形状になります。
VertexGroup の Weight システムを使用して、Goalのウェイトを Vertex ごとに設定できます。
より自然に見えるようにするには、Vartex がオリジナルの位置からどれだけ遠くに動けるかをコントロールするスプリング(Stiff)を設定するといいでしょう。
Weight Paint を使用し、SoftBody の Goalを作成
スプリング
Edge のスプリングは、Edge がオリジナルの長さをどれぐらい保つかを決めます。例えば、Cube に対角線の Edge を追加することにより、より堅牢になります。(より「ゼリー状」ではなくなります)。Edge のスプリングを使用することで、Object はそのオリジナルの形状を保ちつつ、物理によって自由に動くことが可能になります。
スプリングはまた、布のシミュレーションにも使用することができます。
Blender2.37の SoftBody システムは主として、アニメーションシステム(キャラクタアニメーションも含む)の拡張を目的としています。柔らかい、もしくはくねくねするスキンのようなエフェクトが非常に簡単にできるようになりました。
SoftBody エフェクトをある Object で有効にした時、常に時間の進行をシミュレートします([Alt]+[A]のようなアニメーション再生、もしくは[→]キー)。逆方向の時間、もしくは9フレームを超えた大きなステップのジャンプでは、SoftBody はオリジナルの位置に戻ります。新しい TimeLine Window の再生を使えば、SoftBody のエフェクトの調整をインタラクティブに行えます。
一旦シミュレーションに満足したなら、"Bake" でシミュレーションを静的なアニメーションシステムに焼き付けるといいでしょう。Bake した SoftBody は非常に早く再生され、シミュレーションにはもう依存しなくなります。
シミュレーションはモーションブラー(MBlur)レンダリングでは上手く働かないこと、また、ネットワークレンダリングシステムで小さなチャンクでレンダリングするためには、アニメーションのレンダリング時には SoftBody を Bake することをお勧めします。
布のシミュレーションに SoftBody を使用する場合、特に衝突判定についてはまだテスト段階です。現在の衝突判定コードは改良が必要で、後のリリースに予定されています。
また、布のシミュレーションをもっと正確にコントロールするため、後のリリースで特別な Edge オプションを追加する予定です。現在、SoftBody のすべての Edge の効果は等しくなっています。
SoftBody の Vertex は Particle として扱われるため、ForceField と Deflector のオプションも同様に適用されます。
反射(衝突)はデフォームされていない(hook、Armature、Latticeなどが適用されていない)Mesh でのみ動作することに注意して下さい。詳細はField と Deflection をご覧下さい。
Softbody 設定パネル
全体的なオプション:
Goal オプション:
Edge オプション:
Start、End
Bake(焼付け)する SoftBody シミュレーションの範囲の設定。
Interval
Bake 間隔のフレーム数の設定(Bake 結果の「解像度」)。中間の位置はこのステップをキーフレームとして使用し、Bスプラインで補間されます。
Bake
Bake 処理の開始。複雑さにもよりますが、すこし時間がかかります。[Esc]で Bake を止めることができます。一度 Bake すると、このボタンは "Free Bake(Bake の解放)" ボタンに変わります。SoftBody の設定を変えたい時は、Bake された結果を解放しなければなりません。
以下にスタートガイドと、Blender の SoftBody を学び、実践できる、いくつかのビデオチュートリアルへのリンクがあります。
チュートリアルへのリンク
Elysiun.comで、Tuxbot氏が素晴らしい SoftBody ビデオチュートリアルをいくつか作成・告知されています。これらはblendertutorials.orgで公開されています。
スタートガイド
このセクションは主な二つの種類の SoftBody、「ゼリー」オブジェクトと、布オブジェクトの作成をカバーするものです。これらは深い部分に触れるチュートリアルではなく、むしろ Blender の SoftBody システムを身近な物にするサンプルです。
「ゼリー」SoftBody
このサンプルは比較的シンプルで、Goal の設定と VertexGroups の作成について悩む必要はありません。
このサンプルで必要なのは、一枚の Plane と、一つの IcoSphere(Subdivision:2)だけです。Plane の大きさは IcoSphere より少し大きくして下さい。IcoSphere の位置(Object の中心位置)は、 Plane の4グリッドユニット上にして下さい。
EditButtons([F9])の Smooth ボタンと SubSurf ボタンをONにし、IcoSphere をなめらかにします。SubSurf のレベルを2にすると、よりなめらかになります。
そして EditMode を出て、ObjectButtons([F7])に行きましょう。SoftBody パネルをクリックし、"Enable Soft Body" をクリックします。ゼリーのようなエフェクトには、少しの設定だけでOKです。まず最初に、"Use Goal" ボタンをOFFにします。どの Vertex にも重み付けの必要がないためです。
次に "Grav" を9.8ぐらいまで増やします(これは現実の重力のシミュレートです)。
そして、"E Stiff" を0.9ぐらいまでに増やします。"E Stiff" より高く、もしくは低くすると、硬い、もしくは柔らかい材質のゼリーになります(一番高いレベルにすると、この IcoSphere は剛体に近くなります)。
最後に、IcoSphere を Plane 上でバウンドするようにする必要があります。Plane を選択し、Particle Interaction パネル(タブ)をクリックし、"Deflection" をONにします。デフォルトの設定のままで大丈夫です。
では[Alt]+[A]を押し、ゼリーがバウンドするのをみましょう!
布の SoftBody
このサンプルは前回に比べ少し複雑になりますが、さほど多いわけではありません。
Plane を作成し、少し大きくします。Subdivide([W]キーメニュー)を二回行います。EditButtons([F9])にし、SubSurf をONにします(レベルは2がベストです)。そして"Set Smooth" を押します。
「ピン」を布の隅の一つに追加します。SoftBodyのエフェクトが判るようにするためです。新しい VertexGroup を作成し、"Weight" を0にします。すべての Vertex を選択し、"Assign" を押します。
次に、布の隅の Vertex を一つ選択し、"Weight" を1.0にします。そしてもう一度 "Assign" を押します。これは SoftBody シミュレーションが進行中、その Vertex をその位置に固定します。
EditMode を出、ObjectButtons([F7]) の SoftBody パネルに移動します。再び "Enable Soft Body" をクリックします。"Grav" を9.8に増やし、今回は、"Use Goal" ボタンはONのままにしておきます。"Use Goal" の隣になる小さいメニューボタンをクリックし、先ほどの VertexGroup の名前を選択し、Goal に使用します(このケースでは、選択できるのは Group だけです)。
では、[Alt]+[A]を押してみましょう。布が重力に反応するのがわかります。材質の柔らかさを変えるには、"E Stiff"ボタンを調整します ― 小さい値で布はほぼ無限に伸び、大きい値でほとんど伸びなくなります。
コーディング:Jens Ole Wundsi氏、統合:Ton Roosendaal氏
リリースログとチュートリアル:Jason Saunders氏
ソフトボディ(SoftBody)
はじめに
Blender のそれぞれの Object で "SoftBody(軟体物理演算)"エフェクトを適用できるようになりました(現在は Mesh と Lattice のみ)。一旦適用すると、この SoftBody システムは、ゼリーや布のような柔らかい物質を支配している物理法則を元に、Vertex を動かすことができるようになります。
2.37デモファイル(4MB)に、SoftBody の二つのサンプル、softbody_basics.blend と wind_soft.blend があります。
SoftBody エフェクトをコントロールするには、主に二つの方法があります。
"Goal"
SoftBody の Goal は、選択された Vertex の組で、ピンのような役割をします。SoftBody の影響量のコントロールはこれらで行います。
Goal を完全にアクティブ(1.0)にすると、Object は通常のアニメーション付き Object(SoftBodyエフェクトなし)のように振るまいます。
Goal を0.0にした場合、Object は物理法則にのみ影響を受けます。
Goal 値を0.0から1.0の間に設定することにより、Object がアニメーションシステムから受ける影響と、SoftBody エフェクトから受ける影響をブレンドすることができます。
また、Goal はメモリとしても働き、SoftBody Object があまり大きく変形しないようにし、最終的にはSoftBody によるアニメーションがされていない形状になります。
VertexGroup の Weight システムを使用して、Goalのウェイトを Vertex ごとに設定できます。
より自然に見えるようにするには、Vartex がオリジナルの位置からどれだけ遠くに動けるかをコントロールするスプリング(Stiff)を設定するといいでしょう。
Weight Paint を使用し、SoftBody の Goalを作成
スプリング
Edge のスプリングは、Edge がオリジナルの長さをどれぐらい保つかを決めます。例えば、Cube に対角線の Edge を追加することにより、より堅牢になります。(より「ゼリー状」ではなくなります)。Edge のスプリングを使用することで、Object はそのオリジナルの形状を保ちつつ、物理によって自由に動くことが可能になります。
スプリングはまた、布のシミュレーションにも使用することができます。
現在の実装
Blender2.37の SoftBody システムは主として、アニメーションシステム(キャラクタアニメーションも含む)の拡張を目的としています。柔らかい、もしくはくねくねするスキンのようなエフェクトが非常に簡単にできるようになりました。
SoftBody エフェクトをある Object で有効にした時、常に時間の進行をシミュレートします([Alt]+[A]のようなアニメーション再生、もしくは[→]キー)。逆方向の時間、もしくは9フレームを超えた大きなステップのジャンプでは、SoftBody はオリジナルの位置に戻ります。新しい TimeLine Window の再生を使えば、SoftBody のエフェクトの調整をインタラクティブに行えます。
一旦シミュレーションに満足したなら、"Bake" でシミュレーションを静的なアニメーションシステムに焼き付けるといいでしょう。Bake した SoftBody は非常に早く再生され、シミュレーションにはもう依存しなくなります。
シミュレーションはモーションブラー(MBlur)レンダリングでは上手く働かないこと、また、ネットワークレンダリングシステムで小さなチャンクでレンダリングするためには、アニメーションのレンダリング時には SoftBody を Bake することをお勧めします。
布のシミュレーションに SoftBody を使用する場合、特に衝突判定についてはまだテスト段階です。現在の衝突判定コードは改良が必要で、後のリリースに予定されています。
また、布のシミュレーションをもっと正確にコントロールするため、後のリリースで特別な Edge オプションを追加する予定です。現在、SoftBody のすべての Edge の効果は等しくなっています。
Field と Deflector
SoftBody の Vertex は Particle として扱われるため、ForceField と Deflector のオプションも同様に適用されます。
反射(衝突)はデフォームされていない(hook、Armature、Latticeなどが適用されていない)Mesh でのみ動作することに注意して下さい。詳細はField と Deflection をご覧下さい。
SoftBody の設定
Softbody 設定パネル
全体的なオプション:
- Enable Soft Body
SoftBody エフェクトを現在の Object で有効にします。 - Friction
全体的な「媒質」の摩擦で、Vertex のモーションすべての減速に使用します。 - Mass
Vertex の質量。大きいとモーションが遅くなります。 - Grav
SoftBody に影響する重力の量を変えます(力は負のZ軸の方向に加えられます)。 - Speed
SoftBody の内部タイミングをこの値でコントロールできます。 - Error Limit
ルンゲクッタ法:シミュレーション中のステップサイズを決定します。小さい値で精度が上がりますが、計算時間は増大します。 - Apply Deform First
SoftBody を他の Lattice もしくは Armature によるデフォームの後に適用します。(訳注:つまり、デフォームを先に(first)適用します)
Goal オプション:
- Use Goal
アニメーションの動きをシミュレーションに使用します(Ipo、デフォーム、Parent等)。"Goal" は、アニメーションを元にした、Vertex の最終的な目標となる位置です。SoftBody がこの Goal にどれだけ到達しようとするかは、Stiffness と damping によって決定できます。 - Goal
VertexGroup が全く設定されていない時の、すべての Vertex のデフォルトの Goal ウェイト。もし VertexGroup が存在する、もしくは適用されている場合、代わりに Goal の VertexGroup の名前が表示されます。 - G Stiff
Goal のスプリングの硬さ。低い値で非常に弱いスプリング(Goal へのより柔らかい「器具」)になり、高い値で強いスプリング(Goal への硬い「器具」)になります - G Damp
Goal の摩擦。高い値で SoftBody 上の Goal への効果が弱くなります。 - G Min/G Max
VertexGroups を WeightPaintMode で値をペイントした時、GMin とGMax を使用して Weight 値の範囲を(絞り込んで)調整することができます。一番低い Vertex Weight(青)は GMin になり、一番高い値(赤)は GMax になるでしょう。
Edge オプション:
- Use Edges
Mesh Object の Edges (あれば、自動的に Editing(EditButtons)→Meshパネルの Edge がONになります)が同様にスプリングとして動作します。 - Stiff Quads
四角形の Face で、対角線の Edge が、スプリングとして使用されます。四角形の Face が完全につぶれるのを防ぎます。 - E Stiff
Edges のスプリングの硬さ(どれだけ Edges が伸びるか)。低い値で非常に弱いスプリングになり(非常に弾力のある材質)、高い値で強いスプリング(硬い材質)になります。 - E Damp
Edges のスプリングの摩擦。高い値で E Stiff の効果が弱くなります。
Bake の設定
Bake(焼付け)する SoftBody シミュレーションの範囲の設定。
Interval
Bake 間隔のフレーム数の設定(Bake 結果の「解像度」)。中間の位置はこのステップをキーフレームとして使用し、Bスプラインで補間されます。
Bake
Bake 処理の開始。複雑さにもよりますが、すこし時間がかかります。[Esc]で Bake を止めることができます。一度 Bake すると、このボタンは "Free Bake(Bake の解放)" ボタンに変わります。SoftBody の設定を変えたい時は、Bake された結果を解放しなければなりません。
SoftBody の学習
以下にスタートガイドと、Blender の SoftBody を学び、実践できる、いくつかのビデオチュートリアルへのリンクがあります。
チュートリアルへのリンク
Elysiun.comで、Tuxbot氏が素晴らしい SoftBody ビデオチュートリアルをいくつか作成・告知されています。これらはblendertutorials.orgで公開されています。
スタートガイド
このセクションは主な二つの種類の SoftBody、「ゼリー」オブジェクトと、布オブジェクトの作成をカバーするものです。これらは深い部分に触れるチュートリアルではなく、むしろ Blender の SoftBody システムを身近な物にするサンプルです。
「ゼリー」SoftBody
このサンプルは比較的シンプルで、Goal の設定と VertexGroups の作成について悩む必要はありません。
このサンプルで必要なのは、一枚の Plane と、一つの IcoSphere(Subdivision:2)だけです。Plane の大きさは IcoSphere より少し大きくして下さい。IcoSphere の位置(Object の中心位置)は、 Plane の4グリッドユニット上にして下さい。
EditButtons([F9])の Smooth ボタンと SubSurf ボタンをONにし、IcoSphere をなめらかにします。SubSurf のレベルを2にすると、よりなめらかになります。
そして EditMode を出て、ObjectButtons([F7])に行きましょう。SoftBody パネルをクリックし、"Enable Soft Body" をクリックします。ゼリーのようなエフェクトには、少しの設定だけでOKです。まず最初に、"Use Goal" ボタンをOFFにします。どの Vertex にも重み付けの必要がないためです。
次に "Grav" を9.8ぐらいまで増やします(これは現実の重力のシミュレートです)。
そして、"E Stiff" を0.9ぐらいまでに増やします。"E Stiff" より高く、もしくは低くすると、硬い、もしくは柔らかい材質のゼリーになります(一番高いレベルにすると、この IcoSphere は剛体に近くなります)。
最後に、IcoSphere を Plane 上でバウンドするようにする必要があります。Plane を選択し、Particle Interaction パネル(タブ)をクリックし、"Deflection" をONにします。デフォルトの設定のままで大丈夫です。
では[Alt]+[A]を押し、ゼリーがバウンドするのをみましょう!
布の SoftBody
このサンプルは前回に比べ少し複雑になりますが、さほど多いわけではありません。
Plane を作成し、少し大きくします。Subdivide([W]キーメニュー)を二回行います。EditButtons([F9])にし、SubSurf をONにします(レベルは2がベストです)。そして"Set Smooth" を押します。
「ピン」を布の隅の一つに追加します。SoftBodyのエフェクトが判るようにするためです。新しい VertexGroup を作成し、"Weight" を0にします。すべての Vertex を選択し、"Assign" を押します。
次に、布の隅の Vertex を一つ選択し、"Weight" を1.0にします。そしてもう一度 "Assign" を押します。これは SoftBody シミュレーションが進行中、その Vertex をその位置に固定します。
EditMode を出、ObjectButtons([F7]) の SoftBody パネルに移動します。再び "Enable Soft Body" をクリックします。"Grav" を9.8に増やし、今回は、"Use Goal" ボタンはONのままにしておきます。"Use Goal" の隣になる小さいメニューボタンをクリックし、先ほどの VertexGroup の名前を選択し、Goal に使用します(このケースでは、選択できるのは Group だけです)。
では、[Alt]+[A]を押してみましょう。布が重力に反応するのがわかります。材質の柔らかさを変えるには、"E Stiff"ボタンを調整します ― 小さい値で布はほぼ無限に伸び、大きい値でほとんど伸びなくなります。
コーディング:Jens Ole Wundsi氏、統合:Ton Roosendaal氏
リリースログとチュートリアル:Jason Saunders氏
投票数:153
平均点:10.00
Blender2.37 変形ツール |
Blender機能別 |
Blender2.37 Field と Deflection |
ログイン
クイックリンク
2021/07/01版
●Blender.org
BlenderFoundation
- Blenderのダウンロード
- 公式チュート等
- 公式マニュアル(和訳)
●ニュース(英文)
BlenderNation
●Blenderコミュニティ
blenderartists.org
●Blender Q&A
- Blender Stack Exchange
●テストビルド
Buildbot(自動生成)
●開発関連
公式開発サイト
Blender開発blog
Blender Wiki
●Blender.org
BlenderFoundation
- Blenderのダウンロード
- 公式チュート等
- 公式マニュアル(和訳)
●ニュース(英文)
BlenderNation
●Blenderコミュニティ
blenderartists.org
●Blender Q&A
- Blender Stack Exchange
●テストビルド
Buildbot(自動生成)
●開発関連
公式開発サイト
Blender開発blog
Blender Wiki