このチュートリアルでできること
・VRoid Studioで作成したアバターをUnityに取り込む
・Mixamoのアニメーションを設定する
・スクリプトでの操作とカメラ制御
必要な素材とツール
| ツール・素材 | ダウンロード先 |
|---|---|
| VRoid Studio | https://vroid.com/studio |
| UniVRM パッケージ | https://github.com/vrm-c/UniVRM/releases (VRM 0.x系) |
| Mixamoアニメーション | https://www.mixamo.com/#/ (Idle & Walking) |
VRoid Studio はこだわりがなければ 「AvatarSample」 をエクスポート!



UniVRM は VRM 0.x系 で最新バージョンをダウンロード

Mixamo設定
Idle


- Arm-Space:60(少し広めがおすすめ)
- Trim:0 〜 100
- Download Format:
FBX for Unity/With Skin/30 FPS/None
Walking

- Arm-Space:60(少し広めがおすすめ)
- Trim:0 〜 100
- In Place:✅ チェック
- Download Format:
FBX for Unity/With Skin/30 FPS/None
Unity プロジェクト作成
Unity設定(Unity6 LTS 推奨)
- Unity Hub (6000.0.23f1 使用) → 新規プロジェクト → テンプレート「Universal 3D」を選択
- メニューバー →
Assets > Import Package > Custom Package...→ ダウンロードしたUniVRM パッケージをインポート



VRoidアバターの読み込み
Assets内にAvatarフォルダを作成- vrm ファイルをドラッグ&ドロップ
- 自動でPrefab化されるので、それを
Hierarchyにドラッグしてシーンに配置




アニメーションの設定(Mixamo)
アニメーション読み込みと設定
Assets内にAnimationフォルダを作成- Idle / Walking の
.fbxをドラッグ&ドロップ - 各
.fbxを選択し、Inspectorで以下を設定:Rig > Animation Type > HumanoidAnimation > Loop Timeにチェック



Animator Controller 作成
Assets > Animation内で右クリック →Create > Animation > Animator Controller→WalkingAnimatorと命名- ダブルクリックして
Animatorウィンドウを開く

3. Parameters → + > Bool → IsWalking を作成


4. Idle / Walking をAnimator ウィンドウ内にドラッグ&ドロップ

5. Idle → Walking、Walking → Idle に それぞれMake Transition

6. Idle, Walking をそれぞれクリックし、以下の条件に設定する ↓
条件設定(Transitions)
| Transition | Has Exit Time | Condition |
|---|---|---|
| Idle → Walking | ❌(チェックを外す) | IsWalking = true(+を押しtrueに変換) |
| Walking → Idle | ❌ | IsWalking = false |


アバターにAnimatorを設定
Hierarchyのアバターを選択Inspector > Animator > ControllerにWalkingAnimatorを割り当て

スクリプトの実装
スクリプトの追加
Assets内にScriptsフォルダを作成Assets > Scripts内で右クリック →Create > MonoBehaviour Scriptを選択 →,AvatarMovementControllerAvatarMovementControllerと命名- それぞれの
.csファイルをダブルクリックし、以下の2つのスクリプトをコピーして保存(プログラムの解説はコメントに記載)
| スクリプト名 | 役割 |
|---|---|
| AvatarMovementController | アバターの移動制御 |
| AvatarCameraFollow | 自分のアバターにカメラを追従 |


AvatarMovementController.cs
アバターの移動制御
using UnityEngine;
public class AvatarMovementController : MonoBehaviour
{
private Animator animator;
void Start()
{
// Get the Animator component attached to the avatar
// アバターにアタッチされているAnimatorコンポーネントを取得
animator = GetComponent<Animator>();
}
void Update()
{
// Get horizontal (left/right) and vertical (forward) input values
// 水平方向(左右)および垂直方向(前進)の入力を取得
float h = Input.GetAxis("Horizontal");
float v = Input.GetAxis("Vertical");
// Determine if the avatar is walking (any movement key is pressed)
// 移動キーが押されているかどうかで「歩行中」かを判定
bool isWalking = Mathf.Abs(h) > 0.1f || Mathf.Abs(v) > 0.1f;
// Pass walking state to the Animator
// 歩行状態をAnimatorに伝える(アニメーション切り替え)
animator.SetBool("IsWalking", isWalking);
// Rotate the avatar based on left/right input
// 左右キーに応じてアバターを回転
transform.Rotate(0, h * 100f * Time.deltaTime, 0);
// Move the avatar forward if up key is pressed
// 上キーが押されたらアバターを前進させる
if (v > 0)
transform.Translate(Vector3.forward * 2f * Time.deltaTime);
}
}AvatarCameraFollow.cs
自分のアバターにカメラを追従
using UnityEngine;
public class AvatarCameraFollow : MonoBehaviour
{
void Start()
{
// Create a new camera object named "PlayerCamera"
// 新しいカメラオブジェクト「PlayerCamera」を作成
GameObject camObj = new GameObject("PlayerCamera");
// Add Camera component to the object
// カメラ機能を付与するためCameraコンポーネントを追加
Camera cam = camObj.AddComponent<Camera>();
// Set the avatar as the parent of the camera
// アバターを親オブジェクトにしてカメラを追従させる
camObj.transform.SetParent(transform);
// Position the camera behind and above the avatar
// カメラの位置をアバターの後ろ&上に設定(追従視点)
camObj.transform.localPosition = new Vector3(0, 2, -3);
// Tilt the camera slightly downward
// カメラをやや下向きに傾けて自然な視点にする
camObj.transform.localRotation = Quaternion.Euler(13, 0, 0);
}
}アタッチ手順
- アバターを選択 →
Inspector > Add Component→AvatarMovementControllerAvatarCameraFollowを追加


実行して確認
▶️ Playを押す- Gameビューで以下を確認:
| 操作 | 動作 |
|---|---|
↑ | 前進(Walking)アニメーションが再生 |
← / → | 左右に回転 |
| 無入力 | Idleアニメに戻る |
| 視点 | アバター背後から自動追従カメラで表示される |

この時、Hierarchy 内で右クリック → Create > 3D Object > Planeを選択し、Planeをフィールド内に作成しておくと、操作感がわかりやすいです!

まとめ
このチュートリアルでは、以下の構成でVRoidアバターを操作可能にしました!
・VRoid Studioで作成したアバターをUnityに取り込む
・Mixamoのアニメーションを設定する
・スクリプトでの操作とカメラ制御
次回はこのアバターをマルチプレイヤー対応させるためのPhoton活用法をご紹介します!
