本日はBlenderモデリング枠です。
先日TestToMotionの一つであるTEMOSの論文を見て勉強した際にSMPLモデルという手法を知りました。
今回は3Dの人体の動きと密接にかかわりがあるSMPLモデルについて実際に触っていきます。
〇SMPLモデルとは?
SMPLモデルはマックス・プランク・インテリジェンス研究所が2020年に発表した
https://files.is.tue.mpg.de/black/papers/SMPL2015.pdf
本記事公開本日時点で以下のプラグインが提供されています。
対象プラットフォーム | |
---|---|
SMPL for Unreal Plugin (USMPL) | UE用のプラグイン |
SMPL for Blender | Blender用のプラグイン |
SMPL for Unity | Unity向けのプラグイン |
SMPL for Maya | Maya向けのプラグイン |
SMPL for Python Users | Pythonのライブラリ |
DMPLs for AMASS | Dynamic-SMPLのライブラリ |
Sample Animated Bodies | アニメーションサンプル |
今回はこの中からSMPL for Blenderを使用していきます。
〇SMPLモデルのライセンス
SMPLモデルを使用するにあたってのライセンスはいかに記載されています。
抜粋すると以下のような内容になります。
・非商用の科学研究目的でのみ使用することが許可 商用利用、特に商用製品への組み込み、商用サービスでの利用、または商用目的の他のアーティファクトの生成は禁止
・SMPLモデルを使用してポルノ等の目的で使用することの禁止。また、商用利用のための方法/アルゴリズム/ニューラルネットワークなどのトレーニングにソフトウェアを使用することも禁止
つまり個人的学習用途の利用はできるようですが、ビジネス的な利用や個人利用を超える利用はできません。
実際にSMPLモデルを触る場合はよくライセンスを読んで使用する必要があります。
〇SMLPの登録とダウンロード
SMPLのダウンロードを行うためには登録する必要があります。
こちらはメールアドレスとパスワードを登録するだけで完了します。
①ダウンロードページからSMPLモデルのBlender用のアドオンをダウンロードします。
現在は2.8以降が対応しているようです。
②Blenderを開き上部ワールドメニューからEdit→Prefarenceを開きます。
③アドオンタブからインストールを選択します。
④ダウンロードしたZipを選択しインストールを行います。
インストール後はアドオンにチェックを入れ有効化します。
以上でアドオンのインストールが完了しました。
⑤3DビューポートからSMPLタブを開きます。
⑥アドオンのUIから追加を選択することでシーン上にSMPLモデルが表示されます。
生成されるモデルは最初は無色ですがUVを持ちUVマップを適応することができます。
〇機能
シェイプでは生成されるモデルの体系などの形状を変えることができます。
randomShapeでは形状をランダムに変化させ様々な体格の人物を表現できます。
上画像のように体格を変化させたことで足が地面から浮いてしまうことがあります。
このような場合にはSnap to ground Planeを選択することで地面に正しく付けることができます。
その他fbxへのエクスポート機能のほかにSMPL特有の各ボーンのローテーションのエクスポート等があるようですがこちらは実際のSMPLモデルの論文に記載されているようで筆者が触っている中では理解できませんでした。
以上でSMPLモデルをBlenderで扱うことができました。実際の利用法については特に明言されていないため元論文を読んでみる必要がありそうです。