CGBoxの一部の記事にはアフィリエイト広告が含まれております。
【Blender2.9】シェイプキーを使って表情や特殊な表現をマスターしよう
こんにちは!
3Dキャラクターを使って画像を作るときに一番楽しいのは表情を作るところですよね!
今回はBlenderでシェイプキーという機能を使って、キャラクターモデルの表情を作る方法について紹介します。
モディファイアとの組み合わせなど、初心者の方は躓く部分も多いかと思いますが、是非トライしてみて下さい!
シェイプキーとは
シェイプキーとは、モデルを変形させた状態を記憶し、パラメータで呼び出せるようにした機能です。
他の3DCGソフトウェアや、学術研究の分野では、「ブレンドシェイプ」と呼ばれています。
MMD(MikuMikuDance)では「表情モーフ」と呼ばれていますね。
それでは、シェイプキーを使ってキャラクターの表情を作っていきましょう。
表情の作り方
今回は、こちらのモデルを使用してシェイプキーの操作方法を紹介します。
無表情ですね!
表情を作って動かせるようにしてみましょう
シェイプキーの追加
〔プロパティパネル〕のオブジェクトデータのタブに、〔シェイプキー〕タブが存在します。
こちらの〔+〕マークから、新たなシェイプキーを追加することができます。
シェイプキーはオブジェクトモードでのみ追加することが出来ます。
ただし、最初にシェイプキーを追加する際は、〔+〕マークを二回押し、〔ベース〕シェイプキーを作ります。
〔ベース〕シェイプキーはモデルの基本の表情を記憶するためのものです!
表情を作りたいときは、〔ベース〕シェイプキーは変更しないようにしましょう。
動画では、〔ベース〕シェイプキーと〔eye_happy〕キーを作成しました。
形状の変形
それでは、〔eye_happy〕キーの内容を変更していきます。
〔シェイプキー〕タブで〔eye_happy〕キーを選択した状態で編集モードに入ります。
そのまま、モデルの形状を変形し、表情を作ります。
今回は、笑った時の目を作成しました。
表情を作る際には、〔押し出し〕ツールや〔頂点のマージ〕など、頂点数の変化が伴う操作をしてはいけません!
これを行ってしまうと、基本の表情が大きく崩れてしまいます。
そのため、作成したいシェイプキーに合わせて、基本の表情にあらかじめ頂点を増やしておくなどの工夫が必要です。
シェイプキーの使用/組み合わせ
それでは、まずシェイプキーが正しくできているかを確認しましょう。
オブジェクトモードに戻ると、基本の表情が表示されるはずです。
〔eye_happy〕キーを選択した状態で、その下に表示されている〔値〕を変更することで、このキーに保存された表情を呼び出すことが出来ます。
〔値〕を0.5に設定することで、半分目を開けた表情なんかも作れます。
さらに、複数のキーで〔値〕を変更することで、シェイプキーを組み合わせることも可能です。
追加で、〔mouth_happy〕キーを作成しました。
二つのキーの〔値〕を1に設定することで、目と口に同時にシェイプキーを適用できます。
既存のシェイプキーから新たなシェイプキーを作成
次に、すでに存在しているシェイプキーを使って、新しいシェイプキーを作っていきます。
まずは、両目をつぶったシェイプキーから、左目のみつぶったシェイプキーを作成していきます。
まずは、新たなシェイプキー〔eye_happy_left〕を作成します。
以下の手順で顔の左側のみにシェイプキーの内容をコピーします。
- 〔eye_happy_left〕キーを選択した状態で編集モードに入る
- シェイプキーをコピーしたい部分(顔の左半分)を選択する
- 〔ctrl+V〕を押し、メニューから〔シェイプキーからブレンド〕を選択
- 表示されたポップアップから〔シェイプ〕を〔eye_happy〕に変更
〔シェイプキーからブレンド〕では選択した頂点に、別なシェイプキーの形状を適用することが出来ます。
シェイプキーをミラー反転
次に、作成したシェイプキーをミラー反転してもう片方にも同じ形のシェイプキーを作成します。
- 反転したいシェイプキーのみ〔値〕を1にする
- 〔新規シェイプをミックスから作成〕を選択
- 新しくできたシェイプキーを選択した状態で〔シェイプキーをミラー反転〕を選択
このようにして、〔eye_happy_left〕を反転した〔eye_happy_right〕を作成することが出来ました。
ただし、モデル自体が完全に左右対称な場合にのみ使える方法です!
モデルが完全な左右対称でない場合は、〔シェイプキーをミラー反転(トポロジー)〕を選択してもいいかもしれません。
シェイプキーの削除
作成したシェイプキーは、〔-〕ボタンから削除することが出来ます。
ただし、〔ベース〕キーは削除しないようにしましょう!
全てのシェイプキーを削除する場合は、〔ベース〕キーを最後に削除します。
シェイプキーのアニメーション
次に、シェイプキーで作成した表情をアニメーションさせてみましょう!
キーフレームでアニメーション
シェイプキーのアニメーションは、各シェイプキーの〔値〕をキーフレームアニメーションによって時間変化させることで作ります。
Blenderでのキーフレームの使い方はこちらの記事を参考にしてください!
ドープシートの使い方や、シェイプキーの設定方法が紹介されています。
動画では、フレーム0,5,10にそれぞれシェイプキーの値を0,1,0に設定しています。
まばたきのようなアニメーションができました!
複数のシェイプキーにアニメーションを適用することで、多彩な表現が可能です。
モディファイアとシェイプキー
Blenderでは、モディファイア機能を使って、少ない制御点でモデリングを行ったり、対称なモデルを作成したりすることが出来ます。
しかし、モデルをエクスポートしてUnityなどの別なソフトで仕様する際には、モディファイアを適用する(実際のメッシュにモディファイアの内容を反映させる)必要があります。
しかし、シェイプキーの存在するモデルではモディファイアを適用することが出来ないという問題点があります。
シェイプキーが存在するモデルにミラーモディファイアを適用
それでは、例としてシェイプキーを持つサルのモデルに、〔ミラーモディファイア〕を適用してみましょう。
シェイプキーを持ったモデルにモディファイアを適用するためには、〔ApplyModifier〕というアドオンが必要です。
アドオンはこちらで配布されています。
まずは、これをBlenderにインストールします。
アドオンのインストール方法はこちらの記事を参考にしてください!
アドオンがインストール出来たら以下の手順でモディファイアの適用が可能です。
- 3Dビューポートの〔オブジェクト〕→〔適用〕→〔Apply Selected Modifire〕を選択
- ミラーにチェックを入れる
- OKを押す
ボーンに連動したシェイプキー
これまで、シェイプキーの値を変更することで、表情のアニメーションを行ってきました。
Blenderの機能である〔ドライバー〕を使用することで、シェイプキーの値をボーンの動きに合わせて変化させることが可能です。
これによって、ボーンアニメーションと同時に表情のアニメーションを制御することが可能になったり、腕の曲げに合わせて筋肉を収縮するような変形も可能になります!
ドライバーの使用方法については、改めて別な記事で紹介いたしますので、ご期待ください!
別なオブジェクトからシェイプキーを転送
これまで、一つのオブジェクト内でシェイプキーを作成する方法を紹介してきました。
その他にも、モデルを複製してシェイプキーを作成する方法があります。
この方法では、基準となるモデルやほかのシェイプキーと比較しながらメッシュの編集を行うことが可能です。
まず、オブジェクトを複製し、横に並べます。今回は、オブジェクト〔face〕を複製して〔face_copy1〕〔face_copy2〕を作成しました。
なお、これらのオブジェクトはまだシェイプキーを持っていないものとします!
まずは、〔face_copy1〕〔face_copy2〕に、シェイプキーとして登録したい形状を作成します。
今回は、笑顔の目と、笑顔の口の表情を作成しました。
次に、動画のように3つのオブジェクトを選択した状態で、〔シェイプとして結合〕を選択すると、〔ベース〕〔face_copy1〕〔face_copy2〕というシェイプキーが作成されました。
この際、基準となる表情を持ったオブジェクト〔face〕を最後に選択していることに注意して下さい!
〔face_copy1〕キーはオブジェクト〔face_copy1〕に対応しており、値を1にすることで同じ形になります。
まとめ
今回は、シェイプキーを使ってキャラクターの表情などを作成する方法について紹介してきました。
最後に、特に重要な項目についておさらいしたいと思います。
- シェイプキーの値を組み合わせることで中間の形状や、シェイプキーのブレンドが可能。
- シェイプキーでは頂点や辺の数の変化を伴う変形を扱うことはできない。
- シェイプキーを持ったオブジェクトにモディファイアを適用するためにはアドオンが必要。
シェイプキーは非常に強力なツールなので、是非使いこなして素敵な作品を作って下さい!