このチュートリアルでできること
・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 > Humanoid
Animation > 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
を選択 →
,AvatarMovementController
AvatarMovementController
と命名- それぞれの
.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
→AvatarMovementController
AvatarCameraFollow
を追加


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

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

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