まだ死んでない

なんか作ったり作らなかったりしたいです。

VRMお人形遊び向けアセットバンドルの作り方

〇概要

VRMお人形遊び
https://120byte.booth.pm/items/1099618
でアセットバンドルを読み込めるようにして、強引にアニメーション&曲再生に対応させたので、そのためのアセットバンドルの作り方を書きます。

〇作り方
※Unityのバージョンは2018.4.0f1です。

アニメーションの動作確認用に何等かのVRMモデルを読み込みます。(VRMモデルの読み込みにはUniVRMが必要です。)


アニメーションコントローラを「Controller」という名前で作成します。


VRMモデルのアニメーターのコントローラに先ほど作成したものを付けて、アニメーションウィンドウからアニメーションクリップを作成します。たぶんですが、作成済みのアニメーションクリップをコントローラに入れても動くと思います。(アニメーションクリップの名前は何でも大丈夫です。)


アニメーションウィンドウの左側のボタンを押して、アニメーターから動かしたい部位を追加します。


タイムラインにキーを打って値を設定します。この時点でUnityの再生ボタンを押せば動きが確認できるはずなので、所望の動きになるまで頑張ります。軽く丸まったようになるのはUnityの持病なので諦めてください。


動きが出来たら曲や効果音を追加します。空のゲームオブジェクトを作成して、オーディオクリップを付ければ自動的にオーディオソースが付いて便利です。必要に応じてボリューム調整やループ設定を行います。


作成したゲームオブジェクトをprefabにします。名前は「GameObject」にする必要があります。インスペクターからプロジェクトにドラッグアンドドロップするとprefabになって便利です。


アニメーションと音に関するファイルを全て選択し、一番右下端からアセットバンドルの名前を付けます。この名前は何でも大丈夫です。


アセットバンドルはビルドする必要があるので、エディタ用のスクリプトを追加します。スクリプトは以下をコピペして使ってください。※なお、このスクリプトはAssets/Editor/に入れないと動きません。

using UnityEngine;
using UnityEditor;
public class NewBehaviourScript : MonoBehaviour
{
[MenuItem("Example/Build Asset Bundles")]
static void BuildABs()
{
BuildPipeline.BuildAssetBundles("Assets/ABs", BuildAssetBundleOptions.None, BuildTarget.StandaloneWindows);
}
}
参考
https://docs.unity3d.com/ja/current/ScriptReference/BuildPipeline.BuildAssetBundles.html


前述のスクリプトを追加するとExample/Build Asset Bundlesというメニューが出てくるので、Build Asset Bundlesからビルドします。※ビルド先はAssets/ABsになっているので、ABsフォルダを作っておきます。



ビルドできたファイルをエクスプローラで開いて、拡張子として*.abを付けてあげたら完成です。


完成したファイルをVRMお人形遊びのANIフォルダに入れたら使えます。