骨付きSoftBodyによる挙動制御

SoftBodyである程度形状を保ったまま、柔らかい物体を表現するのは大変です。複雑な構造にしたり、拘束を強くするなどで形状を保てますが、そうすると柔らかさの調整が困難に、作成にも手間がかかり過ぎます。
この問題の解決方法として、SoftBody内部に剛体を配置、接続する「骨付きSoftBody」というものを考えました。

解説動画

【ニコニコ動画】【物理エンジン】 骨付きSoftBodyによる挙動制御


骨付きSoftBody

特殊な処理などはありません。SoftBodyの基本機能のみで実装可能です。
作成したい形状より少し小さめの剛体(骨)を作成し周りをSoftBodyで覆う構造です。今回の解説動画では、SoftBodyを外側と内側の2層構造にして、内側を剛体にアンカー接続しています。外側と内外をつなぐLinkの強さによって柔らかさを調整できます。
それから、ダンパーを強くしても剛体が全体を引っ張るのでゆっくり移動になりません。ゴムのような振動を抑えるためのダンパー調整の幅が広がります。
剛体の拘束を使うと、SoftBodyでは困難な可動範囲の制限も可能になります。


サンプルプログラム

“骨付きSoftBodyによる挙動制御” をダウンロード BulletSoftBody4.zip – 962 回のダウンロード – 364 KB


リンクなど

Bullet Physics Library

http://bulletphysics.org/

動画フォント(フリー素材)

「Rounded M+」 / 『自家製 Rounded M+』

動画作成

「ゆっくりMovieMaker」 / 『饅頭遣いのおもちゃ箱』
「AviUtl」 / 『AviUtlのお部屋』

非圧縮性流体を使った SoftBodyの挙動制御

なんか難しそうなタイトルですが、ようするにSoftBody内部を水で満たすことで動きの制御を行う方法を考えてみました。と思ったら、すでにSoftBodyにその機能がありました。体積を一定に保つように全ノードに膨張または縮小させる力を働かせるための設定とパラメータが用意されています。
なので、その機能の説明と適用した場合の動きを紹介します。

SoftBodyを布に使ってみようとしていましたが、まったくうまくいかないので、本来のSoftBodyの使い方に戻します。何百回と形状やパラメータを調整してもダメでした(心が折れました)。

続きを読む 非圧縮性流体を使った SoftBodyの挙動制御