概要
Unityちゃん以外の適当なキャラクタを使って、走るなどのシンプルな操作する手順を説明します。2021.09時点で使える方法です。
使用環境
Unity2019.4.17
Starter Assets - Third Person Character Controller①
Adobe Mixamo(要アカウント)
※Unity2020.3が必須環境のようですが、動きました。
参考サイト
https://tat1kun.hatenablog.com/entry/TPSController
https://www.youtube.com/watch?v=4QuPlKzdq14
手順
▼キャラクタデータの作成(オンライン)
Adobeアカウントを使用してmixamoで上部のCharactersタブを選択し、好みのキャラクターを選ぶ。
右上のDownloadボタンで、FBX for Unity、T-Poseでダウンロード。
(Mixamoでは骨の入っていないモデルをUploadし、骨を入れる機能もある)
▼Unityの設定
①のアセットをストアからインストールする(ブラウザからでも可)
このアセットは2021.6に登場したようでまだ新しいv1.0.0。
StarterAssets>ThirdPersonController>Prefabs>PlayerArmatureをシーンにD&D。
Hierarchyウィンドウから、PlayerArmature>Geometryを選択し、Inspectorウィンドウの一番上のチェックを外す(デフォルトのキャラを非表示にする)
FBXファイルをアセットにD&Dし、読み込む。
読み込んだAssets内のFBXを選択し、InspectorウィンドウのRigタブのAnimation TypeをHumanoidに変更する。その下のApplyを押す。
そのFBXをHierarchyウィンドウに一旦配置する。そして、PlayerAmatureの下(子)に配置する。
HierarchyウィンドウのPlayerAmatureを選択し、Inspectorウィンドウ内のAvatarの右の◎ボタンを押す。すると、小さなウィンドウが開くので、FBXデータの方を選択する。
これで、WASDで動くようになり、ジャンプもできる。
スケルトンだけのFBXを再生する
ここまでで、mixamoを利用して、任意のモデルで走ったり、ジャンプさせることができるようになった。では、任意のアニメーションをさせたい場合は、どうするか。ここでは、BVHなどのモーションデータをキャラクタに反映させる手順を説明する。
まず、BVHのデータをFBXに変換し、骨だけのモーションデータを用意する。(変換する必要はないかもしれないが、ここではFBXに統一した。)どっかで拾ってくるか、モーキャプデータを使う。
モーションのFBXをAssetsにD&Dし、同様にInspectorウィンドウのRigタブのAnimation TypeをHumanoidに変更し、その下のApplyを押す。これで、ポリゴンモデルとモーションが人型として認識され、対応付けできるようになる。(もしかしたら骨の名前が変だと、骨の名前解決で失敗する可能性がある)
AssetsのFBXモーションの中にある三角のアイコンを見つける。
UnityのWindowからAnimatorウィンドウを表示させ、PlayerArmatureのアニメーションの遷移図を表示する。
先の三角アイコンを遷移図にD&Dする。追加された長方形を右クリックし、set as default stateにして、実行すれば、とりあえず、キャラクタがアニメーションするのを確認できる。
備考
以下の古い情報はいろいろ使えなくなってた。
※Adobe Fuseはサービス終了
※Mecanim Locomotion Starter Kitはもうない
※Standard Assets(for Unity 2018)はエラーが出る
※Mecanim Animation Starter Pack?