Blenderのシェイプキーを使いこなせ!?
Blenderのシェイプキーと言えば、頂点モーフィングのこと。
フェイシャルアニメやあれやこれやと利用価値の高い技術だが、Mayaのそれと違って中間ターゲット(In Between Target)が設定できない。
設定できないといううよりも、複製したベースモデルを編集してターゲットシェイプを作成、登録、任意の中間ターゲットとして指定できる機能が欲しい。、4.1バージョンでは多分できない、、知っている限りできないと思う、、。(方法があれば教えてください!)
そこで、『Blenderのシェイプキーを使いこなせ!?』のタイトル詐欺になるが、Blenderのシェイプキーの設定方法とAddonによる対応を覚書。
先に言っておくと解決しません(笑)
シェイプキーの設定方法
❶ シェイプキーの設定
シェイプキーの設定は比較的カンタンです。
2つの状態を例に簡単に紹介しましょう。
まず、オブジェクトモードで、「データプロパティ」➡「シェイプキー」で+ボタンを押して、ベースとなるオブジェクトを登録する。
次に再度+ボタンを押して、ベースモデルと同じモデルを登録して、編集モードで任意の形状に頂点編集を行う。
これで2つの状態が設定完了です。
あとは、キーフレームを打ってアニメーション設定を行うだけですね。
❷中間形状の作成
次に中間形状の作成。つまり「キー1」(ターゲットシェイプ)をベースに他の形状を登録する方法です。
「キー1」の中間形状の編集は、シェイプキースペシャルメニュー > 「新規シェイプをミックスから作成」で中間形状を作成した後、編集が可能です。
❸作りたいアニメーション
そこで、中間形状は上記の方法で作成できるとして、「ベース」から「キー1」の間に「キー2」の形状を入れたアニメーションを作りたい。
つまり、「ベース」➡「キー1」➡「キー2」のアニメーションを作成したい。
簡単なように見えて、シェイプキーアニメは、「ベース」からターゲットシェイプへの変化なので、途中の形状を簡単に挟むことはできないのです。
Mayaであれば、任意のターゲットシェイプをハサミコムことができるので、簡単なのですが。
力技
「キー2」の値を0から中間(目的の時間)で最大にして、また0に戻す。
一見上手くできそうで、実際、中間ターゲットが一つの場合やフェイシャルなどの単純なニーズには使えます。
しかし、中間ターゲットが4、5,、6と増え、モーフィング形状と他のオブジェクトのアニメーションを高精度で一致させる場合は、とんでもなく面倒で、ほぼ不可能な状態が発生します。
例えば、波のアニメーションをシェイプキーで作成して、その波に船が浮かんでいるようなシーンの場合。
例えば、紙袋のアニメーションをシェイプキーで作成して、紙袋を開いて、中からお菓子を取り出すようなシーン。
さらなる制限としては「ベース」と「末端キー(値:1)」の形状はキープする必要がある。
実際に上記のようなニーズの(よりシビアな)アニメーションを力技で作成したが、まぁ、現実的ではありません。
以下の動画は、中間形状1つだけの場合の簡単なパターンを設定した例です。
例えば、このオブジェクトの上部円形の口に別オブジェクトのフタを被せる場合などは、こんなに簡単な例でも若干苦労します。
そこで便利なアドオンを少し紹介
BsMax
BsMaxアドオンをインストールすると、様々な機能が有効となるが、その中でも中々面白いシェイプキーに関する機能が実装される。
複数のシェイプキーを並べて、連動した親キーを作成するような機能だ。
親キー一つをアニメートさせれば、形状が順次変化する。
イメージ的にはかなり良い感じだが、設定の問題か、中間形状のタイミング合わせに中々苦労する。
より精査が必要かもしれない。
Lazy Shapekeys
忘却野さんの「Lazy Shapekeys」bookyakuno.com では、シェイプキーの扱いが便利になる機能が満載だ。
フォルダを作成したり、シェイプキーをオブジェクトとしてエクスポートして、編集後に再度アサインしたりといった機能を使えばターゲットシェイプの管理も大幅に楽になるでしょう。
BsMaxは無効になるようなので、併用する場合はアドオンのオン/オフが必要となる。
現在、様々なシェイプキー関連のアドオンがリリースされていますが、Blender本体のシェイプキー機能の充実には、今後も期待しましょう。