- Windows 11
- Unity 2022.3.22f1
記事投稿日: 2025年9月30日(火)
最終更新日: 2025年9月30日(火)
VRChatのアバターに取り付けたオブジェクトにアニメーションを設定します。 今回は前回作成したCubeを回転させるアニメーションを作成してみます。
また、この記事を書くにあたって下記の記事を参考にさせていただきました。
【VRChat】武器を振り回したい!前回はModular Avatarを使ってオブジェクトの表示と非表示を切り替えました。
【VRChat】Modular Avatarを使ってアバターのオブジェクトの表示と非表示を切り替えるまた、アバターはニコニコのアリシア・ソリッドの3Dモデルを使用しています。
公開されているVRMモデルをVRChatで動かすプロジェクトのAssetsフォルダ(任意の場所)で右クリックして「Create」から「Animation」を選択してアニメーションを作成します。
作成したアニメーションに名前を付けておきます。 何でもよいですが私は「RotateCube」にします。
RotateCubeアニメーションをクリックしてインスペクター画面で「Loop Time」にチェックを入れておきます。これでアニメーションがループします。
次にRotateCubeアニメーションを自分のアバターにドラッグ&ドロップして、アニメーションをアタッチします(適応させる)。 この時自動的にCube用のアニメーションコントローラが作成されます。
RotateCubeアニメーションをダブルクリックしてAnimationウィンドウを開きます。 そこで選択中のアニメーションが「RotateCube」になっていることを確認してから、 「Add Property」をクリックして、 Cubeの「Transform」の「Rotation」の「+」(プラスマーク)をクリックします。 これでCubeを回転(Rotation)させるアニメーションを設定できます。
このアニメーションでは0.0秒~1.0秒の間のCubeの回転を設定してループさせます。 「Cube:Rotation」をクリックするとRotation.x、Rotation.y、Rotation.zの値を入力できるので、0.0秒の時と1.0秒の時の回転角度を入力します。
まず0.0秒(0フレーム目)の時はxyzの値はそれぞれ0とします。 つまりCubeの回転角度はすべて0度です。
次に右側のタイムラインの白い線を1.0秒(60フレーム目)に移動させます。 1.0秒の時のRotation.yの値を360度(ちょうど一回転する角度)とします。 この設定によりCubeは1秒間でY軸まわりに一回転します。
デフォルトの状態だと回転速度が等速ではないので、ウィンドウの下にある「Curves」を選択して、デフォルトのカーブを直線に修正します。 カーブの開始地点と終了地点をそれぞれクリックして曲がり具合を調整できます。
アニメーションウィンドウで再生ボタン(三角マーク)を押すとアニメーションが再生されます。 Cubeがほぼ等速で回転していることが分かります。
以上でアニメーション作成は完了したのでいつもの方法でVRChatへアバターをアップロードします。
VRChatでもアバターの頭上でCubeが回転していることが確認できました。
おまけとしてCubeの大きさを変えてみるとより回転具合が分かりやすいです。
以上です。
今回はUnityでアニメーションを作成してVRChatのアバターのオブジェクトに動きをつけてみました。 アニメーションの機能はあまりVRChatとは関係なくUnityの機能ではありますが、 VRChatでも使えるおもしろいギミックだと思うので使いこなしていけたら良いかなと思います。 それでは、また。
各シリーズの記事を下記にまとめてあります。