まるコットでメモ的な何か

シェイプキーだけで曲げの表現をしたい

Blender 2.83

TL;DR

  • 複数のシェイプキーを同時に動かして擬似的に曲げの動きを実現
  • 更にシェイプキードライバーで自動で連動するように設定
  • 直線的な動きをするとメッシュが埋もれてしまう問題などを解決できるかも

問題例

身体の表面に目の板ポリをShrinkWrapで貼り付けたモデルを作成した
瞬きするシェイプキーを作った。これで勝つる
瞬きアニメーション中に目の板ポリが身体に埋もれてしまった…

シェイプキーを組み合わせる

目の板ポリが身体に埋もれないように、瞬きするシェイプキーと目の板ポリを少し手前に動かすシェイプキーを組み合わせる。

Basis デフォルトの状態
CloseEye 瞬きシェイプキー
EyeFront 目の板ポリを少し手前に動かすシェイプキー
実際に2つのシェイプキーを同時に動かすと板ポリが貫通しなくなった!

瞬きに合わせて自動でEyeFrontを動かしたい

瞬きシェイプキー CloseEye は0から1までの値を取るため図のような一次関数グラフで表すことが出来る。

それに対してEyeFrontを連動させたい。

具体的には、CloseEyeが0のときはEyeFrontも0、CloseEyeが0.5のときはEyeFrontは1、CloseEyeが1のときはEyeFrontは0といった具合に連動してほしい。

sin(πx)だね!

これを実現する方法としてBlenderにはShapeKeyDriverという機能がある。

今回は異なるシェイプキーの値に応じて連動するようにしているが、他のボーンやオブジェクトの動きに応じて制御することも可能。

実際に設定してみると…

CloseEyeシェイプキーの値の部分を右クリック→Copy as New Driver
EyeFrontシェイプキーの値の部分を右クリック→Paste Driver
値の部分が紫色になるので、再度右クリック→Edit Driver
TypeをScripted Expressionにし、Expressionに「sin(pi * val)」を入力

設定が完了するとCloseEyeの動きに合わせてEyeFrontが連動して動くようになり、
瞬きアニメーション中に板ポリが貫通することがなくなった。

動画で見ると以下のようになる。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です