VRChat Gaussian Splattingを使ってScaniverseのデータをVRChatに上げてみる。
少し前ですが、簡単にGaussian SplattingがVRChatに移植できるようになる『VRChat Gaussian Splatting』というのが出ました。
以前は色々使ってVRChatに移植してましたが、いまいちだったというのもあり、改めてこのツールを使って移植してみようじゃないか……と思います。
以前の記事↓
制作にあたり、こちらのブログも参考にしました。
データの用意
最近何スキャンしてたっけ……と思ってデータを漁ります。
オグリキャップ。(Android)

下呂の招き猫『ジェームズ五郎兵衛Jr.』(Android)

うちの犬。(iPad Pro)

この辺で行きます
ワ―ルドの準備
VCC経由でプロジェクトを作成し、リリースページからダウンロードしたunityパッケージを入れます。
error CS0227: Unsafe code may only appear if compiling with /unsafe. Enable "Allow 'unsafe' code" in Player Settings to fix this error.
このようなエラーがでたので
Project Settings>Player>Other Settings
から Allow'unsafe'Codeにチェックを入れます。

これで準備は完了です。
Example Sceneがあったので見てみます。
こんな感じ。

この写真を押すと風景が切り替わります。シーン的には単純に表示/非表示を切り替えてるだけの様子。

余談
余談ですが、この庭めっちゃ見覚えある……

と思って確かめたらやっぱりMeta QuestでGaussian Splattingが見られるアプリ『Gracia』のサンプルシーンと同じところだこれ!


こちらのアプリも凄いので(謎の技術でGaussian Splattingが動く)是非お試しください。
ワ―ルド作成(トラブルシューティング)
メニューにInport PLY Splatがあります。ここからファイルを入れられます。

怒られました。つらみ。

どうやらフォルダ選択をした際に、そのままのパスだと失敗するらしい。C:/Users~/Assets/hogeだとダメで、Assets/hogeだとOK。
こんな感じで出てきます。モデルじゃなくてメッシュなので、そのままHierarchyに入れることはできませんでした。

ブログを見ていると、サンプルのオブジェクトのマテリアルを変えるだけで行けるっぽいので、やってみました。

出来はしたけど……
なんか君写真とちがくない?
外から見るとこんな感じ。

サンプルはこれだけ。

おそらくなんですが、前回にも遭遇したScaniverseのPLYに出てくる球状の点群が悪さをしてる気がします。

これはやっぱり取り除かないとダメなのか~~~というあきらめがありますが、やるしかないな……
Blenderで単純に取り除き、そのままplyでエクスポートしたものを再度インポートしてみました。出来はしたけどなんか薄い……

う~~ん。
同じ事象に遭遇してる人はいるようですが、再インストールでできた、サンプルシーンのオブジェクトをコピペで出来たという感じで、あまり有力な情報はなさそう。
自分も一度プロジェクトを作り直しまして、サンプルシーンのフォルダを編集し、実行したら見えるようになりました。
でも元からある4つのサンプルをコピーして出そうとするとスカスカ。

どうやら、Gaussian Splat RendererのSplat Objectsに登録してないとダメな様子。何かここで処理してるみたいですね。

調べてみたところSplatの描画順を制御しているらしいです。それが出来ないからスカスカになるのかな。
また、過程で分かったのですが、
シーンを実行しないと(編集画面・ゲーム画面に関わらず)スカスカになるようです。
Update関数とかで制御してるので、そりゃそうだと納得。
そして仕組みを考えると、アバターに仕込むとかは出来なさそうですよね。
ワ―ルド完成
というわけで、一旦サンプルを改造したものでワールド作成。
前回の記事のように近づくと見えないこともなく、良い感じです。
こちらにおいたので見てみてね。
