ブレンドシェイプの基礎知識

ブレンドシェイプは
変形させたい元のモデルを複製し、その複製モデルの頂点を移動して変形したモデルを作り、元のモデルを変形させます。

ブレンドシェイプをかけられる元モデルをベースシェイプ
変形目標のモデルをターゲットシェイプと呼ぶ。

ベースシェイプとターゲットシェイプは頂点の配置や数が同じである。

ブレンドシェイプは頂点移動。
ベースとターゲットの頂点の位置の差を見て頂点を移動をする。

「シェイプ」という名の通り、オブジェクトより下のシェイプノードで変形が行われるので、オブジェクトの「移動」「回転」「スケール」の差は変形に影響しない。

【バインド後にブレンドシェイプする場合の「ブレンドシェイプオプション」】

blendShape → skinCluster 順のヒストリー順にしなければならない。

◎推薦
■「詳細設定」タブを選択
変形手順「プリデフォメーション」を選択する。
blendShape → skinCluster のヒストリー順になる。

○可
■「詳細設定」タブを選択
「編集」→「設定リセット」をする。
変形手順「自動」のままで、blendShape → skinCluster のヒストリー順になる。

×ダメ
■「基本」タブのまま
「編集」→「設定リセット」をする。
デフォルト順 = 作業順になる為、
skinCluster → blendShape の順になりblendShape がヒストリーの最後となってしまう。

スキンウエイトのコピー

ローポリゴンモデルからハイポリゴンモデルへスキンウェイトのコピー。 このローポリモデルは既にアニメーションまでついているので、同じジョイントでバインドしたハイポリゴンモデル(レンダリング用のモデル)もアニメーションします。

4足動物の背骨のセットアップの一例

4足動物の背骨のセットアップの一例として組んでいます。
最初は4足動物の動作。その後、新規シーンで背骨の部分だけ組んでいく行程を録画したものになっています。
ジョイントの構造は人間とほぼ一緒で上体を前に倒して後ろに尻尾が追加されるくらいなのですが。前足が地面に接地してる為にその真上の背骨(鎖骨の辺り)があちこち動いては困る。ここに位置を固定&操作するコントローラは欲しい。そこで考えてみた仕組みです。かっちり固定できないのでちょっと不安定な感じですが^_^;

バインド方法

バインドスキンオプション

最短距離(Closest Distance)

——————–
階層内の最近接(Closest In Hierarchy)

——————–
ヒート マップ(Heat Map)

——————–
測地線ボクセル(Geodesic Voxel)

膝を抱え込む….足を胸に付けるまで曲げる

大きな曲げ角は複数の関節で分散させる

ウエイト調整したモデル。ウエイトの調整だけでは足を前方に90度以上曲げるとお尻が痩せ始めます。
膝を抱え込むような動作では、足の付け根と共に腰を大きく曲げるようにすると比較的破綻が少ないです。

肘の補助ジョイント

ポリゴンの分割の仕方でかなり変わりますが、関節の曲がりは直角までが自然に曲げられる限界だと思います。
ウエイト調節だけで90度以上形状の破綻なく曲げるのは困難。
(自分のモデルの分割の仕方やウエイト調整が未熟なだけかもしれません)
そこで修正用のジョイントを足したものを試してみました。
初めの段階から4種類のセットアップが連続して再生されます。

1、デフォルトでのバインド
2、ウエイト調整後
3、補正用ジョイントを一つ追加したもの
4、複数のジョイントを追加したもの

補正用のジョイントは肘のアングルの連動して動くようになっています。
この条件付けにはドリブンキーを使っています。
サブの各ジョイント全てを個別にグループ化して一つ上のノードを作り、メインの骨に対してペアレントコンストレインされていて、その下のノードでドリブンにより動かされています。