|      | 
前回 VRoidで作ったキャラをUnityで表示させる 記事を書きました  | 
| 今更だけど モバイル環境で作ったデータはPCで編集出来ないんだね PC⇔モバイルと情報をやり取りできるわけじゃないのね  | 
| あくまでもVRoid Hubにアップできるだけであって シームレスで編集できるわけじゃないんだな 今後こういうのが共有できるようになるといいな  | 
| 今回は VRoidStudioからUnityへ取り込んだあとのアニメーションを適応してゲームを作っていく 段階になります。  | 
もくじ
Unityへの反映は前回記事を見てね
|      | 
Unityで VRMを取り込んだところから話を進めていきます 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件の返信