MakeHumanとBlenderで人体アニメーション(MakeHuman 1.3とBlenderを使用)
【概要】
MakeHuman(人体モデル作成のための3Dソフトウェア)とBlender(3Dモデリング、アニメーション、レンダリングができる3DCGソフトウェア)で人体アニメーションを作成する手順を説明する。CMUモーションキャプチャデータベースのBVH形式モーションデータを使用し、MakeHumanで作成した人体モデルにBlenderでアニメーションを適用する。
【目次】
【関連する外部ページ】
【サイト内の関連情報】
前準備
Blenderは,3次元コンピュータグラフィックス・アニメーションソフトウェアである.3次元モデルの編集,レンダリング,光源やカメラ等の設定による3次元コンピュータグラフィックス・アニメーション作成機能がある.
メニューの日本語化を行っておくと使いやすい.「編集(Edit)→プリファレンス(Preferences)→インターフェイス(Interface)→翻訳(Translation)」で設定できる.
cmu-motionデータセット(モーションデータ)のダウンロード
謝辞:The Daz-friendly BVH release of CMU's motion capture database - cgspeed
- https://sites.google.com/a/cgspeed.com/cgspeed/motion-capture/the-daz-friendly-bvh-release-of-cmus-motion-capture-databaseを開く
- 「PRIMARY RELEASE: Daz-friendly hip-corrected BVH files releases」からディレクトリを選ぶ
- 「DOWNLOAD」をクリック
ダウンロードページには広告が表示される場合がある。目的のダウンロードリンク以外はクリックしない。
- ファイルのダウンロードが始まる
- 展開(解凍)すると、次のようなファイルが得られる
- 「01」などのディレクトリの中に.bvh形式のモーションデータ(BioVision Hierarchy形式:モーションキャプチャデータを保存するファイル形式)が入っている
このデータはCMUモーションキャプチャデータベース由来である。MakeHumanでリグ(骨格)を付けるときは、「CMU mb」というリグを選ぶと、ボーン構成が一致しやすい。
BlenderとMakeHumanの準備
Blenderのインストール
メニューの日本語化を行っておくと使いやすい。
MakeHuman 1.3のインストール、Blenderでの設定
Blenderで人体アニメーション
BlenderのBVH Retargeterアドオンの準備
BVH形式のモーションデータをBlender上の骨格に適用する(リターゲットする)には、専用のアドオンが必要である。かつてはMakeHumanチームが開発した「MakeWalk」というアドオンが使われていたが、現在はその後継である「BVH and FBX Retargeter」(旧称MakeWalk、開発元は同一)が保守されている。BVHファイルに加えてFBXファイルからのリターゲットにも対応している。
- BVH Retargeterの解説ページを開く
- ページに記載されているダウンロードリンクから、最新版の「BVH and FBX Retargeter」のzipファイルをダウンロードする。Blenderのバージョンごとに対応版が公開されているため、使用するBlenderのバージョンに合うものを選ぶ。
- Blenderを起動する
- Blenderで、「編集」→「プリファレンス」と操作する
- 「アドオン」を選ぶ
- 右上のメニューから「ディスクからインストール」を選び、ダウンロードしたzipファイルを選ぶ。
これはレガシーアドオン(拡張機能プラットフォーム以前の形式のアドオン)としてインストールされる。
- 検索窓に「retarget」と入力し、該当するアドオンが表示されたらチェックを入れて有効化する。
- Blenderのプリファレンスの画面を閉じる
MakeHumanで、アニメーション化したい人体データの準備
- makehuman.exeを起動する
- MakeHumanで、人体に骨格(リギング。Blenderでは「アーマチュア」ともいう、3Dモデルをアニメーション化するための骨格構造)を付ける。「ポーズ/アニメーション(Pose/Animate)」を選び、種類を選ぶ。
ここではCMUモーションキャプチャデータベースのBVHデータを使うため、「種類」として「CMU mb」を選ぶ。これで、CMUのモーションデータに対応した骨格が付く。
- 人体データを保存するために、「Files」を選び、「Save」を選ぶ。ファイル名とディレクトリを指定して保存すると、拡張子.mhm(MakeHuman Model形式)のファイルが作成される。
保存先は既定ではMakeHumanのユーザデータフォルダ(Windowsの場合、
C:\Users\(ユーザー名)\Documents\makehuman\v1py3\data\models)である。保存先を覚えておく。 - ファイルができるので確認する
Blenderで人体アニメーションを作成
- Blenderを起動する
- 中央の立方体は不要なので、立方体を左クリックで選んでから、Deleteキーを押して削除する
- N キーでサイドバーを表示し、「MPFB」タブを選ぶ(Nキーで表示と非表示が切り替わる)。
「MPFB」タブが無い場合は、MPFB2アドオンのインストールが済んでいるかを確認する。インストール手順は別ページで説明している。
- 「新規人体(New human)」→「プリセットから(From presets)」パネルを開き、「MHMをインポート(Import MHM)」ボタンをクリックし、保存した.mhmファイルを選ぶ。
- 読み込まれるので確認する
- 「Rigging」→「Add rig」パネルを開き、リグの種類として「CMU MB」を選び、「Add rig」をクリックする。MakeHuman側でCMU mbのリグを設定していれば、同じ骨格構成の骨格がBlender上にも追加される。
- N キーでサイドバーを開き、「BVH and FBX Retargeter」(旧MakeWalk)のタブを選ぶ。
- 骨格(アーマチュア)を選択した状態で、アドオンのパネルにある「Load and Retarget」をクリックする。
- 準備したモーションデータの中から、.bvhデータファイルを1つ選び、ファイル選択画面で決定する。
- アニメーションが骨格に読み込まれ、再生できる状態になる。
レンダリング
次の手順でアニメーションをレンダリング(3Dシーンから連続した2D画像を生成する処理)する。「アニメーションのレンダリング」は、複数のフレームを一括でレンダリングすることである。
- 次の手順で、カメラの位置を調整する
- カメラを「カメラ視野」に固定する
Nキーでサイドバーを出し、「ビュー」タブを選び、「カメラをビューにロック」(Blenderのバージョンによっては「カメラをロック」と表示される)にチェックを入れる(サイドバーを閉じるときもNキー)。
- 視点をカメラに変える
視点 (View) → カメラ (Camera) と操作する。画面右上のナビゲーションコントロール(視点操作ツール)やテンキーの「0」でも切り替えができる。
「カメラをビューにロック」をチェックしたので、「カメラ視野(カメラビュー)」(レンダリング時に使用される視点)を動かすと、同時にカメラも動く。
- カメラ視野の平行移動:SHIFTキーとマウスの中ボタンを押しながらマウス移動
- カメラ視野の回転(原点を基準):マウスの中ボタンを押しながらマウス移動
- マウスのホイールでも視点を調整できる
- F12キーでレンダリングして確認する
これはカメラ視野でのレンダリングである。
- カメラを「カメラ視野」に固定する
- アニメーションの終了フレームの設定
既定(デフォルト)は250である。ここでは60くらいの値にする。
- アニメーションのレンダリング
CTRLキー + F12キー(同時押し)
レンダリングが始まるので、確認する。終了を待つ。
- レンダリングが終了したら、確認のため再生する
CTRLキー + F11キー(同時押し)
別ウインドウが開いて、再生が始まる。
- 必要に応じて、カメラを見やすい位置に再度調整する