MakeHumanとBlenderで人体アニメーション(MakeHuman 1.3とBlenderを使用)

概要

MakeHuman(人体モデル作成専用の3Dソフトウェア)とBlender(3Dモデリング、アニメーション、レンダリングなどが可能な総合的な3DCGソフトウェア)を用いて人体アニメーションを作成する手順を解説する。CMUモーションキャプチャデータベースのBVH形式モーションデータを使用し、MakeHumanで作成した人体モデルにBlenderでアニメーションを適用する方法を説明する。

目次

  1. 前準備
  2. cmu-motionデータセット(モーションデータ)のダウンロード
  3. 前準備
  4. Blenderで人体アニメーション
  5. レンダリング

関連する外部ページ

サイト内の関連情報

前準備

Blenderは,3次元コンピュータグラフィックス・アニメーションソフトウェアである.3次元モデルの編集,レンダリング,光源やカメラ等の設定による3次元コンピュータグラフィックス・アニメーション作成機能がある.

メニューの日本語化を行っておくと使いやすい.「編集(Edit)→プリファレンス(Preferences)→インターフェイス(Interface)→翻訳(Translation)」で設定できる.

cmu-motionデータセット(モーションデータ)のダウンロード

次のWebページでは、モーションデータ(キャラクターの動きを数値データとして記録したもの)が公開されている。このページで配布されているモーションデータを使用する。利用条件などは利用者で確認すること。

https://sites.google.com/a/cgspeed.com/cgspeed/motion-capture/the-daz-friendly-bvh-release-of-cmus-motion-capture-database

謝辞:The Daz-friendly BVH release of CMU's motion capture database - cgspeed

  1. https://sites.google.com/a/cgspeed.com/cgspeed/motion-capture/the-daz-friendly-bvh-release-of-cmus-motion-capture-databaseを開く
    CGSpeedのモーションキャプチャデータベースページ
  2. 「PRIMARY RELEASE: Daz-friendly hip-corrected BVH files releases」からディレクトリを選ぶ
    BVHファイルリリースのディレクトリ選択画面
  3. 「DOWNLOAD」をクリック
    ダウンロードボタン

    このとき、マイクロソフトセキュリティアラートが表示される場合があるが、偽広告なので無視する(金子見解)。

  4. ファイルのダウンロードが始まる
    ファイルダウンロード中の画面
  5. 展開(解凍)すると、次のようなファイルが得られる
    Windowsでの展開(解凍)に便利な7-Zip:別ページ »で説明
    展開後のファイル一覧
  6. 「01」などのディレクトリの中には.bvh形式のモーションデータ(BioVision Hierarchy形式:モーションキャプチャデータを保存する標準的なファイル形式)が入っている
    BVHファイルが格納されたディレクトリ

    このデータはCMUモーションキャプチャデータベース由来であるため、後述のMakeHumanでリグ(骨格)を付ける際は、データに対応する「CMU mb」というリグを選ぶと、ボーン構成が一致しやすい。

前準備

Blenderのインストール

メニューの日本語化を行っておいた方が使いやすい。

MakeHuman 1.3のインストール、Blenderでの設定

Blenderで人体アニメーション

BlenderのBVH Retargeterアドオンの準備

BVH形式のモーションデータをBlender上の骨格に適用する(リターゲットする)には、専用のアドオンが必要である。かつてはMakeHumanチームが開発した「MakeWalk」というアドオンが使われていたが、現在はその後継である「BVH and FBX Retargeter」(旧称MakeWalk。開発元も同一)が保守されており、Blender 3.0以降で動作する。

  1. BVH Retargeterの解説ページを開く

    http://diffeomorphic.blogspot.com/p/bvh-retargeter.html

  2. ページに記載されているダウンロードリンクから、最新版の「BVH and FBX Retargeter」のzipファイルをダウンロードする。バージョンはBlenderの更新に合わせて随時公開されるため、ページの記載を確認してダウンロードすること。
  3. Blenderを起動する
  4. Blenderで、「編集」→「プリファレンス」と操作する
  5. 「アドオン」(Blenderのバージョンによっては「拡張機能」内の項目)を選ぶ
  6. 右上のメニューから「ディスクからインストール」を選び、先ほどダウンロードしたzipファイルを選ぶ。

    これはレガシーアドオン(拡張機能プラットフォーム以前の形式のアドオン)としてインストールされる。

  7. 検索窓に「retarget」と入力し、該当するアドオンが表示されたらチェックを入れて有効化する。
  8. Blenderのプリファレンスの画面を閉じる

MakeHumanで、アニメーション化したい人体データの準備

  1. makehuman.exeを起動する
  2. MakeHumanで、人体に骨格(リギング:Blenderでは「アーマチュア」(3Dモデルをアニメーション化するための骨格システム)ともいう)を付ける。「ポーズ/アニメーション(Pose/Animate)」を選び、種類を選ぶ。

    今回はCMUモーションキャプチャデータベースのBVHデータを使うため、「種類」として「CMU mb」を選ぶ。これにより、CMUのモーションデータに対応した骨格が付く。

  3. 人体データを保存するために、「Files」を選び、「Save」を選ぶ。ファイル名とディレクトリを指定して保存すると、拡張子.mhm(MakeHuman Model形式)のファイルが作成される。

    保存先は既定ではMakeHumanのユーザデータフォルダ(Windowsの場合、C:\Users\(ユーザー名)\Documents\makehuman\v1py3\data\models)である。分かりやすい場所を覚えておくこと。

  4. ファイルができるので確認する

Blenderで人体アニメーションを作成

  1. Blenderを起動する
  2. 中央の立方体は不要なので、立方体を左クリックで選んでから、DELキーを押して削除
    初期立方体の削除
  3. N キーでサイドバーを表示し、「MPFB」タブを選択する(Nキーで表示と非表示が切り替わる)。
    「MPFB」タブが無い場合は、MPFB2アドオンのインストールが済んでいるかを、別のページで確認する。
  4. 「新規人体(New human)」→「プリセットから(From presets)」パネルを開き、「MHMをインポート(Import MHM)」ボタンをクリックし、先ほど保存した.mhmファイルを選ぶ。
  5. 読み込まれるので確認する
  6. 「Rigging」→「Add rig」パネルを開き、リグの種類として「CMU MB」を選び、「Add rig」をクリックする。MakeHuman側でCMU mbのリグを設定していれば、同じ骨格構成の骨格がBlender上にも追加される。
  7. N キーでサイドバーを開き、先ほど導入した「BVH and FBX Retargeter」(旧MakeWalk)のタブを選ぶ。
  8. 骨格(アーマチュア)を選択した状態で、アドオンのパネルにある「Load and Retarget」をクリックする。
  9. 先ほど準備したモーションデータの中から、.bvhデータファイルを1つ選び、ファイル選択画面で決定する。
  10. アニメーションが骨格に読み込まれ、再生できる状態になる。
bvhデータファイルのビューワは、別のWebページで紹介している。

レンダリング

次の手順でアニメーションをレンダリング(3Dシーンから連続した2D画像を生成する処理)してみる。「アニメーションのレンダリング」とは、一連の複数のフレームを一括レンダリングすることである。

  1. 次の手順で、カメラの位置を調整
    1. カメラを「カメラ視野」に固定

      まず、Nキーでシェルフを出し、「ビュー」タブを選択し、「カメラをビューにロック」(Blenderのバージョンによっては「カメラをロック」と表示される)にチェックを入れる(シェルフを閉じるときもNキー)。

      カメラをビューにロックの設定
    2. 視点をカメラに変える

      視点 (View) → カメラ (Camera) と操作する。画面右上のナビゲーションコントロール(視点操作ツール)からも切り替えができる。テンキーの「0」でも切り替え可能である。

      カメラビューへの切り替え

      先ほど、「カメラをビューにロック」したので、「カメラ視野(カメラビュー)」(レンダリング時に使用される視点)を動かすと、同時にカメラも動くようになる。

      • カメラ視野の自由な移動:SHIFTキーとマウスの中ボタンを押しながらマウス移動
      • カメラ視野の自由な回転(原点を基準):マウスの中ボタンを押しながらマウス移動
      • マウスのホイールでも視点を調整
      カメラ視野の調整
    3. F12キーでレンダリングして、確認してみる

      これはカメラ視野でのレンダリングである。

      レンダリング結果の確認
  2. アニメーションの終了の設定

    既定(デフォルト)は250になっているのを適切に調整する(60くらいの値にする)。

    アニメーション終了フレームの設定
  3. アニメーションのレンダリング

    CTRLキー + F12キー(同時押し)

    レンダリングが始まるので、確認する。終了を待つ。

    アニメーションレンダリング中
  4. レンダリングが終了したら、確認のため再生してみる

    CTRLキー + F11キー(同時押し)

    別ウインドウが開いて、再生が始まる。

    レンダリング済みアニメーションの再生
  5. 必要に応じて、カメラを見やすい位置に再度、調整する
    カメラ位置の再調整