ここでは NalulunaAnimator で読み込み可能な、Unity の anim 形式のアニメーションファイルの入手法、作成法を解説します。AnimationClip とも言われます。
ただし、NalulunaAnimator で使用できるものは、Humanoid (人体) 用のアニメーション (AnimationClip で humanMotion が true のもの) です。特定の物体に紐づけられたアニメーションは、基本的にその物体専用で汎用性がないため、アバターに使用することはできません。
BOOTH や Unity Asset Store には多くのアニメーションが配布されており、Unity で使用できるものは基本的に anim ファイルが取り出せると考えて良いです。
BOOTH - アニメーションタグ
https://booth.pm/ja/items?tags%5B%5D=%E3%82%A2%E3%83%8B%E3%83%A1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3
BOOTH - モーションタグ
https://booth.pm/ja/items?&tags%5B%5D=%E3%83%A2%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3
Assset Store - Animation カテゴリ
https://assetstore.unity.com/?category=3d%2Fanimations&orderBy=1
ちなみに、以下のアニメーションはわたしが購入して、NalulunaAnimator に組み込んでいるので、みなさんが NalulunaAnimator 用に購入するとかぶってしまいます。いちおう念のため…。
服やアバターのちょっとした紹介に使えそうなanimationファイル
https://kaguramoimoi.booth.pm/items/3886934
13種類のアバター展示向けanimationファイル (支援版(中身同じ))
https://kaguramoimoi.booth.pm/items/4316163
Everyday Motion Pack
https://assetstore.unity.com/packages/3d/animations/everyday-motion-pack-116611
上記で入手したファイルの形式が anim ではない場合もあります。
.unitypackage
Unity にインポートして使用するためのファイル形式です。Unity を起動した状態で、.unitypackage をダブルクリックすると、Unity の現在のプロジェクト内にファイルをインポート (展開) することができます。
また下記のツールでは、Unity を介さずに .unitypackage の展開が可能なようです。
https://booth.pm/ja/items/1037772
.fbx
アニメーションが fbx 形式で提供されている場合もあります。この場合は、下記のように Unity 上でその fbx 内のアニメーションを選択し、この状態で Ctrl + D キーを押すと
同フォルダに anim ファイルが出力されます。
.bvh
モーションキャプチャデータなどは bvh 形式で配布されている場合もあります。NalulunaAnimator では .bvh の読み込みも可能ですが、anim より制限があるので、anim に変換したい場合もあるでしょう。
変換には Blender を使用します。Blender で File → Import → Motion Capture(.bvh) で bvh をインポートし、そのまま File → Export → FBX で fbx としてエクスポートします。あとは上記の通り fbx から anim を取り出すことができます。
MMD、PMX
MMD のアニメーションは MMD4Mecanim を使用することで fbx に変換することが可能です (そして fbx から anim を取り出し可能)。ここでは詳しく触れませんが、下記サイトの「「.pmx」を「.fbx」に変換」がわかりやすいと思います。
[Unity]MMDのモーションをUnityに入れて鑑賞会をしよう - Qiita
https://qiita.com/saba383810/items/c55043bdbc47dd4cb6f4
なお、MMD に限ったことではありませんが、必ず利用規約を確認してください。MMD のみでの使用に限定して配布されているアニメーションもあります。これらを変換したり、別のソフトで使用することは規約違反になります。
動くアニメーションだけでなく、静止したポーズも anim として出力することが可能です。この場合、anim ファイルには 1 フレームだけの姿勢情報が入っており、再生時間としては 0 秒です。
NalulunaAnimator に静止ポーズを再生させた場合は、設定の Pose にいれた秒数の再生時間をとります。たとえば静止ポーズを 6 つ設定して順再生すると、Pose 秒数ごとに 6 つのポーズが切り替わっていく、という演出になります。トランジション秒数をとることで、ポーズ間の手足の動きは補完されます。
この静止アニメーションの作成方法には様々な方法がありますが、ここでは UniVRM を使用する方法を紹介します。
まず Unity に UniVRM をインポートします。とりあえずここでは Unity 2022.2.11 と UniVRM v0.110.0 を使用しました。
UniVRM-0.110.0_3f7d.unitypackage
https://github.com/vrm-c/UniVRM/releases/tag/v0.110.0
UniVRM をインポートしたら、VRM アバターもインポートして、シーンに配置します。配置が完了したら、Hips 以下のアバターのボーンを動かして、保存したいポーズをとってください。(後述のアニメーション作成アセットにはポーズ補助機能もあります)
ここでアバターのルート GameObject (ここでは AliciaSolid を選択して、Add Component から Human Pose Transfer をクリックします。
このまま Pose to AnimationClip (2 つある下のほうボタン) をクリックして、ファイル名を指定すれば完了…、のはずなんですが、バグっているのかエラーが出ます。ので直します。一番下の赤文字の Argument... をダブルクリックするとエディタが開くはずです。
エディタで SetCurve 内の null をすべて "" に置き換えます。
✕ clip.SetCurve(null, ...
〇 clip.SetCurve("", ...
置き換えが完了したら上書き保存して、Unity に戻ります。
再度、Human Pose Transfer の Pose to AnimationClip をクリックして、ファイル名を指定すると保存できるようになりました。
Unity の Very Animation、 UMotion Pro あたりが定番です。ちなみにセール時には半額程度で販売されている場合もあります。
UMotion Pro - Animation Editor
https://assetstore.unity.com/packages/tools/animation/umotion-pro-animation-editor-95991
Very Animation
https://assetstore.unity.com/packages/tools/animation/very-animation-96826?locale=ja-JP
これらによるアニメーション作成法ですが、参考になるリンクを一部ご紹介しておきます。ほかにも Very Animation、UMotion は Web 上に非常たくさん情報があるので、みなさんでも検索してみてください。
【Unity】Very AnimationとUMotion Proの機能比較
https://note.com/zebra_niitaka/n/n376488dd8776
UnityのアニメーションエディターUMotionを完全に理解する | 3DCG school
https://3dcg-school.pro/unity-umotion-tutorial/
【Unityアセット】VeryAnimationを使ってオリジナルアニメーションを作る方法 | STYLY
https://styly.cc/ja/tips/unity-saku-animation/
VIVEトラッカーを使用して、anim ファイルを出力する方法はいくつかありますが、下記がよくまとまっていてわかりやすいと思います。
VR機器を使ったモーションキャプチャ&アニメーションファイル作成ソフトまとめ|Maron_Vtuber|pixivFANBOX
https://maron.fanbox.cc/posts/3101223
上記の記事中にもある通り、Virtual Motion Recorder を使用するのが一番簡単だと思いますが、わたしは使用したことがないため、使い勝手に関しては何とも言えません。体験版があるのでみなさんで判断されてください。
すでに Virtual Motion Capture の有料版をお持ちで、Unity もそれなりに使える、という方は、Virtual Motion Capture + EVMC4U + Easy Motion Recorder の手段もありだと思います。
これらで生成した anim は最適化されていない状態で、必要以上にサイズが肥大化しているので、可能であれば最適化を施してください。たとえば Very Animation にはキーフレーム数削減機能があります。
駆け足でアニメーションの入手、作成について紹介してきましたが、参考になりましたでしょうか。みなさんがどんなアバターアニメーションを見せてくれるのか、楽しみにしています!