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フォルダに入れたら使えます。
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フォルダに入れたら使えます。