トップ > 簡単なアニメーション3DCGの制作 > 変形する簡単なアニメーションの制作 >
シェイプキーによるアニメーション

  

シェイプキーで動きをつける

シェイプキーで動きをつける簡単なアニメーションを制作します。

シェイプキーは、メッシュの頂点の位置を移動することでメッシュを変形させる機能です。 例えば、立方体の上部の頂点を集めることで立方体から四角錐に変形させることができます。

なお、シェイプキーを使ってメッシュを変形させる場合には、基本の形状を記録するシェイプキーと、変形後の形状を記録するシェイプキーの最低2つが必要になります。 立方体を四角錐に変形させる場合は、立方体の形状(基本の形状)を記録するシェイプキーと四角錐の形状(変形後の形状)を記録するシェイプキーが必要です。

変形後の形状を記録するシェイプキーは『キー値』を持っており、このキー値を変更することでメッシュの形状が変形します。 立方体が四角錐に変形するシェイプキーの場合は、キー値が0%であれば形状は立方体のまま(基本の形状)、キー値が増加するにつれて四角錐に徐々に近づき、キー値が100%で四角錐に変形するという具合です。 つまり、キー値は変形の適用度ということになります。

制作するアニメーション

制作するアニメーションは、立方体の上部の頂点が集まることで立方体から四角錐に変形し、その後、底面が2倍の大きさにまで広がるというものです。 50フレーム目で四角錐となり、51フレーム目から底面が広がります。

制作例 - シェイプキーによるアニメーション -

作業の概要

まず、シェイプキーを3つ作成します。 立方体の形状(基本の形状)を記録するための"Basis"シェイプキー、四角錐の形状を記録するための"Pyramid"シェイプキー、底面が2倍に広がった形状を記録するための"Expand"シェイプキーです。

次に、作成したシェイプキーに、それぞれ形状を記録させます。 "Basis"シェイプキーには立方体の形状、"Pyramid"シェイプキーには四角錐の形状、"Expand"シェイプキーには底面が2倍に広がった形状を記録させます。

各シェイプキーに記録させる形状
各シェイプキーに記録させる形状

続いて、特定のフレームにシェイプキーのキー値のキーフレームを登録します。 『1フレーム目はこのキー値』、『50フレーム目はこのキー値』というように、シェイプキーのキー値のキーフレームを登録していきます。

アニメーションをつける

では、実際にアニメーションを制作しましょう。

Blenderの新規ファイルを元にしてアニメーションを制作します。 画面上部のプルダウンメニューの"File" -> "New"を実行して新規ファイルを開きましょう。

シェイプキーを作成する

まずは、シェイプキーを作成します。 3D Viewウィンドウのモード選択リスト(モード選択リスト)がObject Mode(オブジェクトモード)になっているかを確認し、なっていなければオブジェクトモードに切り替えます。 また、立方体が選択されていない場合は選択してください。

  
シェイプキーはオブジェクトモードでなければ作成できません。
  
シェイプキーはオブジェクト単位に管理されますので、対象となるオブジェクトが選択されている必要があります。
1. オブジェクトデータパネル切替ボタンを押す
1. オブジェクトデータパネル切替ボタンを押す

上図のように立方体を選択していることを確認し、Propertiesウィンドウのオブジェクトデータパネル切替ボタン(オブジェクトデータパネル切替ボタン)を押します。

では、1つ目のシェイプキーの作成を行います。 シェイプキーの追加は、Shape Keysパネルで行います。

2. シェイプキー追加ボタンを押す
2. シェイプキー追加ボタンを押す

上図のようにShape Keysパネルのシェイプキーの一覧の右にある、シェイプキー追加ボタン(シェイプキー追加ボタン)を押します。

3. シェイプキーの一覧
3. シェイプキーの一覧

上図のようにシェイプキーの一覧に1つ目のシェイプキーが追加されます。

続けて、2つ目と3つ目のシェイプキーを作成します。 シェイプキー追加ボタン(シェイプキー追加ボタン)をさらに2回押します

4. シェイプキーの一覧
4. シェイプキーの一覧

上図のようにシェイプキーの一覧に2つ目と3つ目のシェイプキーが追加されます。

続いて、シェイプキーの名称を変更します。 なお、1つ目のシェイプキーは"Basic"になっていますので、名称を変更する必要はありません。 2つ目のシェイプキーと3つ目のシェイプキーの名称を変更します。

  
最初に作成したシェイプキーの名称は自動的に"Basis"になります。

まずは、2つ目のシェイプキーを"Pyramid"に変更します。 シェイプキーの一覧の2つ目のシェイプキー(シェイプキー)をダブルクリックすると入力状態に切り替わります。 キーボードから"Pyramid"と入力し、Enterキーで確定します。

同様の手順で、3つ目のシェイプキーを"Expand"に変更します。

5. 名称変更後のシェイプキーの一覧
5. 名称変更後のシェイプキーの一覧

上図のようにシェイプキーの名称を変更します。

ここで、シェイプキーの一覧の2つ目と3つ目のシェイプキーに注目してください。

6. Basis以外のシェイプキーには数値が表示される
6. Basis以外のシェイプキーには数値が表示される

上図のように"Basis"以外のシェイプキーには数値が表示されています。 この数値が適用度である『キー値』です

なお、"Basis"シェイプキーがキー値を持っていないのは、基本の形状のシェイプキーであるためです。

  
"Basis"シェイプキーが基本の形状のシェイプキーとしてBlenderに認識されているのは、名称が"Basis"だからでも、最初に作成したからでもありません。 シェイプキーの一覧の最上位にあるため基本の形状のシェイプキーとして認識されています
  
シェイプキーの一覧の最上位のシェイプキーが基本の形状のシェイプキーとして認識されます。

これで、3つのシェイプキーが作成されました。 なお、現時点では、どのシェイプキーも立方体の形状を記録しています

シェイプキーに形状を記録させる

作成したシェイプキーに形状を記録させます。 ただし、"Basis"シェイプキーはすでに立方体の形状を記録していますので、特に作業は必要ありません

"Pyramid"シェイプキーに四角錐の形状を、"Expand"シェイプキーに底面が2倍に広がった形状を記録させます。

まずは、"Pyramid"シェイプキーに四角錐の形状を記録します。 シェイプキーの一覧から"Pyramid"シェイプキーを選択します。

7. Pyramidシェイプキーを選択
7. Pyramidシェイプキーを選択

上図のように"Pyramid"シェイプキーを選択します。

続いて、メッシュを四角錐の形状へ変形させます。 立方体を選択していることを確認し、キーボードのTABキーを押します(または3D Viewウィンドウのモード選択リスト(モード選択リスト)のEdit Mode(エディットモード)を選択します)。

8. 上部の4つの頂点を選択
8. 上部の4つの頂点を選択

上図のように頂点選択モードで上部の4つの頂点を選択します。

では、選択中の頂点を0.0倍に縮小して四角錐の形状にしましょう。

9. 0.0倍に縮小
9. 0.0倍に縮小

上図のように元の大きさの0.0倍に縮小します。

  
4つの頂点は同じ場所に重なっているだけで、いまだに4つの頂点として個別に存在しています。
  
4つの頂点を併合(キーボードのALT + M)して四角錐にはしないでください。 併合で四角錐にしてしまうと、"Basis"シェイプキーと頂点の数が異なるため正常に動作しなくなります。

これで、"Pyramid"シェイプキーに四角錐の形状が記録されました。

続いて、"Expand"シェイプキーに底面が2倍に広がった形状を記録します。 エディットモードのままでシェイプキーの一覧から"Expand"シェイプキーを選択します。

10. Expandシェイプキーを選択
10. Expandシェイプキーを選択

上図のように"Expand"シェイプキーを選択します。

11. 形状が立方体に戻る
11. 形状が立方体に戻る

上図のように形状が立方体に戻ります。 これは、"Expand"シェイプキーが現時点で立方体の形状を記録しているためです。

続いて、メッシュを底面が2倍に広がった形状へ変形させます。

12. 底部の4つの頂点を選択
12. 底部の4つの頂点を選択

上図のように頂点選択モードで底部の4つの頂点を選択します。

では、選択中の頂点を2.0倍に拡大して底面が2倍に広がった形状にしましょう。

13. 2.0倍に拡大
13. 2.0倍に拡大

上図のように元の大きさの2.0倍に拡大します。

これで、"Expand"シェイプキーに底面が2倍に広がった形状が記録されました。

シェイプキーを使った変形の確認

作成したシェイプキーの動作を確認します。 シェイプキーの適用はオブジェクトモードで実施する必要があります

では、エディットモードからオブジェクトモードへ切り替えます。 キーボードのTABキーを押します(または3D Viewウィンドウのモード選択リスト(モード選択リスト)のObject Mode(オブジェクトモード)を選択します)。

14. 形状が立方体に戻る
14. 形状が立方体に戻る

上図のようにオブジェクトモードに切り替えると、メッシュの形状が立方体に戻ります。 これは、"Pyramid"シェイプキーと"Expand"シェイプキーのキー値が0(ゼロ)になっているためです。

15. キー値が0(ゼロ)になっている
15. キー値が0(ゼロ)になっている

上図のように"Pyramid"シェイプキーと"Expand"シェイプキーのキー値は0(ゼロ)です。 そのため、『四角錐の形状への変形』の影響も、『底面が2倍に広がった形状への変形』の影響も受けていません。

結果、基本の形状である立方体のままとなっています

"Pyramid"シェイプキーの確認

まず、"Pyramid"シェイプキーでの変形を確認します。 シェイプキーの一覧から"Pyramid"シェイプキーを選択します。

16. Pyramidシェイプキーを選択
16. Pyramidシェイプキーを選択

上図のように"Pyramid"シェイプキーを選択します。

現時点では、シェイプキーを選択してもメッシュの形状は変形しません。 すでに説明したように、これは、"Pyramid"シェイプキーと"Expand"シェイプキーのキー値が0(ゼロ)になっているためです。

  
エディットモードであれば、キー値に関係なく、選択中のシェイプキーに記録されている形状に変形します。

ここでShape Keysパネルに注目してください。

17. Value
17. Value

上図のようにシェイプキーの一覧の下に、Value(Value)という項目があります。

この項目は、選択中のシェイプキーのキー値であり、シェイプキーの一覧のキー値と連動しています。 片方を操作すればもう片方の値も変化します

  
Valueは0.0から1.0までの範囲の値を持つことができ、右端は1.0です。

では、Value(Value)を動かしてメッシュの形状が変形することを確認します。 左端(0.0 = 0%)では立方体に、右端(1.0 = 100%)に移動するにつれ四角錐の形状に変形することを確認します。

補足説明 - シェイプキーを使った変形の確認(Pyramid) -
  
確認を終えたら"Pyramid"シェイプキーのキー値を0.0に戻してください。

"Expand"シェイプキーの確認

続いて、"Expand"シェイプキーでの変形を確認します。 シェイプキーの一覧から"Expand"シェイプキーを選択します。

18. Expandシェイプキーを選択
18. Expandシェイプキーを選択

上図のように"Expand"シェイプキーを選択します。

では、Value(Value)を動かしてメッシュの形状が変形することを確認します。 左端(0.0 = 0%)では立方体に、右端(1.0 = 100%)に移動するにつれ底面が2倍に広がった形状に変形することを確認します。

補足説明 - シェイプキーを使った変形の確認(Expand) -
  
確認を終えたら"Expand"シェイプキーのキー値を0.0に戻してください。

1フレーム目のキーフレームを登録する

では、1フレーム目のキーフレームを登録しましょう。 1フレーム目は、"Pyramid"シェイプキーのキー値が0.0、"Expand"シェイプキーのキー値も0.0のキーフレームを登録します。

まず、フレームを選択します。 これから1フレーム目での作業を行いますので、対象フレームを1にする必要があります。

19. 対象フレームを1にする
19. 対象フレームを1にする

上図のように対象フレームを1にします。

続いて、キーフレームを登録します。 3D Viewウィンドウのモード選択リスト(モード選択リスト)がObject Mode(オブジェクトモード)になっているかを確認し、なっていなければオブジェクトモードに切り替えます。 また、立方体が選択されていない場合は選択してください。

まずは、"Pyramid"シェイプキーのキー値のキーフレームを登録します。 シェイプキーの一覧から"Pyramid"シェイプキーを選択します。

20. Pyramidシェイプキーを選択
20. Pyramidシェイプキーを選択

上図のように"Pyramid"シェイプキーを選択します。

では、"Pyramid"シェイプキーのキー値のキーフレームを登録します。 Shepe KeysパネルにあるValue(Value)の上でマウスの右ボタン(マウスの右ボタン)を押します。

21. 1フレーム目のPyramidシェイプキーのキー値のキーフレームを登録
21. 1フレーム目のPyramidシェイプキーのキー値のキーフレームを登録

上図のようにメニューが表示されますので、"Insert Keyframe"を実行します。

これで、1フレーム目に"Pyramid"シェイプキーのキー値のキーフレームが登録されました。 続けて、同じく1フレーム目に"Expand"シェイプキーのキー値のキーフレームを登録しましょう。

続いて、シェイプキーの一覧から"Expand"シェイプキーを選択します。

22. Expandシェイプキーを選択
22. Expandシェイプキーを選択

上図のように"Expand"シェイプキーを選択します。

では、"Expand"シェイプキーのキー値のキーフレームを登録します。 Shepe KeysパネルにあるValue(Value)の上でマウスの右ボタン(マウスの右ボタン)を押します。

23. 1フレーム目のExpandシェイプキーのキー値のキーフレームを登録
23. 1フレーム目のExpandシェイプキーのキー値のキーフレームを登録

上図のようにメニューが表示されますので、"Insert Keyframe"を実行します。

これで、1フレーム目に"Expand"シェイプキーのキー値のキーフレームが登録されました。

50フレーム目のキーフレームを登録する

続いて、50フレーム目のキーフレームを登録します。 50フレーム目は、"Pyramid"シェイプキーのキー値が1.0、"Expand"シェイプキーのキー値が0.0のキーフレームを登録します。

ただし、シェイプキーのキー値の変更はまだ行わないでください。 現在は、1フレーム目が選択されていますので、まずは対象フレームを50にします

対象フレームが50になっていること確認し、シェイプキーの一覧から"Pyramid"シェイプキーを選択します。

24. Pyramidシェイプキーを選択
24. Pyramidシェイプキーを選択

上図のように"Pyramid"シェイプキーを選択します。

続いて、"Pyramid"シェイプキーのキー値を1.0に変更します。

25. Pyramidシェイプキーのキー値を1.0に変更
25. Pyramidシェイプキーのキー値を1.0に変更

上図のように"Pyramid"シェイプキーのキー値を1.0に変更します。

では、"Pyramid"シェイプキーのキー値のキーフレームを登録します。 Shepe KeysパネルにあるValue(Value)の上でマウスの右ボタン(マウスの右ボタン)を押します。

26. 50フレーム目のPyramidシェイプキーのキー値のキーフレームを登録
26. 50フレーム目のPyramidシェイプキーのキー値のキーフレームを登録

上図のようにメニューが表示されますので、"Insert Keyframe"を実行します。

これで、50フレーム目にも"Pyramid"シェイプキーのキー値のキーフレームが登録されました。 続けて、"Expand"シェイプキーのキー値のキーフレームを登録しましょう。 "Expand"シェイプキーのキー値は1フレーム目と同じとしますので、キー値を変更する必要はありません

シェイプキーの一覧から"Expand"シェイプキーを選択します。

27. Expandシェイプキーを選択
27. Expandシェイプキーを選択

上図のように"Expand"シェイプキーを選択します。

では、"Expand"シェイプキーのキー値のキーフレームを登録します。 Shepe KeysパネルにあるValue(Value)の上でマウスの右ボタン(マウスの右ボタン)を押します。

28. 50フレーム目のExpandシェイプキーのキー値のキーフレームを登録
28. 50フレーム目のExpandシェイプキーのキー値のキーフレームを登録

上図のようにメニューが表示されますので、"Insert Keyframe"を実行します。

これで、50フレーム目にも"Expand"シェイプキーのキー値のキーフレームが登録されました。

100フレーム目のキーフレームを登録する

最後に、100フレーム目のキーフレームを登録します。 100フレーム目は、"Pyramid"シェイプキーのキー値が1.0、"Expand"シェイプキーのキー値も1.0のキーフレームを登録します。

まずは、対象フレームを100に変更します

次に、"Pyramid"シェイプキーのキー値のキーフレームを登録します。 "Pyramid"シェイプキーのキー値は50フレーム目と同じとしますので、キー値を変更する必要はありません

29. Pyramidシェイプキーを選択
29. Pyramidシェイプキーを選択

上図のように"Pyramid"シェイプキーを選択します。

では、"Pyramid"シェイプキーのキー値のキーフレームを登録します。 Shepe KeysパネルにあるValue(Value)の上でマウスの右ボタン(マウスの右ボタン)を押します。

30. 100フレーム目のPyramidシェイプキーのキー値のキーフレームを登録
30. 100フレーム目のPyramidシェイプキーのキー値のキーフレームを登録

上図のようにメニューが表示されますので、"Insert Keyframe"を実行します。

これで、100フレーム目にも"Pyramid"シェイプキーのキー値のキーフレームが登録されました。 続けて、"Expand"シェイプキーのキー値のキーフレームを登録しましょう。

シェイプキーの一覧から"Expand"シェイプキーを選択します。

31. Expandシェイプキーを選択
31. Expandシェイプキーを選択

上図のように"Expand"シェイプキーを選択します。

続いて、"Expand"シェイプキーのキー値を1.0に変更します。

32. Expandシェイプキーのキー値を1.0に変更
32. Expandシェイプキーのキー値を1.0に変更

上図のように"Expand"シェイプキーのキー値を1.0に変更します。

では、"Expand"シェイプキーのキー値のキーフレームを登録します。 Shepe KeysパネルにあるValue(Value)の上でマウスの右ボタン(マウスの右ボタン)を押します。

33. 100フレーム目のExpandシェイプキーのキー値のキーフレームを登録
33. 100フレーム目のExpandシェイプキーのキー値のキーフレームを登録

上図のようにメニューが表示されますので、"Insert Keyframe"を実行します。

これで、100フレーム目にも"Expand"シェイプキーのキー値のキーフレームが登録されました。

アニメーション出力

では、アニメーションを出力しましょう。 手順は、簡単なアニメーション3DCGの制作 > 変形しない簡単なアニメーションの制作 > マテリアル設定によるアニメーション - アニメーション出力 -と同様です。

制作例

以下は制作例です。 記事の最初に紹介したものと同じ映像です。

制作例 - シェイプキーによるアニメーション -
  

補足しておきたいこと

シェイプキーに関してもう少し補足しておきます。

シェイプキーには相対シェイプキーと絶対シェイプキーがある

シェイプキーには、相対シェイプキーと絶対シェイプキーがあります。 今回の例で使用したのは、相対シェイプキーです。

基本の形状があり、それを基準に複数パタンに変形させる場合には、相対シェイプキーの利用が適しています。 今回の例では、立方体を基本とし、四角錐の形状にも底面が広がる形状にも変形させました。

一方、絶対シェイプキーは、複数のシェイプキーを順に適用して変形させる場合に適しています。 相対シェイプキーとは違い、キー値はありません。 代わりにフレーム数のデータ項目を持っており、このフレーム数を過ぎると次のシェイプキーの変形へと進みます。

つまり、時間の経過とともに様々に変形することになります。 そのため、絶対シェイプキーでは、『キー値』ではなく『経過時間』のキーフレームを登録します。

なお、絶対シェイプキーへ切り替える手順は簡単で、シェイプキーの一覧の下にあるRelativeチェックボックス(Relativeチェックボックス)をオフにするたけです。

Relativeチェックボックス
Relativeチェックボックス
  
1つのオブジェクトに対して絶対シェイプキーと相対シェイプキーを混在させることはできません。 Relativeチェックボックスを操作すると、そのオブジェクトの全てのシェイプキーの同項目も連動して同じ値になります。

ラティスの頂点もシェイプキーで移動することができる

今回の例ではメッシュを変形させましたが、ラティスの頂点もシェイプキーで移動させることができます

  

まとめ

シェイプキーで、メッシュやラティスの頂点を移動させて変形させることができます。

シェイプキーには、相対シェイプキーと絶対シェイプキーがあります。 基本となる形状から複数パタンに変形させるなら相対シェイプキーを、複数パタンを順に変形させるなら絶対シェイプキーを使います。

相対シェイプキーでは、基本の形状を記録するシェイプキーと、変形後の形状を記録するシェイプキーを用意します。 変形後の形状を記録するシェイプキーには『キー値』のデータ項目があり、これが変形の適用度になります。 アニメーションのための情報としては、キー値のキーフレームを登録します。

絶対シェイプキーでは、各シェイプキーが『フレーム数』のデータ項目を持っており、このフレーム数を過ぎると次のシェイプキーの変形に進みます。 また、シェイプキー共通の『経過時間』のデータ項目を持っており、時間の経過によって変形が進みます。 アニメーションのための情報としては、経過時間のキーフレームを登録します。

 
メニュー