Table of Contents
Blender Tips の17回目です。
Blender にはアーマチュア(ボーン)によるアニメーションとは別に、メッシュの頂点位置をスムーズに変化させることでアニメーションを行うシェイプキー(Shape Keys)と呼ばれる機能があります。
例えば、キャラクターの表情変化にシェイプキーを利用すると、以下のような滑らかなアニメーションを実現することができます。
シェイプキーの一部領域の頂点変化を再利用
シェイプキーの設定方法などは割愛させていただきます。詳しくは以下のマニュアルをご覧ください。
さて、設定した複数のシェイプキーを組み合わせて新たなシェイプキーを作ることはメニューから「New Shape from Mix」を使うことで簡単にできます。
しかし、あるシェイプキーの一部だけから新たなシェイプキーを作るためにはちょっと工夫が必要です。
例えば、両目を瞑るシェイプキーから片目だけを瞑るシェイプキーを作りたいといった場合です。
アドオンにはこうした機能を持つものがあるようですが、今回はアドオンなしでシェイプキーの一部分を切り出して別のシェイプキーとする方法について紹介します。
手順(新)
追記:以前紹介していた方法よりも簡単なものが見つかったので記載します。既にあるシェイプキーに上書きされますので、元のシェイプキーを残したい場合は複製してから行ってください。
アプローチとしては、必要な部分以外の変化を基本表情(Basic)に戻すことで一部を切り出します。
- 修正したいシェイプキーを選択し、その値(Value)を最大にする
- エディットモードにて、変化させたくない頂点を全て選択する(1の前にこれを行ってもOK)
- エディットモードにて、メニューから Vertex > Blend from Shape を選択
- 表示される設定画面で Basic を選択し Add のチェックを外す
- 不要な頂点移動が取り除かれる
シェイプキーの選択が外れていると何も起こらないので注意して下さい。
3. “Blend from Shape”
4. “Blend from Shape”の設定
手順(旧)
例として、冒頭のgifアニメーションの口元の変化だけを新たなシェイプキーとして作成したいとします。
切り出したい部分の頂点を選択
まずエディットモードで、このシェイプキーの「口元の変化に関わる全ての頂点が含まれる」かつ「それ以外の動く部分の頂点が含まれない」ように選択を行います。
この選択に含まれる頂点のみの動きが切り出されます。したがって、含まれて欲しくない動きのある頂点は選択しないようにします。
全く動かない点は含まれていても問題ありませんので、気持ち広めに選択しても大丈夫です。
今回の例だと以下のような感じでOKです。きちんと選択されているか動かして確認してみましょう。
頂点グループに割り当て
問題ないことを確認したら、この選択した部分を頂点グループ(Vertex Group)として登録します。
シェイプキー設定画面の上にある頂点グループ設定画面から、新たな頂点グループを作成して割り当て(Assign)してください。
後で消しますので名前はデフォルトのGroupで大丈夫です。
シェイプキーを複製して頂点グループを割り当てる
元のシェイプキーの Value を切り出したい状態になる値にしてから一度エディットモードに切り替え、メニューの「New Shape from Mix」によって新たなシェイプキーとします。
これによって複製されたシェイプキーを選択し、先ほど作成した頂点グループを以下の部分に設定します。
これで、シェイプキーによる頂点の移動が頂点グループに含まれる部分だけに制限されます。他の部分の頂点位置は基本となるシェイプキー(Basis)のものが使われます。
確認してみると、目の周りが動かず口元だけが動く新たなシェイプキーができています。
アニメーションが重なってしまうので、確認の前に元となったシェイプキーの値を0に戻しておきましょう。
頂点グループを取り除いても動くようにする
さて、これでも目標は達成されていますが、これを行う度に頂点グループを増やすのは管理上好ましくありません。
そこで、このシェイプキーを再度「New Shape from Mix」で複製します。これで頂点グループを割り当てなくても意図した頂点の移動ができるシェイプキーが新しく作られます。
後はわかりやすい名前を付けて完了です。頂点グループを割り当てた方のシェイプキーは削除してしまって問題ありません。
以上、シェイプキーの頂点変化の一部分だけを切り出す方法についてでした。