11.2K Views
February 01, 25
スライド概要
吉祥寺.pm37のLTスライドです。
ぼくの考えた最強のVRアーキテクチャ korinVR(@korinVR) 吉祥寺.pm37
自己紹介 本名 ハンドル 職業 備考 古林 克臣(こばやしかつおみ) korinVR(@korinVR) 株式会社フレームシンセシス 代表取締役 東京大学先端科学技術センター 学術専門職員(稲見・門内研) 日本バーチャルリアリティ学会 正会員 上級バーチャルリアリティ技術者
略歴(VR関連) 2013年にOculus Riftの開発者向けバージョンを入手 個人でVR作品を自主制作していたら本業になってVRのお仕事を10年間 2015-2019 株式会社ハシラス 施設向けVRアトラクション制作 2019-2022 株式会社エクシヴィ Meta Questアプリ開発 Webブラウザ用メタバースシステム開発 2022-現在 株式会社フレームシンセシス VRの受託開発全般
前提:VRの受託開発ってどんな仕事してるの? 会社によりますが、弊社の代表的な4パターンを
パターン1:VRゲーム Meta Questの公式ストアやSteamで通常のアプリとして配信 ※これ(VR刺身タンポポ)は自主制作ですが例として
パターン2:展示用VRコンテンツ 主にイベントや展示会で体験してもらうコンテンツの制作 特殊な機材等を組み合わせることも
パターン3:いわゆるメタバース的なもの 主にWebブラウザで閲覧できる3Dウォークスルー UnityのWebGLビルドに加えてNext.js等でWebサービス化することも マルチプレイヤーの場合も多い
パターン4:マルチプレイヤーのVR体験 複数名(多いと8人以上)が同じ空間でVR/MRコンテンツを一緒に体験 施設向けエンタメ・企業向けVRトレーニング・研究機関のVR実験等 インターネット接続がないことも多くその場合ローカルネットワークを組む
こうしたいろんなあれこれを やってるけど…
案件ごとに全部ゼロから作ってると大変 小さな会社で開発リソースがないので… Unityで共通フレームワークを作ろうと考えた 「今来ている案件相談を共通基盤を作ってまとめて倒したい」 (設立3ヶ月あたり) 想定ユースケースを一通り洗い出し 設計の方針やロードマップ フレームワークの寿命(何年使うか) 等を整理して文書化
VRのプロジェクト間で共用できるところ アバターがある VRMやその他の3Dモデルを読み込んでプレイヤーやNPCとして使用できる 通常のアニメーション移動やモーション再生ができる VRヘッドセットのトラッキングやコントローラーでの操作・移動ができる リップシンク(uLipSync使用)等ができる ワールドの概念(VRChatのような)があると便利 シーンデータをS3/R2にアップロード・実行時に読み込みができる ポータルでシーン間の行き来ができる その他 自動ビルド、2D/3DのUI切替、サウンド管理等便利なユーティリティ
VRのプロジェクト間で異なるところ 対応プラットフォーム Webブラウザ(※非VR) iPhone/Androidアプリ(※非VR) Meta Quest Steam VR Vision Pro等 マルチプレイヤー実装 シングルプレイヤー マルチプレイヤー クラウドサービス(複数) ローカルネットワーク ボイスチャットサービス 移動方法 2D画面のキーボード・マウス移動 VRヘッドセットのコントローラーでの移動 カメラワーク 一人称視点・三人称視点・俯瞰視点その他
「XRシンセシス®」構成図 Unityプロジェクトを開く前にProject Configuratorで構成を変更 DIライブラリ(VContainer)でVRヘッドセットのSDKやマルチプレイヤーの実装を注入 GitHub Actionsで対応全プラットフォームに自動ビルドして動作する状態を維持
今のところそれなりに上手くいってる 案件相談を受けたら「それXRシンセシスでできるよ」と すでに動作しているプロジェクトをフォーク、構成をカスタムして開発開始 =Day 1から最初のバージョンが動いてCI/CDも完備 upstreamからのマージがそれなりに大変な場合があり解消していきたい この2形態が同一基盤なのはちょっと面白い(普通にマルチプレイヤーで繋がる)
今後の課題 まだやりたいことは無限にあります こうやってフレームワークを育てていっても そもそもVRのお仕事自体が多いわけではない 盆栽のように育てつつ小ぢんまりと続けていければとは思ってますが きちんと商売しないとと思いつつ不得意かも
マネタイズ 上手な人を 真似たいず korinVR(@korinVR)