シェイプキーで動きをつける簡単なアニメーションを制作します。
シェイプキーは、メッシュの頂点の位置を移動することでメッシュを変形させる機能です。 例えば、立方体の上部の頂点を集めることで立方体から四角錐に変形させることができます。
なお、シェイプキーを使ってメッシュを変形させる場合には、基本の形状を記録するシェイプキーと、変形後の形状を記録するシェイプキーの最低2つが必要になります。 立方体を四角錐に変形させる場合は、立方体の形状(基本の形状)を記録するシェイプキーと四角錐の形状(変形後の形状)を記録するシェイプキーが必要です。
変形後の形状を記録するシェイプキーは『キー値』を持っており、このキー値を変更することでメッシュの形状が変形します。 立方体が四角錐に変形するシェイプキーの場合は、キー値が0%であれば形状は立方体のまま(基本の形状)、キー値が増加するにつれて四角錐に徐々に近づき、キー値が100%で四角錐に変形するという具合です。 つまり、キー値は変形の適用度ということになります。
制作するアニメーションは、立方体の上部の頂点が集まることで立方体から四角錐に変形し、その後、底面が2倍の大きさにまで広がるというものです。 50フレーム目で四角錐となり、51フレーム目から底面が広がります。
まず、シェイプキーを3つ作成します。 立方体の形状(基本の形状)を記録するための"Basis"シェイプキー、四角錐の形状を記録するための"Pyramid"シェイプキー、底面が2倍に広がった形状を記録するための"Expand"シェイプキーです。
次に、作成したシェイプキーに、それぞれ形状を記録させます。 "Basis"シェイプキーには立方体の形状、"Pyramid"シェイプキーには四角錐の形状、"Expand"シェイプキーには底面が2倍に広がった形状を記録させます。
続いて、特定のフレームにシェイプキーのキー値のキーフレームを登録します。 『1フレーム目はこのキー値』、『50フレーム目はこのキー値』というように、シェイプキーのキー値のキーフレームを登録していきます。
では、実際にアニメーションを制作しましょう。
Blenderの新規ファイルを元にしてアニメーションを制作します。 画面上部のプルダウンメニューの"File" -> "New"を実行して新規ファイルを開きましょう。
まずは、シェイプキーを作成します。 3D Viewウィンドウのモード選択リスト()がObject Mode(オブジェクトモード)になっているかを確認し、なっていなければオブジェクトモードに切り替えます。 また、立方体が選択されていない場合は選択してください。
上図のように立方体を選択していることを確認し、Propertiesウィンドウのオブジェクトデータパネル切替ボタン()を押します。
では、1つ目のシェイプキーの作成を行います。 シェイプキーの追加は、Shape Keysパネルで行います。
上図のようにShape Keysパネルのシェイプキーの一覧の右にある、シェイプキー追加ボタン()を押します。
上図のようにシェイプキーの一覧に1つ目のシェイプキーが追加されます。
続けて、2つ目と3つ目のシェイプキーを作成します。 シェイプキー追加ボタン()をさらに2回押します。
上図のようにシェイプキーの一覧に2つ目と3つ目のシェイプキーが追加されます。
続いて、シェイプキーの名称を変更します。 なお、1つ目のシェイプキーは"Basic"になっていますので、名称を変更する必要はありません。 2つ目のシェイプキーと3つ目のシェイプキーの名称を変更します。
まずは、2つ目のシェイプキーを"Pyramid"に変更します。 シェイプキーの一覧の2つ目のシェイプキー()をダブルクリックすると入力状態に切り替わります。 キーボードから"Pyramid"と入力し、Enterキーで確定します。
同様の手順で、3つ目のシェイプキーを"Expand"に変更します。
上図のようにシェイプキーの名称を変更します。
ここで、シェイプキーの一覧の2つ目と3つ目のシェイプキーに注目してください。
上図のように"Basis"以外のシェイプキーには数値が表示されています。 この数値が適用度である『キー値』です。
なお、"Basis"シェイプキーがキー値を持っていないのは、基本の形状のシェイプキーであるためです。
これで、3つのシェイプキーが作成されました。 なお、現時点では、どのシェイプキーも立方体の形状を記録しています。
作成したシェイプキーに形状を記録させます。 ただし、"Basis"シェイプキーはすでに立方体の形状を記録していますので、特に作業は必要ありません。
"Pyramid"シェイプキーに四角錐の形状を、"Expand"シェイプキーに底面が2倍に広がった形状を記録させます。
まずは、"Pyramid"シェイプキーに四角錐の形状を記録します。 シェイプキーの一覧から"Pyramid"シェイプキーを選択します。
上図のように"Pyramid"シェイプキーを選択します。
続いて、メッシュを四角錐の形状へ変形させます。 立方体を選択していることを確認し、キーボードのTabキーを押します(または3D Viewウィンドウのモード選択リスト()のEdit Mode(エディットモード)を選択します)。
上図のように頂点選択モードで上部の4つの頂点を選択します。
では、選択中の頂点を0.0倍に縮小して四角錐の形状にしましょう。
上図のように元の大きさの0.0倍に縮小します。
これで、"Pyramid"シェイプキーに四角錐の形状が記録されました。
続いて、"Expand"シェイプキーに底面が2倍に広がった形状を記録します。 エディットモードのままでシェイプキーの一覧から"Expand"シェイプキーを選択します。
上図のように"Expand"シェイプキーを選択します。
上図のように形状が立方体に戻ります。 これは、"Expand"シェイプキーが現時点で立方体の形状を記録しているためです。
続いて、メッシュを底面が2倍に広がった形状へ変形させます。
上図のように頂点選択モードで底部の4つの頂点を選択します。
では、選択中の頂点を2.0倍に拡大して底面が2倍に広がった形状にしましょう。
上図のように元の大きさの2.0倍に拡大します。
これで、"Expand"シェイプキーに底面が2倍に広がった形状が記録されました。
作成したシェイプキーの動作を確認します。 シェイプキーの適用はオブジェクトモードで実施する必要があります。
では、エディットモードからオブジェクトモードへ切り替えます。 キーボードのTabキーを押します(または3D Viewウィンドウのモード選択リスト()のObject Mode(オブジェクトモード)を選択します)。
上図のようにオブジェクトモードに切り替えると、メッシュの形状が立方体に戻ります。 これは、"Pyramid"シェイプキーと"Expand"シェイプキーのキー値が0(ゼロ)になっているためです。
上図のように"Pyramid"シェイプキーと"Expand"シェイプキーのキー値は0(ゼロ)です。 そのため、『四角錐の形状への変形』の影響も、『底面が2倍に広がった形状への変形』の影響も受けていません。
結果、基本の形状である立方体のままとなっています。
まず、"Pyramid"シェイプキーでの変形を確認します。 シェイプキーの一覧から"Pyramid"シェイプキーを選択します。
上図のように"Pyramid"シェイプキーを選択します。
現時点では、シェイプキーを選択してもメッシュの形状は変形しません。 すでに説明したように、これは、"Pyramid"シェイプキーと"Expand"シェイプキーのキー値が0(ゼロ)になっているためです。
ここでShape Keysパネルに注目してください。
上図のようにシェイプキーの一覧の下に、Value()という項目があります。
この項目は、選択中のシェイプキーのキー値であり、シェイプキーの一覧のキー値と連動しています。 片方を操作すればもう片方の値も変化します。
では、Value()を動かしてメッシュの形状が変形することを確認します。 左端(0.0 = 0%)では立方体に、右端(1.0 = 100%)に移動するにつれ四角錐の形状に変形することを確認します。
続いて、"Expand"シェイプキーでの変形を確認します。 シェイプキーの一覧から"Expand"シェイプキーを選択します。
上図のように"Expand"シェイプキーを選択します。
では、Value()を動かしてメッシュの形状が変形することを確認します。 左端(0.0 = 0%)では立方体に、右端(1.0 = 100%)に移動するにつれ底面が2倍に広がった形状に変形することを確認します。
では、1フレーム目のキーフレームを登録しましょう。 1フレーム目は、"Pyramid"シェイプキーのキー値が0.0、"Expand"シェイプキーのキー値も0.0のキーフレームを登録します。
まず、フレームを選択します。 これから1フレーム目での作業を行いますので、対象フレームを1にする必要があります。
上図のように対象フレームを1にします。
続いて、キーフレームを登録します。 3D Viewウィンドウのモード選択リスト()がObject Mode(オブジェクトモード)になっているかを確認し、なっていなければオブジェクトモードに切り替えます。 また、立方体が選択されていない場合は選択してください。
まずは、"Pyramid"シェイプキーのキー値のキーフレームを登録します。 シェイプキーの一覧から"Pyramid"シェイプキーを選択します。
上図のように"Pyramid"シェイプキーを選択します。
では、"Pyramid"シェイプキーのキー値のキーフレームを登録します。 Shepe KeysパネルにあるValue()の上でマウスの右ボタン()を押します。
上図のようにメニューが表示されますので、"Insert Keyframe"を実行します。
これで、1フレーム目に"Pyramid"シェイプキーのキー値のキーフレームが登録されました。 続けて、同じく1フレーム目に"Expand"シェイプキーのキー値のキーフレームを登録しましょう。
続いて、シェイプキーの一覧から"Expand"シェイプキーを選択します。
上図のように"Expand"シェイプキーを選択します。
では、"Expand"シェイプキーのキー値のキーフレームを登録します。 Shepe KeysパネルにあるValue()の上でマウスの右ボタン()を押します。
上図のようにメニューが表示されますので、"Insert Keyframe"を実行します。
これで、1フレーム目に"Expand"シェイプキーのキー値のキーフレームが登録されました。
続いて、50フレーム目のキーフレームを登録します。 50フレーム目は、"Pyramid"シェイプキーのキー値が1.0、"Expand"シェイプキーのキー値が0.0のキーフレームを登録します。
ただし、シェイプキーのキー値の変更はまだ行わないでください。 現在は、1フレーム目が選択されていますので、まずは対象フレームを50にします。
対象フレームが50になっていること確認し、シェイプキーの一覧から"Pyramid"シェイプキーを選択します。
上図のように"Pyramid"シェイプキーを選択します。
続いて、"Pyramid"シェイプキーのキー値を1.0に変更します。
上図のように"Pyramid"シェイプキーのキー値を1.0に変更します。
では、"Pyramid"シェイプキーのキー値のキーフレームを登録します。 Shepe KeysパネルにあるValue()の上でマウスの右ボタン()を押します。
上図のようにメニューが表示されますので、"Insert Keyframe"を実行します。
これで、50フレーム目にも"Pyramid"シェイプキーのキー値のキーフレームが登録されました。 続けて、"Expand"シェイプキーのキー値のキーフレームを登録しましょう。 "Expand"シェイプキーのキー値は1フレーム目と同じとしますので、キー値を変更する必要はありません。
シェイプキーの一覧から"Expand"シェイプキーを選択します。
上図のように"Expand"シェイプキーを選択します。
では、"Expand"シェイプキーのキー値のキーフレームを登録します。 Shepe KeysパネルにあるValue()の上でマウスの右ボタン()を押します。
上図のようにメニューが表示されますので、"Insert Keyframe"を実行します。
これで、50フレーム目にも"Expand"シェイプキーのキー値のキーフレームが登録されました。
最後に、100フレーム目のキーフレームを登録します。 100フレーム目は、"Pyramid"シェイプキーのキー値が1.0、"Expand"シェイプキーのキー値も1.0のキーフレームを登録します。
まずは、対象フレームを100に変更します。
次に、"Pyramid"シェイプキーのキー値のキーフレームを登録します。 "Pyramid"シェイプキーのキー値は50フレーム目と同じとしますので、キー値を変更する必要はありません。
上図のように"Pyramid"シェイプキーを選択します。
では、"Pyramid"シェイプキーのキー値のキーフレームを登録します。 Shepe KeysパネルにあるValue()の上でマウスの右ボタン()を押します。
上図のようにメニューが表示されますので、"Insert Keyframe"を実行します。
これで、100フレーム目にも"Pyramid"シェイプキーのキー値のキーフレームが登録されました。 続けて、"Expand"シェイプキーのキー値のキーフレームを登録しましょう。
シェイプキーの一覧から"Expand"シェイプキーを選択します。
上図のように"Expand"シェイプキーを選択します。
続いて、"Expand"シェイプキーのキー値を1.0に変更します。
上図のように"Expand"シェイプキーのキー値を1.0に変更します。
では、"Expand"シェイプキーのキー値のキーフレームを登録します。 Shepe KeysパネルにあるValue()の上でマウスの右ボタン()を押します。
上図のようにメニューが表示されますので、"Insert Keyframe"を実行します。
これで、100フレーム目にも"Expand"シェイプキーのキー値のキーフレームが登録されました。
では、アニメーションを出力しましょう。 手順は、簡単なアニメーション3DCGの制作 > 変形しない簡単なアニメーションの制作 > マテリアル設定によるアニメーション - アニメーション出力 -と同様です。
シェイプキーに関してもう少し補足しておきます。
シェイプキーには、相対シェイプキーと絶対シェイプキーがあります。 今回の例で使用したのは、相対シェイプキーです。
基本の形状があり、それを基準に複数パタンに変形させる場合には、相対シェイプキーの利用が適しています。 今回の例では、立方体を基本とし、四角錐の形状にも底面が広がる形状にも変形させました。
一方、絶対シェイプキーは、複数のシェイプキーを順に適用して変形させる場合に適しています。 相対シェイプキーとは違い、キー値はありません。 代わりにフレーム数のデータ項目を持っており、このフレーム数を過ぎると次のシェイプキーの変形へと進みます。
つまり、時間の経過とともに様々に変形することになります。 そのため、絶対シェイプキーでは、『キー値』ではなく『経過時間』のキーフレームを登録します。
なお、絶対シェイプキーへ切り替える手順は簡単で、シェイプキーの一覧の下にあるRelativeチェックボックス()をオフにするたけです。
シェイプキーで、メッシュやラティスの頂点を移動させて変形させることができます。
シェイプキーには、相対シェイプキーと絶対シェイプキーがあります。 基本となる形状から複数パタンに変形させるなら相対シェイプキーを、複数パタンを順に変形させるなら絶対シェイプキーを使います。
相対シェイプキーでは、基本の形状を記録するシェイプキーと、変形後の形状を記録するシェイプキーを用意します。 変形後の形状を記録するシェイプキーには『キー値』のデータ項目があり、これが変形の適用度になります。 アニメーションのための情報としては、キー値のキーフレームを登録します。
絶対シェイプキーでは、各シェイプキーが『フレーム数』のデータ項目を持っており、このフレーム数を過ぎると次のシェイプキーの変形に進みます。 また、シェイプキー共通の『経過時間』のデータ項目を持っており、時間の経過によって変形が進みます。 アニメーションのための情報としては、経過時間のキーフレームを登録します。