広告
広告

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

カテゴリ:blender

目次

概要

クロスシミュレーション

クロスシミュレーションの使い方

直接クロスシミュレーション

クロスシミュレーション + メッシュ変形

クロスシミュレーション + IK

クロスシミュレーション + サーフェス変形

直接クロスシミュレーションでディティールの保存

服が貫通する場合

ソフトボディ

ソフトボディのパラメーターの解説

ソフトボディ + IK

ソフトボディ+メッシュ変形で髪を動かす

そのほか

剛体 + ボーンで髪のアニメーション

スローペアレント+Bボーン(物理シミュレーションではない)

JiggleArmature add-on(物理シミュレーションではない)

概要

物理シムを使う方法は大きく分けて2種類ある。物理シムを直接使う方法と、物理シムの結果をボーンやメッシュにコピーして動かす方法とだ。メッシュが単純な形ならば物理シムをそのまま適用しても満足できる結果が得られることもある。しかしメッシュが複雑な形をしている場合、コリジョンがうまく機能しなかったり静止したときに元の状態に戻らなかったりする。その場合は物理シム用メッシュを作成し、その結果をボーンやメッシュにコピーする方法を使うことになる。

ソフトボディ VS. クロスシム

詳しい説明はWhat is the technical difference between softbody and cloth simulation?を参照。

体積の保存

ソフトボディは体積を保存するがクロスシムはそうではない。多様体(一般的な閉じたメッシュ)を地面に落下させたとき、ソフトボディは元の形状を保存しようとするがクロスシムは布のように折りたたまれる。

計算負荷

ソフトボディの方が一般的に計算負荷は高い。ソフトボディは頂点間の距離が変化するが、クロスシムの頂点間の距離は固定だからだ。

柔らかい布を表現したい時はクロスシムよりソフトボディを使った方がいいかもしれない。

ボーン VS. メッシュ変形

ボーンはセットアップが面倒だ。しかし物理シムの影響を切り替えたり、物理シム後に微調整できるようなリグを組める。

メッシュ変形はセットアップが簡単だが、調整はシミュレーション頼りになる。スカートや板ポリで作った髪のような非多様体(閉じていないメッシュ)はサーフェス変形を使った方が簡単だ。

クロスシミュレーション

クロスシミュレーションの使い方

クロス・シミュレーション

クロス・シミュレーションのパラメーターの解説(英語)

直接クロスシミュレーション

スカートにクロス・シミュレーション〈その1〉

クロスシミュレーション + メッシュ変形

スカートにクロス・シミュレーション〈その2〉

クロスシミュレーション + IK

スカートにクロス・シミュレーション〈その3〉

このボーンのセットアップを自動化するスクリプト

クロスシミュレーション + サーフェス変形

サーフェス変形はセットアップの手間が少ないメッシュ変形のようなものだ. メッシュ変形と違いシミュレーション用メッシュが閉じていなくてもいい.

Surface Deform Modifier

Surface Deform Technical Documentation

使い方

クロスシミュレーション + メッシュ変形 と同様にクロスシミュレーションメッシュとレンダリング用メッシュを用意する. レンダリング用メッシュにサーフェス変形をつけ,Target: にシミュレーション用メッシュを指定して Bind を押すだけだ.

surface deform
サーフェス変形の設定

直接クロスシミュレーションでディティールの保存

メッシュ変形や IK を使う方法ではディティールは保存されたままだ. たとえばプリーツスカートを引っ張ると折り目が展開されるが, メッシュ変形や IK ではそうはならない.

直接クロスシミュレーションする方法ではパラメータを適切に設定すればそのような動きも可能になる. 重要なパラメータは Bending(曲げ),Spring(ばね),セルフコリジョンだ.

setting

Spring(ばね)は布の柔らかさをきめる.Spring が小さいと体が貫通しやすい.

Bending(曲げ)はしわの保存力をきめる.大きければ大きいほど元の折り目が復元されやすい.

low benging
Bending 0.5 (デフォルト)
high bending
Bending 1000

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

服が貫通する場合

服が貫通する場合は以下の項目を確認する.

1.Spring(ばね)を設定して布を柔らかくする

Damping(減衰): の Spring(ばね)を大きくすると布が柔らかくなる.

damping
Spring の設定
penetrate
動作デモ

2.シミュレーション前の時点でメッシュ変形のメッシュが体を貫通している

メッシュ変形のメッシュと体とが近すぎると正しくシミュレーションできない. これはシュリンクラップを使ったときに起こりやすい.

3.メッシュ変形用メッシュがレンダリング用メッシュより小さいことを確認する

レンダリング用メッシュより大きいメッシュ変形用メッシュをつくり内側へ Solidify(厚み付け)をする場合, 体を貫通しやすい.

location
メッシュ変形用メッシュの配置

4.メッシュ変形用メッシュの分割数が少なすぎる

メッシュ変形用メッシュの分割数が少なすぎると,ふくらみのある部分でメッシュが貫通しやすい.

5.体のコリジョンの Outer(外側)が小さい

Outer でコリジョンのサイズを変更できる.

outer
体のコリジョンサイズの設定

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

ソフトボディ

ソフトボディのパラメーターの解説

Blender SoftBody Tutorial - Introduction(英語)

ソフトボディ + IK

耳をソフトボディで揺らしてみた

ソフトボディ+メッシュ変形で髪を動かす

剛体 + ボーンで髪のアニメーション

剛体コンストレイントの使い方


剛体のセットアップ

上の動画ではエンプティを使っているが,それを使わなくても剛体で髪を動かす方法はある. 例えば以下のようなメッシュを用意する.

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。

スローペアレント+Bボーン(物理シミュレーションではない)

BlenderのBone+Empty+Slow Parentで弾んだり柔らかい動き

ver.2.78 使いやすくなったBボーンで遊んでみよう!

Bボーンとスローペアレントで簡易自動揺れモノ

アーマチュアにキーを打ったりアーマチュアを直接動かすのは推奨された方法ではない(アーマチュアを使うならボーンにキーを打つべき)ので, ボーンを動かすことでスローペアレントを機能させる方法を紹介する.

手順

まずルートとなるボーンの位置に Empty を配置し Child of でその情報をコピーする.

set child
情報コピー用 Empty の配置

スローペアレントを有効にした追従先の Empty をボーンの情報をコピーした Empty の子にする.

set slow parent
スローペアレントの設定

あとはボーンに IK をつけるだけだ.

demo
動作デモ

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

JiggleArmature add-on(物理シミュレーションではない)

cheece/JiggleArmature(GitHub)

関連記事

プリーツスカートのモデリング

ソフトボディを使って胸を揺らす

Blender 記事の目次


広告
広告