-Blenderで剛体シミュレーションをするときの手順と注意点-

1. 剛体シミュレーションの基本設定


Rigid Body (リジッドボディ = 剛体) のシミュレーションは、重力で落下して床にぶつかって跳ね返る箱のような現象を計算できます。
剛体の名が表すように、メッシュの形は衝撃で凹んだりといった変形はしません。
オブジェクトは完全に形を保ったままで、位置や回転成分だけがシミュレーションによって決定されます。

■ 基本設定

デフォルトだと、箱が1つ表示されていると思います。
無ければ、箱を一つ配置します。

箱の物理設定で、Rigid Body (リジッドボディ = 剛体)を有効にします。
オブジェクトメニューからリジッドボディの項目で剛体を有効/無効の設定することもできます。

これは、2.79以前で画面左のパネルにあった Rigid Body Tools が
(左パネルがツールアイコンの場所になったので)メニューの中に移動したものです。
Type がアクティブな状態で、ダイナミックが有効な時(つまりデフォルト状態)は、
再生時にシミュレーションが行われ、重力などに影響されます。つまり落ちます。
アニメーションをスタート(Space)すると、デフォルトキューブが落下しました。
箱を受け止めるための板を配置します。

箱も剛体を有効にします。
箱は動かなくて良いので Passive (パッシブ = 静的) にしておきます。
この状態でアニメーションをスタートすると、板にぶつかって落下が止まります。

■ 衝突判定と形

最初に傾けておくと、ちゃんと自然にとまります。
設定の Collisions (コリジョン = 衝突)が衝突判定の形状の設定です。デフォルトはCovex Hull(凸包)となっていますが、これは凹部分を考慮しないで衝突判定をするということになっています。
床が凹んでいる状態で、床の衝突判定をCovex Hullにすると、実際の床より上で衝突判定が起きてしまいます。これはいかんですね。
Collisions を Mesh に設定すると、あるべき場所で衝突判定が起きました。
その他、Box や Sphere(球) といった形状も用意されています。
形状を簡単にすると、もちろん不正確なシミュレーションになりますが、その分計算が早いはずなので、大量の物体を使うシミュレーションなどで役に立つでしょう。
立方体だけだと例としていまいちなので。
メニュー内にあるサンプルオブジェクト Suzanne で剛体シミュレーションをしてみます。

形状にしたがって計算してくれています。
正確な形状の計算には Mesh を使いますが、あまり凹んだ部分を考慮する必要がない場合には Covex Hull を使います。

■ 物性とシーンの設定

そのままだと単にぼてっと落ちるだけなので、反発の係数などを設定します。
物理シミュレーション用の設定の中の、Surface Response (表面の反応)にあります。
Bounciness(跳ね返りやすさ)を大きくすると、跳ね返りが大きくなります。

実際の跳ね返りは、床面とスザンヌ両方の Bounciness の掛け合わせになることに気を付けます。
(床のBoucinessが0だとスザンヌの跳ね返りを1にしても跳ね返りません)

同様に Friction(摩擦)は表面を滑りにくさ設定します。
物体の形状が複雑になったり動きが激しくなると、床にめり込んで震えたりなど、挙動が怪しくなることがあります。
こうした現象は、計算の精度が荒すぎるために起こるようです。
シミュレーションの設定は Scene 設定の Rigid Body World 中にあります。

Steps Per Second (ステップ/秒) の値を大きくすると、
細かい時間ステップで物理計算して、より正確で破綻しにくくなります。
ところで、同じ Scene 設定内の大事な項目をここで述べておきます。
デフォルトでは、シミュレーションを行うのは250フレームまでです。もっと長いシミュレーションをするには、Cache の Simulation Start と End の領域を欄を長くとります。

inserted by FC2 system