【Blender 4.3】竜(蛇)のアニメーション作成
2025年は「巳年」(みどし)ですね。
2020年にBlenderを始めてから、丑、寅、卯、辰、と4年連続で干支をモデリングしてきましたが、今年は2024年の干支の「竜(辰)」から2025年の「蛇(巳)」への切り替わり(トランジション)を3DCGソフト「Blender」のアニメーションで表現してみました。
モデリングを簡素にした分、スプラインIKやフックモディファイアーなどを使って竜と蛇の躍動感のあるくねくねとした動きを頑張って表現したので、作り方をまとめておきます。
ご意見・質問等はクララのTwitter(https://twitter.com/klala_lab)まで(^^)/
🎍明けましておめでとうございます!🐍
— クララ/Klala (@klala_lab) December 31, 2024
今年も3DCG作品をたま~に投稿していきたいと思いますので、もし流れてきたら、いいね👍を頂けると嬉しいです☺️#b3d #3dcg #blender3d #HappyNewYear2025 #巳年 pic.twitter.com/LyGTTYEVPy
広告/AD
なぜこれを作ろうと思った?
2024年・辰年の正月に向けて、以前Blenderでこちらのような竜を作成しました。
2024年の干支の竜(辰)です🐉
— クララ/Klala (@klala_lab) December 2, 2023
ヒゲに苦戦しましたが、なんとかイメージを形にできました😅#b3d #blender3d #3dcg https://t.co/OWYJ9mPp8i pic.twitter.com/Zj7RYxab0e
このときは竜の鱗の表現に力を入れました。
鱗の作り方については、こちらの記事にまとめたので、もし興味がある方はあわせてご覧いただけると嬉しいです。
2025年は巳年、ということで蛇になるわけですが、蛇は竜と胴体が同じでなおかつ手足やヒゲがないので、モデリングはすごく簡単ですよね(本物そっくり精密に作ろうとするとそれはそれで大変ですが)。
ただ普通にリアルな蛇を作っただけだと、前の年に作った竜の劣化版になってしまうと思いました。
で、どうせ劣化版になるのならば、それを逆手にとって、「竜から手足など余分なものをそぎ落とした結果、蛇の完成!」的なアニメーションで干支の切り替わりを面白おかしく表現してみることにしました。
使用した手法
今回使用した手法をまとめます。本記事では、リギングに使用したコンストレイントの設定方法をメインに紹介していきたいと思います。
モデリング
- サブディビジョンサーフェスモディファイアー
- ミラーモディファイアー
- ディスプレイスメントモディファイアー
リギング
- ボーンコンストレイント:スプラインIK
- オブジェクトコンストレイント:チャイルドコンストレイント
- フックモディファイアー
各パーツの作成
まずは「蛇」(竜)の頭の部分を作成しました。
立方体オブジェクトにサブディビジョンサーフェスモディファイアーを追加したあと、ループカット等でメッシュを分割しました。
口の部分は、メッシュを一旦削除した後で面を張り直しています。
以下はモディファイアー適用前の頭のメッシュです。口の回りがピンク色になっていますが、口の回りのエッジを出すために辺のクリースを1にしています。

胴体の部分は、ベジエカーブで作りました。
オブジェクトデータプロパティから「ベベル」→「深度」の数値を0.12にした後、編集モードで尻尾の先のポイントを選択し、「Alt+S」で細くしました。

頭のメッシュに「Ctrl+A」でモディファイアーを適用し、胴体のカーブを右クリック→「変換」→「メッシュ」でメッシュに変換した後、「胴体」→「頭」の順にShiftキーを押しながら左クリックで複数選択した後、Ctrl+Jでオブジェクトを合体させます。
今回は、オブジェクト原点を頭の中心に置きたかったので、胴体を頭に合体させました。そうすることで、後で目・ヒゲ・角を頭にペアレントさせるだけで、これらのパーツが追従して動いてくれるようになります。
重なる部分のメッシュを削除した後、以下のように「Ctrl+E」→「辺ループのブリッジ」等でメッシュの穴をふさげばOKです。

口ひげが取れたときに蛇だとわかりやすいように、口の中のメッシュを複製して舌を作りました。

今回のモデリングは相当手抜きで、UV展開は一切行っていません。背と腹と口に別々のマテリアルスロットを割り当ててそれぞれ緑・白・赤で着色しました。

目はUV球で作りました。ミラーモディファイアーを追加し、ミラーオブジェクトに胴体を設定しました。

竜から蛇になるときに切り離す以下のパーツを作成していきます。
- 手・足
- 角
- 口髭
- 長い髭
- 背びれ
手と足は、立方体オブジェクトをベースに、関節部分を基準に押し出しで作成しました。少しは力強さが伝わるように、関節と関節の間の部分をふくらませて筋肉を表現しています(下図はミラーモディファイアー・サブディビジョンサーフェスモディファイアー適用済みです)。

手と足のかたちはほとんど変わらないので、まず手を作った後でShift+Dで複製し、大きさや関節の向きなどを調節しました。

角も腕と同様に、立方体オブジェクトにサブディビジョンサーフェスモディファイアーとミラーモディファイアーで作成しました。

口髭は、L字型のメッシュにサブディビジョンサーフェスモディファイアーをかけた後、ディスプレイスモディファイアーにクラウドテクスチャを設定し表面を凸凹させて表現しました。

長い髭は、ベジエカーブで作成しました。尻尾を作成したときと同様に、先端を「Alt+S」で細くしています。

背鰭は、三角形のメッシュオブジェクトを配列モディファイアーで竜の胴体に沿って整列させました。
(こちらの図はモディファイアーを適用し「P」で別オブジェクトに分離した後のものです)

ひとまず、竜の皮をかぶった(?)「蛇」が完成しました。

アニメーション作成
竜にアーマチュアを追加したり、各オブジェクトにコンストレイントを設定して、アニメーションを作るまでの過程をまとめます。
竜のリギング
竜(蛇)の頭と胴体部分にボーンを追加していきます。
まずは頭に「アーマチュア(単一ボーン)」を追加し、そのボーンのルート(8角錐で表示したときに丸い部分)から尻尾の先端まで、だいたい等間隔になるようにで18個の細かいボーンを押し出しました(ショートカットキー:E)。

ボーン1つ1つにキーフレームを打つのは大変なので、ボーンの制御を簡単にするために「スプラインIK」というボーンコンストレイントを使いました。
ベジエカーブを追加し、竜の姿のイメージに合わせて変形させます。
アーマチュアを選択した後Ctrl+Tabでポーズモードに切り替え、尻尾の先端のボーンを選択します。
その後、「ボーンコンストレイント」→「スプラインIK」を追加し、胴体・尻尾のボーンがすべて含まれるようにチェーンの長さを設定します。

ベジエカーブを変形させると、それに追従してアーマチュアも変形するようになります。

竜の位置を決めるエンプティオブジェクトを、竜の首の位置に追加します。
アーマチュアと、スプラインIK用のベジエカーブが竜の動きに追従するよう、エンプティオブジェクトをペアレントに設定します(オブジェクトモードでShiftキーを押しながら「アーマチュア」「ベジエカーブ」を選択した後に「エンプティ」を最後に選択しCtrl+P)。

各パーツへのコンストレイントの設定
目・角・髭は、頭のオブジェクトに「Ctrl+P」で直接ペアレント設定しました。

それ以外のパーツは、オブジェクトコンストレイントの1つである「チャイルド」でボーンにひも付けました。
「オブジェクトコンストレイントプロパティ」→「チャイルド」を追加し、手・足に最も近い胴体のボーンにひも付けました。

背びれは、編集モードから「P」→「構造的に分離したパーツで」を選択し1枚1枚を別オブジェクトに分離し、「原点を設定」→「原点をジオメトリに移動」で原点を設定し直した後、最も近い胴体のボーンにひも付けました。

胴体の動きに各パーツが追従することを確認できればOKです。

ベジエカーブへのコンストレイントの設定
「スプラインIK」とひも付けているベジエカーブを制御するために、エンプティ(十字)を4個(制御点の個数分)追加し、以下のようにベジエカーブの制御点と重なるように配置します。
エンプティ→ベジエカーブの順に複数選択した後、(Ctrl+)Tabで編集モードに切り替え、ベジエカーブの制御点(3点)を選択します。
ショートカットキー「Ctrl+H」でフックモディファイアーを追加し、ベジエカーブの制御点をエンプティで拘束します。
エンプティオブジェクトを動かしたり回転させたりすると、それに従ってベジエカーブが変形します。

ちなみに、フックモディファイアーは、モディファイアープロパティからも追加できます。

エンプティオブジェクトは4つとも、アーマチュアの頭の部分のエンプティオブジェクトをペアレントに設定し、竜の動きに追従するようにします。

広告/AD
竜・蛇のアニメーション
いよいよ竜(蛇)のアニメーションを作っていきます。
まずは、カメラを追加して、画角と竜(蛇)の導線のイメージを固めます。

竜(蛇)の導線上に、基準となるベジエカーブを配置します。
ベジエカーブは、竜として入場する導線用と、蛇として退場する導線用の2個追加します。
このベジエカーブは、エンプティオブジェクトにキーフレームを追加する際の基準となります。

竜のアーマチュアと、エンプティオブジェクトにキーフレームを追加して、竜(蛇)の蛇行のアニメーションを作ります。
何度かタイムラインを再生しながら、体を上下にくねらせる動きを表現できるようにキーフレームを追加して動きを補間していきました。

このアニメーションでは、途中(95フレーム目)で竜が止まり、蛇にトランスフォームした後で蛇として蛇行しながら退場します。
トランスフォームのシーンですが、各パーツが1個ずつカメラアングル外に退場していくように、各オブジェクトの座標にキーフレームを追加していきました。

アーマチュアとエンプティオブジェクトにも、入場用の導線から退場用の導線に移動するようにキーフレームを追加します。

蛇の退場のアニメーションについても、竜の入場時のアニメーションと同様の手順で作成しました。

文字のアニメーション
こちらのように、テキストオブジェクトを追加し、2024年辰年から2025年巳年への変化をわかりやすく伝えてみました。

ビデオエディターで効果音を追加
まずはいったんレンダリングして、音声なしの動画を書き出します。
レンダリングエンジンEeveeを使ってPNG形式で動画をレンダリングしました。

Blenderの「新規作成」→「動画編集」を立ち上げ、ビデオエディターのシーケンサー上に動画ファイルをドラッグ&ドロップします。
ビデオエディターのトラック上に、ダウンロードした効果音の音声ファイルをドラッグ&ドロップして、効果音を追加していきます。

ちなみに、今回使用した効果音はすべて「効果音ラボ」さんのものです。

音声付きの動画ファイルとしてレンダリングする際の設定ですが、私はいつも出力形式を”FFmpeg動画”、コンテナを”MPEG-4”、動画コーデックを”H.254”に設定しています。

広告/AD
もっと滑らかに動かすには?
今回は「スプラインIK+フックモディファイアー」を使って蛇の動きを表現しました。
しかし、単純に滑らかな動きを表現したいのであれば、アーマチュアを使わずに蛇の胴体のメッシュオブジェクトにカーブモディファイアーを設定して動かした方が、以下の上側の例のように滑らかな動きになるし、設定が楽なのでおすすめです。

アーマチュアを使って方法でもっと滑らかに動かす方法が見つかったら、また別の機会に紹介したいと思います。
まとめ
竜から蛇の切り替わりアニメーション作成の作り方についてまとめてみました。
滑らかなくねくねとした動きをリグで表現するのは意外と難しかったです😅
また機会があれば挑戦して、もっとよいやり方を見つけたいと思います!
広告/AD