前回 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件の返信