逆運動学(MakeHuman 1.3, Blender を使用)(Windows 上)
【概要】
MakeHuman 1.3 と Blender 5.2 LTS を使用して、逆運動学(IK: Inverse Kinematics)によるポーズ付けを行う手順を説明する。逆運動学は、手先や足先などの末端を動かすことで骨格全体の回転を決める方式である。人体データの Blender への取り込みと IK の設定には、MakeHuman コミュニティが提供する Blender アドオン MPFB2 を用いる。
【目次】
【関連する外部ページ】
【サイト内の関連情報】
前準備
Blenderは,3次元コンピュータグラフィックス・アニメーションソフトウェアである.3次元モデルの編集,レンダリング,光源やカメラ等の設定による3次元コンピュータグラフィックス・アニメーション作成機能がある.
メニューの日本語化を行っておくと使いやすい.「編集(Edit)→プリファレンス(Preferences)→インターフェイス(Interface)→翻訳(Translation)」で設定できる.
MakeHumanのインストール、Blenderでの設定
次のことが終わっていることを前提とする。
- MakeHuman のインストール
- Blender の MPFB2 アドオンのインストール(MPFB2 は、MakeHuman の人体データを Blender で扱うためのアドオンで、Blender 4.2 以降で動作する)
WindowsでのMakeHumanのインストールとBlenderのMPFB2アドオンのインストールの手順は、別ページで説明している。
MakeHumanで人体データをMHM形式で保存し、BlenderのMPFB2でIKを設定する方法
骨格(アーマチュア)のボーンを1本ずつ回転させ、子のボーンがそれに従って動く方式が順運動学(FK: Forward Kinematics)である。Blender の既定の状態はこの方式である。
一方、逆運動学(IK)では、ターゲットとなるボーンを移動させると、それにつながるボーンの列(IKチェーン)の回転が自動的に決まる。手先や足先の位置を指定してポーズを作れる。
MPFB2 で IK を使うには、人体データを Blender に取り込んだあと、「Rig helpers」機能で IK 用のターゲットボーンを追加する。
MakeHumanでの操作
- MakeHuman で、人体モデルに骨格を付加する。
「ポーズ/アニメート(Pose/Animate)」タブの「スケルトン(Skeleton)」を選び、一覧から「Default」を選択する。既定では「None」(骨格なし)が選ばれている。
MPFB2 の Rig helpers が使えるのは「Default」と「Default no toes」の骨格である。
- 人体データを保存する。「ファイル」メニューの「保存」を選び、ファイル名を付けて保存する。拡張子が .mhm(MakeHuman Model 形式)のファイルが作成される。
保存先は既定では MakeHuman のユーザデータフォルダである。Windows では
C:\Users\(ユーザー名)\Documents\makehuman\v1py3\modelsである。あとで Blender から読み込むので、保存先を確認しておく。 - ファイルが作成されたことを確認する。
Blenderでの操作
以下は Blender 5.2 LTS での操作である。
- Blenderを起動する。
- 初期状態で表示される中央の立方体は不要なので削除する。
立方体を左クリックで選択してから、Xキーを押して「削除」を選ぶか、メニューの「オブジェクト」→「削除」を選ぶ。
- 3Dビューポートで N キーを押してサイドバーを表示し、「MPFB」タブを選択する。タブが無いときは、MPFB2 アドオンのインストールと有効化を確認する。
- MHM形式のファイルを読み込むには、あらかじめ MPFB2 に makehuman system assets アセットパックを導入しておく。導入は「Apply assets」→「Library settings」→「Asset packs」で行う。手順は別ページで説明している。
- 「New human(新規人体)」パネルの「From presets(プリセットから)」を開き、「Import MHM(MHMをインポート)」をクリックし、MakeHuman で保存した .mhm ファイルを選択する。
- 人体モデルと骨格が読み込まれたことを確認する。
- 骨格(アーマチュア)を選択した状態で、MPFB2 の「Rigging」パネルの「Rig helpers」を開く。「Arm helpers」と「Leg helpers」の helper type で、追加する IK ターゲットの種類を選ぶ。既定の「Lower + upper」では、腕と脚のそれぞれに、ひじ(ひざ)用と手(足)用の2つの IK ターゲットが追加される。
ペアレント(parenting)の設定では、腕は「Spine」、脚は「None」を選ぶと扱いやすい。脚を「None」にすると、体を動かしても足の位置が留まる。
設定後、ヘルパーを追加するボタンをクリックすると、IK 用のターゲットボーンが追加される。
- ポーズモードに切り替え、追加された手や足の IK ボーンを選び、Gキー(移動)で移動させる。
手の IK ボーンを動かすと、腕のボーンの回転が自動的に決まり、腕全体が追従して曲がる。