見出し画像

UnityでVRMアプリ開発する時用メモ

ふと突然、VRMアプリを開発したくなる。そんな時って、ありますよね?私はあります。なのでそういう時の為に自分用メモを残しておきました。

VRMアプリ開発に必要なもの
・UniVRM(VRMを読み込むのに必要)

記事を書いた時点ではUniVRM-0.107.0_1e8a.unitypackageが一番新しいものでした。

・Unity Standalone File Browser(ダイアログからVRMを読み込むのに必要)

・LoadModel.cs(これをボタンにアタッチして呼び出す)

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UniGLTF;
using VRM;
using VRMShaders;
using SFB;

public class LoadModel : MonoBehaviour
{
    RuntimeGltfInstance instance;
    public string path;
    async void Load()
    {
        this.instance = await VrmUtility.LoadAsync(path, new RuntimeOnlyAwaitCaller());
        // this.instance.EnableUpdateWhenOffscreen();
        this.instance.ShowMeshes();
    }



    public void OnClick()
    {
        // フィルタ付きでファイルダイアログを開く
        var extensions = new[]
        {
        new ExtensionFilter( "VRM Files", "vrm" ),
        new ExtensionFilter( "All Files", "*" ),
        };
        string[] paths = StandaloneFileBrowser.OpenFilePanel("Open VRM File", "", extensions, false);

        Debug.Log(paths[0]);

        path = paths[0];
        Load();     
    }
}

上記のスクリプトを適当なボタンから呼び出すとVRMが呼び出せます。

自分用覚書なのでここまで。
TRPGのオンラインセッションで使うコマ用にモーション付きループアニメapngを出力するアプリを作っています。

この記事が気に入ったらサポートをしてみませんか?