トップ  >  1. Blenderリリースノート翻訳  >  Blender機能別  >  Blender 2.48 Bullet SoftBody
元記事:GameEngineDev-BulletSoftBody - BlenderWiki


Bullet SoftBody



はじめに


Blender 2.48以降のゲームエンジンに Bullet Soft Body シミュレーションが付きました。ここではこの機能についての情報と、使用方法を解説します。







SoftBody の主な機能


[wiki]-平面のクロスもしくは立体のソフトボディ
-Mass(質量)、Friction(摩擦)、Stiffness(硬さ)、Shape Match(形状との適合)、衝突判定設定でコントロール
-SoftBody 間だけでなく、RigidBody、すべてのタイプの Static Collision Bound との衝突判定
-SoftBody を RigidBody に付着させたり、ピン止め可能
-動的な SoftBody の構造を Show Physics Visualization で表示可
-AddObject Actuator による、新しい SoftBody の動的生成[/wiki]


サンプルファイルとフィードバック


[wiki]-[[SoftBody のいくつかのサンプル .blend ファイル(1.5MB):http://www.bulletphysics.com/ftp/pub/test/index.php?dir=blender/&file=blender-2.48-gamesoftbody-sample-blends-10.zip]]
-[[bathroom .blend ファイル(14MB):http://bulletphysics.com/ftp/pub/test/index.php?dir=blender/&file=bathroom_final_1.2.zip]]
-[[BlenderArtists の議論、フィードバックスレッド:http://blenderartists.org/forum/showthread.php?t=135471]]
-[[Bullet SoftBody シミュレーションの詳細:http://bulletphysics.com]][/wiki]


GameButtons 左上

Bullet SoftBody の作成


[wiki]-GameButtons で Object type を Static、Dynamic、Rigid body、Soft body から Soft body を選択(右図)

-SoftBody 用の衝突判定形状(Bounds)を選択

-SoftBody の場合、この Bounds タイプは自動的に convex hull(凸包)もしくは triangle mesh(三角形ポリゴンメッシュ)のいずれかに自動的に制限されます。[/wiki]



基本的な SoftBody 設定


GameButtons 左上

[wiki]-''Linear Stiffness(LinStiff)'': 小さい値で SoftBody が非常にやわらかく、 大きい値(1.0)で硬くなります。Shape Matching 機能と Bending Constraints 機能は極度に柔軟なボディも元の状態に維持し続けることに注意して下さい。
-''Shape matching(Shape Match)'': このオプションを ON にすると、Bullet はそれぞれの SoftBody の元の形状を思い出し、どれだけ大きく変形していても、SoftBody の形状をそれにあわせようとします。
-''kMT Shape mathing coefficient(kMT)'': どれだけ SoftBody を元の形状に戻すか。これは Shape Matching オプションが ON になった時のみ表示されます。
-''Bending Constraints'': 隣り合う Face が曲がるのを抑制します。
-''Friction'': SoftBody の動摩擦をコントロールします。範囲は0.0〜1.0で、0で摩擦なしで、SoftBody がすべります。[/wiki]


Advanced Settings


Advanced Settings を押すとでてくるダイアログ

[wiki]-''Cluster Collision'': Cluster Collision は衝突判定の精度を上げ、SoftBody が三角形 Mesh を通り抜けるのを防ぎます。各 Vertex/ノードと Face 間の衝突判定の代わりに、変形可能な凸包クラスタを使用します。SoftBody 同士でのクラスタ使用(SS)と、SoftBody と RigidBody間でのクラスタ使用(RS)を使用できます。
-''Cluster Iterations'': 大きな値でもっと細かなクラスタを作成します。1を選択した場合、すべての Vertex に対し、一つのクラスタを使用します。この設定は Clusters RB / SS を ON にした時のみ使用されます。
-''Position Iter'': 位置の修正処理を繰り返す回数。大きな値で SoftBody の位置修正の品質が向上します。[/wiki]


Constraint メニュー

SoftBody の固定(Pinning)と付着


[wiki]-Rigid Body Joint Constraint を使用し、RigidBody と SoftBody を引っ付けることができます。また、RigidBody 同様、Vertex を移動しないようにし、SoftBody を固定することもできます。この場合は単に付着するオブジェクトを使用しない、もしくは動かないオブジェクトに付着させればいいのです。

-現時点では、VertexGroup はサポートされていません。そのため、Rigid Body Joint Constraint を使用しなければなりません。

-単一の SoftBody を選択、もしくは一つの SoftBody と一つの RigidBody の両方を選択し、RigidBody Joint のボタンを使用します。

-SoftBody を固定する場所(Pivot X、Y、Z)を見るため、Show Pivot を ON にします。Bullet はこの Pivot ポイントの一番近くの Vertex/ノードを自動的に採用します。

-複数の Constraint を使用し、SoftBody の複数の部分を固定できます。

-No Col ボタンで、Constraint によってつながっている物の間の衝突判定を無効にできます。これによりつながっている物の間で不安定になり、振動するのを防ぐことができます。[/wiki]

RididBody Joint Constraint

[wiki]-Python Constraint を、ゲーム実行中の SoftBody の Constraint を作成するのに使用できます。ただし、現時点ではこれらの Constraint を直接削除することはできません。[/wiki]


Add Object Actuator

SoftBody の Tip といくつかの問題点



[wiki]-Add Object Actuator で動的に新しい SoftBody を作成できます。

-Motion Actuator では applyForce のみ使用できます。setPosition、Constraint Actuator、その他の LogicBrick は SoftBody では動作しません。

-SoftBody オプションにより、オブジェクトは 'Smooth' 設定時のように描画されます。常に Vertex と Vertex Normal が更新されるためです。[/wiki]


[wiki]-SoftBody を Subdivide して三角形ポリゴン Mesh にしておき、デフォームできるようにして下さい。EditMode に入り、すべての Vertex を選択([A]キー×2回)し、EditButtons の Subdive ボタンを押します。[/wiki]

Subdivide

[wiki]-UV Sphere Mesh は SoftBody と相性がよくありません。IcoSphere を使用して下さい。

-Mesh が細かすぎる場合、Decimate モディファイアで Mesh を簡略化して下さい。[/wiki]

Decimate モディファイア

[wiki]-Blender 2.48では、Clusters を ON にした SoftBody と、OFF にした SoftBody との間の衝突判定がありません。これは将来的に修正される予定です。

-Show Physics Visualization で、SoftBody や衝突判定の形状などの問題をデバッグできます。Game メニューから使用できます。

-Show Physics Visualization を ON にしてゲームを実行すると、SoftBody の複雑な動的構造に気づくでしょう。

-セルフコリジョン(自分自身との衝突判定)はサポートしていません。

-SoftBody の Python バインディングはありません。また、LogicBrick も、Motion Actuator の applyForce と、Add Object Actuator 以外はサポートしていません。

-SoftBody オブジェクトは、Collision/Near/Radar Sensor をサポートしていません。

-現在、大きなクロスと衝突するオブジェクトとの間に大きなギャップ・マージンがあります。現時点ではこのギャップをコントロールする方法はなく、将来の Blender バージョンで改善されるかもしれません。

-Scale を変更した Mesh を使用しないで下さい。代わりに Apply Scale to ObData を使用して下さい。SoftBody オブジェクトを選択し、[Ctrl]+[A]キーを押します。[/wiki]

Apply Object メニュー


元記事:GameEngineDev-BulletSoftBody - BlenderWiki
15:29, 14 October 2008版を元にしています。
プリンタ用画面
友達に伝える
投票数:16 平均点:10.00
前
Blender 2.48 アニメーションツール
カテゴリートップ
Blender機能別
次
Blender 2.48 Grease Pencil

ログイン

ユーザ名:

パスワード:



パスワード紛失

クイックリンク

2021/07/01版
●Blender.org
BlenderFoundation
- Blenderのダウンロード
- 公式チュート等
- 公式マニュアル(和訳)

●ニュース(英文)
BlenderNation

●Blenderコミュニティ
blenderartists.org

●Blender Q&A
- Blender Stack Exchange

●テストビルド
Buildbot(自動生成)


●開発関連
公式開発サイト
Blender開発blog
Blender Wiki