dskjal
広告
広告

Blender で剛体 + ボーンで髪のアニメーション(2.79 以前のみ)

カテゴリ:blender

この記事で解説する、エンプティを使わない剛体コンストレイントは 2.79 以前のバージョンでしか使えない。Blender 2.80 以降の新しい Dependency Graph では以下のやり方は依存エラーが出る。2.80 での設定方法はリジッドボディ + ボーンで髪のアニメーションを参照。

コリジョンの設定

例えば以下のようなメッシュを用意する。

setup
剛体のセットアップ

ただしアニメーションさせる剛体の最初と最後のボックスにはボーンを設定しない。これらのボックスはボーンの位置をきめるのに使う。

アニメーションさせる剛体の原点の位置をボックスの上面に設定しておく。

set origin

剛体の設定

まず体のコリジョンを設定する。剛体を以下のように設定する。

body setting
体のコリジョンの設定

つぎにアニメーションさせる剛体を設定する。それぞれのボックスを以下のように設定する。

first
最初のボックス
other box
他のボックス(ただしオブジェクト12の部分は変える)

剛体コンストレイントのオブジェクト1は自分自身を設定し、オブジェクト2はひとつ前のオブジェクトを設定する。

設定が成功していれば、アニメーションさせながら最初のアニメーションさせる剛体を移動すると以下のように動く。

demo
動作テスト

ボーンの設定

後はボックスの位置にボーンを配置し、位置コピーと IK を設定するだけだ。

このときボックスの X 軸とボーンの X 軸を一致させておくといい。ボーンのロールはプロパティシェルフ(N)のロールで設定できる。

set axis
座標軸の設定
roll
ロールの設定
constraint
コンストレイントの設定

体や頭のボーンを親としてアニメーションさせる剛体の最初のボックスを親子付けすると以下のようになる。

demo
動作デモ

設定

動作速度が遅い場合はシーンの速度を変更する。

speed
速度の変更

剛体の揺れを抑える時は剛体力学の減衰やばねの減衰を大きくする。

damping
減衰の設定

凸包の注意点

凸包はへこみを表現できない。実際に凸のような形に凸包を適用すると以下のようになる。

convex
凸包はへこみを表現できない

このような場合はコリジョンメッシュを分割してへこみをなくすようにする。

作成風景(Youtube)

.blend ファイルダウンロード

Blenderで簡単にRigid Body(剛体)とConstraint(ジョイント)を設定できるaddon

関連記事

スカートや髪を物理で動かす方法まとめ

Blender 記事の目次


広告
広告

カテゴリ