VRoidで作ったキャラをUnityのアニメーションを適応してみるよ

    クロ 前回
VRoidで作ったキャラをUnityで表示させる
記事を書きました

VRoid頑張ってます。Unityにも反映してみました。

今更だけど
モバイル環境で作ったデータはPCで編集出来ないんだね
PC⇔モバイルと情報をやり取りできるわけじゃないのね
霊夢
魔理沙 あくまでもVRoid Hubにアップできるだけであって
シームレスで編集できるわけじゃないんだな
今後こういうのが共有できるようになるといいな
今回は
VRoidStudioからUnityへ取り込んだあとのアニメーションを適応してゲームを作っていく
段階になります。
妖夢

Unityへの反映は前回記事を見てね

    クロ Unityで
VRMを取り込んだところから話を進めていきます
Unityへ反映させる方法は前回の記事をご参照ください

VRoid頑張ってます。Unityにも反映してみました。

モーションを反映させるための前準備

AnimatorControllerを作成する
アニメーションを管理する
AnimatorControllerを作成するわ
まずはUnityのProjectビューを操作するわ
霊夢

魔理沙 プロジェクトビューで左クリック、メニューを出して
Create→AnimatorContrillerを選択すると作成されるぞ
ファイル名は適当に好きな名前を設定してくれ

先程作ったAnimatorContrillerをVRoidで作ったモデルに反映させます
まずはUniVRMでできたPrefabをクリックしてInspectorビュー
にUniVRMでできたPrefabの詳細を表示させます
妖夢
モデルにAnimatorContrillerを適応する

    クロ Inspector上の
Animator項目のControllerに先程作ったAnimatorContrillerをドラッグ・アンド・ドロップで適応します
ここでは「Kuro_AnimatorContriller」というのを登録しています

アニメーションを取得する

アセットストアから適当なアニメーションを取得する
アニメーションは
ここで紹介するもの以外でも適応可能なので
各自好きなものを使ってもいいわ
霊夢

魔理沙 ここでは、この無料で使用することができる
Basic Motions FREE Packを使っていくぞ
このモーション、男性向けモーションなのでちょっと女性には使いにくいかもな
アセットストアからのダウンロードとかは割愛しますね
画面上でダウンロード、Projectに適応もできるから
説明もいらないかもしれませんね
妖夢
アニメーションを使える状態にしていく(Read Only対策)

    クロ アニメーションのアセットをダウンロードしたとき
上のようなPrefabの中に入った状態になっていて
ReadOnlyで編集できない場合が多いです
そこで、この上の画面の状態のように
アニメーションファイルを選択した状態で「Ctrl+D」を押すことで
ファイルが複製されるので、編集可能となります。
霊夢
アニメーションファイルを設定していく

魔理沙 まず、前のAnimatorContrillerを設定するときのように
Hierarchyビューのモデルをクリックして選択状態にするぞ

選択した時に
Animatorビューを開くとこの様にな画面が出てきます
本来なら[Any State][Entry][Exit]の3つのみの表示になります
妖夢
    クロ この画面から
Projectビューにあるアニメーションファイルをドラッグ・アンド・ドロップして適応していきます
アニメーションを切り替える処理を追加する
そして以下のソースコードを追加してね
これをUniVRMでできたPrefabに追加するわ
ここももっといいやり方あるだろうけど……
霊夢
/// <summary>
/// アニメーション管理
/// </summary>
public class PlayerAnimationManager : MonoBehaviour
{
    /// <summary> キャラのアニメーション管理 </summary>
    public Animator _CharacterAnimator = null;
    /// <summary>
    /// 待機アニメーションに切り替える
    /// </summary>
    public void SetIdleAnimation()
    {
        _CharacterAnimator.Play("BasicMotions@Idle01", 0);
    }
    /// <summary>
    /// 歩きアニメーションに切り替える
    /// </summary>
    public void SetWalkAnimation()
    {
        _CharacterAnimator.Play("BasicMotions@Walk01", 0);
    }
    /// <summary>
    /// 走りアニメーションに切り替える
    /// </summary>
    public void SetRunAnimation()
    {
        _CharacterAnimator.Play("BasicMotions@Run01", 0);
    }
}

※冬月の動画ではこれにもっと手を加えてます。

魔理沙 作ったソースファイルを
UniVRMでできたPrefabに追加してくれ
Hierarchyにドラッグ・アンド・ドロップで大丈夫だ

追加するとこんな感じでAnimatorを設定できるようになるので
AnimatorContrillerをドラッグ・アンド・ドロップで適応します
妖夢
    クロ これを実行時に行わないと
実行時にエラーで動かないので注意してください
この処理は
ボタンとかに関数を登録して押した時にそのアニメーションに切り替えるのを想定しているので
ボタンとかの追加は各自行ってね
霊夢
魔理沙 SetIdleAnimation()、SetWalkAnimation()、SetRunAnimation()
などの各関数をButtonなどのInspectorのEvent登録すればアニメーションが再生するぞ

VRoidをアニメーションさせたらこうなりました

動画で撮ってみました

まとめ
アニメーションの適応も
他のアセットストアからダウンロードしたモデルとほぼ一緒なので
すごく扱いやすいですね。
妖夢
クロ ゲームにも反映させやすいので
cVRoidでゲームキャラを作ってそれでゲームを作っても良さそうですね
ちょっとゲーム制作が楽しくなってきました


後白河 天娘【VRoid Hub】

VRoidに自分の作ったモデルをアップしています!

“VRoidで作ったキャラをUnityのアニメーションを適応してみるよ” への2件の返信

気軽にコメントをどうぞ!

この記事に関すること冬月に聞きたいこと等、小さいことでもコメントしていただける嬉しいです。
冬月に直接連絡したい方は下のお問合せフォームをお使いください。(メール送信されます)

内容に問題なければ、下記の「コメントを送信する」ボタンを押してください。
※メールアドレスは公開されることは有りません。


The reCAPTCHA verification period has expired. Please reload the page.

Android | iOS | PC | Unity | ゲーム製作の関連記事