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 | ゲーム製作の関連記事