fc2ブログ

せつめいしょ

このブログは未確認飛行物体てねひむが主に模型やらフィギュアやらを作ったりブブンドドしたりキャッキャウフフしたりするブログになる予定地

続きを読む

スポンサーサイト



BOLTでVRMを読み込めるゲームを作ろう!

今日は眠いので記事を書きます。

ドワンゴが作ったVRMというキャラクターファイル形式が流行りそうな気配なので先に流行りに乗りたい。

試してみる
こちらでunityパッケージとかいろいろ公開されています。
リンクをたどってUniVRM-RuntimeLoaderSampleとやらをダウンロードしてunityにインポートします。
自分がダウンロードした時のバージョン(UniVRM-RuntimeLoaderSample-0.43_4725.unitypackage)

中を開いてVRM.Samplesフォルダの中のScenesフォルダにサンプルシーンが入ってるので中を見てみましょう
(上記画像は自分が試しに作ったものも入ってます。)

VRMRuntimeLoaderSample
Load VRMでVRMファイルを読み込むとTポーズのキャラが出てきます。

VRMViewer
読み込んだキャラが勝手に動いたりするサンプルシーン


作りとしてはVRMRuntimeLoaderSampleのほうが理解しやすい気がするので、VRMRuntimeLoaderSampleをベースに改造していきます。

VRMを読み込んでプレイヤーキャラクターとして扱う
VRMRuntimeLoaderSampleシーンのなかで、VRMを読み込んだ時に何が起きているのかを軽く見ていきます。
VRMを読み込む前

VRMを読み込んだ後

VRMファイルを読み込むと、シーンのHierarchyのなかにVRMという名前のゲームオブジェクトが追加されたことが確認できます。
こいつがキャラクターデータの正体なので、こいつをサードパーソンキャラクターの子供にしたりアバターの設定をしてやればプレイヤーキャラとして扱えるわけです。
しかし上記のやり方だとゲームの起動前に各種設定をしなければならず、今回の場合はVRMを読み込んだ後、つまりゲーム起動中に設定をする必要があるので、手作業でやっていたものをなんとかしてスクリプトで作業する必要がある。

BOLTを利用してランタイムでVRMをいじくる
ランタイム、走る時間、つまりはゲーム実行中。

事前準備として、シーンにスタンダードアセットのThirdPersonControllerを読み込んでおきます。



C#スクリプト無限にわからんのでBOLTさんの出番です。

用意したThirdPersonControllerゲームオブジェクトのなかに、BOLTのFlow GaphをEmbedで追加します。