こんにちは、電通総研金融ソリューション事業部の岡崎です。
今回は3Dモデルにアニメーションをつけるために、
Blenderを使用して、アセット内にアーマチュア(ボーン)を作成して
アニメーションを動かすまでの作成方法をご紹介します。
検証環境/ツール
- OS:Windows 11 pro
- GPU:NVIDIA GeForce RTX 4070 Ti
- Blender:3.6.4
実装手順
1. アーマチュアの作成
まずはアニメーションをする元となるアセットを用意します。
今回は簡易的に作った二足歩行の動物のアセットを使用します。
画面上部ファイルからインポートを選択肢、任意のFBXファイルをインポートします。
インポートが完了したら画面左上のモード切り替えから「オブジェクトモード」を選択します。
「Shift + A」を押して追加ウィンドウを表示させて「アーマチュア」を選択します。
ボーンが生成されました。
次に、メッシュの内部にアーマチュアを配置する際に最前面に表示できるように設定します。
プロパティタブのオブジェクトデータプロパティを押下します。
ビューポート表示の最前面にチェックを入れます。
これでアーマチュアが最前面に表示される様になります。
それではアーマチュアを使ってボーン構造を作成します。
モードを編集モードに切り替えます。
ボーンの色がオレンジに表示され、編集できる様になりました。
アーマチュアの位置を腰の位置まで移動します。
このボーンを基準に胴体、手足、頭などのボーンを追加します。
まずボーンが左右対称に追加できる様に設定します。
ビューポート上でキーボードの「N」を押下して、ツールメニューが表示されるので、「X軸ミラー」をオンにします。
次にボーンを追加します。
ボーンの先端の丸を選択して、「E」を押下し、マウスを移動するとボーンが追加されます。
同様の方法で、キャプチャのように背中、首、頭を作成します。
次に首から腕を作成します。
首の根本を選択して、「Shift + E」を押し、分岐のボーンを作成し、
ボーン追加の時と同様の手順で、マウスを移動させてボーンを追加します。
肩より先は、通常のボーンの追加方法で手の先まで作成します。
続いて腰から足を生やします。
腰のボーンの根本を選択します。
腕の時と同様に、「Shift + E」を押し、分岐のボーンを作成します。
さらに「E」でボーンを追加して足を作成します。
今回のモデルは耳もあるので、耳にもボーンを追加しておきます。
ボーンが完成した様に見えますが、腰と足のボーンはまだ接続できていません。
ボーンは細い先端の部分から追加作成する場合は連結されますが、
根本から作成した場合は連結しない性質があります。
(ボーンをずらしてみると連結していないのがわかります)
ですので、腰のボーンに足のボーンが連動する様に設定します。
まずは足のボーンを選択します。
次に腰のボーンを「Shift」を押しながら追加選択します。
次に「CTRL + P」を押してオフセットを保持を選択します。
これで連結ができる様になりました。
試しにボーンを移動してみると、今度は破線が表示されるようになりました。
ボーンが連結されていることがわかります。(編集モードでは連結してみることはできません)
2. アーマチュアの各ボーンの名称を変更
ここでは、作成したボーンの名称を変更します。
ここまでで作成したボーンは下記キャプチャのような構造になっています。
編集モードのまま腰のボーンを選択します。
プロパティタブのボーンのプロパティを編集します。
キャプチャの「Bone」の部分を「Hip」に変更しました。
ちなみに、ボーンの名称を表示させるためには、オブジェクトデータプロパティの「名前」の欄にチェックを入れます。
同様に任意の名前を付けていきます。
私は下記キャプチャのように命名しました。
3. アーマチュアとメッシュの結合
現在はまだアーマチュアとメッシュには連結していません。
ここではアーマチュアをメッシュ内に埋め込み、連結させる方法を紹介します。
まずはオブジェクトモードを選択し、メッシュを選択して
続けて、「Shift」を押しながらアーマチュアを追加選択します。
次に「CTRL + P」を押して
「アーマチュア変形>自動のウェイトで」を選択します。
これにより、アーマチュアが変形された時、メッシュも同時に変更される様になります。
4. アニメーションの作成
いよいよアニメーションを作成します。
フレームごとにボーンを曲げて動きを付けていきます。
画面下部の対象フレーム選択欄を「1」にします。
次にモード選択画面からポーズモードを選択します。
「A」を押すとボーンがすべて水色になります。
これは全てのボーンが選択されている状態です。まずはこのデフォルトのポーズを登録しておきます。
「I」を押してキーフレーム挿入メニューから「位置・回転・スケール」を押します。
これで1フレーム目のボーン形状とメッシュの形状が保存されました。
次に画面下部の対象フレーム選択欄を「20」にします。
ここで20フレーム目の動きを作成します。
任意のボーンの位置や回転を変えてポーズを変えていきます。
私は「spine1」の背骨を少し前に回転させて、お辞儀のポーズを作成しました。
同様に「A」を押してボーンを全て選択した状態にして
「I」を押してキーフレーム挿入メニューから「位置・回転・スケール」を押します。
同様に任意のフレームに任意の動きを作成します。
これでアニメーションの作成ができました。
アーマチュアの作成方法とアニメーションの作成方法の紹介は以上になります。
おわりに
今回はBlenderを使用して、メッシュにアーマチュア(ボーン)を作成して、アニメーションを作成する方法を学習し、紹介しました。
ボーン編集やアニメーション機能により、UEなど外部のゲームエンジンでも独自のキャラクターアニメーションを追加することができます。3DCGの表現の幅が大きく広がりますので、引き続きアニメーションも学習していきたいと思います。
現在、電通総研はweb3領域のグループ横断組織を立ち上げ、Web3およびメタバース領域のR&Dを行っております(カテゴリー「3DCG」の記事はこちら)。 もし本領域にご興味のある方や、一緒にチャレンジしていきたい方は、ぜひお気軽にご連絡ください!
私たちと同じチームで働いてくれる仲間を、是非お待ちしております!
電通総研採用ページ
参考文献
- https://docs.blender.org/manual/ja/dev/modeling/modifiers/deform/armature.html
- https://www.ay3s-room.com/entry/blender-bone-armature
- https://vook.vc/n/5770
執筆:@okazaki.wataru、レビュー:Ishizawa Kento (@kent)
(Shodoで執筆されました)