Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Unity WebXR ExporterでVR刺身タンポポを動かしてみた / Challeng...
Search
korinVR
April 27, 2020
Technology
4
16k
Unity WebXR ExporterでVR刺身タンポポを動かしてみた / Challenge to use Unity WebXR Exporter for VR Sashimi Tanpopo
korinVR
April 27, 2020
Tweet
Share
Other Decks in Technology
See All in Technology
開発生産性を組織全体の「生産性」へ! 部門間連携の壁を越える実践的ステップ
sudo5in5k
1
1.7k
Tokyo_reInforce_2025_recap_iam_access_analyzer
hiashisan
0
150
AWS認定を取る中で感じたこと
siromi
1
120
なぜ私はいま、ここにいるのか? #もがく中堅デザイナー #プロダクトデザイナー
bengo4com
0
1.3k
AWS テクニカルサポートとエンドカスタマーの中間地点から見えるより良いサポートの活用方法
kazzpapa3
3
620
ハッカソン by 生成AIハッカソンvol.05
1ftseabass
PRO
0
150
SpringBoot x TestContainerで実現するポータブル自動結合テスト
demaecan
0
130
生成AI時代 文字コードを学ぶ意義を見出せるか?
hrsued
1
750
MUITにおける開発プロセスモダナイズの取り組みと開発生産性可視化の取り組みについて / Modernize the Development Process and Visualize Development Productivity at MUIT
muit
1
3.6k
より良いプロダクトの開発を目指して - 情報を中心としたプロダクト開発 #phpcon #phpcon2025
bengo4com
1
3.2k
事業成長の裏側:エンジニア組織と開発生産性の進化 / 20250703 Rinto Ikenoue
shift_evolve
PRO
2
5.5k
Tech-Verse 2025 Global CTO Session
lycorptech_jp
PRO
0
1.3k
Featured
See All Featured
The Invisible Side of Design
smashingmag
300
51k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
Git: the NoSQL Database
bkeepers
PRO
430
65k
Typedesign – Prime Four
hannesfritz
42
2.7k
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
130
19k
Docker and Python
trallard
44
3.5k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.5k
Done Done
chrislema
184
16k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
8
680
Product Roadmaps are Hard
iamctodd
PRO
54
11k
YesSQL, Process and Tooling at Scale
rocio
173
14k
Transcript
Unity WebXR Exporterで VR刺身タンポポを動かしてみた こりん(@korinVR) WebXR Tech Tokyo #0 @
cluster 2020/04/27
自己紹介 本名 古林 克臣(こばやしかつおみ) ハンドル こりん(@korinVR) 職業 Unityエンジニア 所属 株式会社エクシヴィ
主な個人VR作品 - 3D駐車シミュレーター - VRちゃぶ台返し - パラレルパラソル(仮) - VR刺身タンポポ etc...
今日の題材 VR刺身タンポポ
VR刺身タンポポをQuestでリリースしたい 流れてくる刺身にタンポポをのせるだけの簡単なお仕事 イベントで展示したり、Windows実行ファイルを配布 本当はOculus Storeできちんと出したい ストアがゲーム機並みに厳しくこんなネタアプリは通らない WebXR!
WebXR版の実現方法 最初はA-FrameとA-Frame Physicsを使って ゼロから作り直すつもりだった……が 4月8日、MozillaのUnity WebXR Exporterが 突然のメジャーアップデート
WebXR版の実現方法 ブログエントリを読んだらQuestへの言及がある! ので、試しに使ってみることに
Unity WebXR Exporterについて UnityのWebGL出力をWebXR APIでVRに対応させる Asset StoreとGitHubにある。ドキュメントはGitHub参照
Unity WebXR Exporterの使い方(概略) 1. Universal Render Pipelineの新規プロジェクトを作成 2. Virtual Reality
Supportedをオン 3. プラットフォームをWebGLにする 4. Unity WebXR Exporterをインポート 5. InputManager.assetを入れ替え 6. Main Cameraを削除してWebXRCameraSetを配置 7. WebGL Templateをアセット付属の「WebXR」に設定 これでビルドすればオーケー!
注意:WebXR APIはHTTPSが必要 Build & Runで起動するローカルHTTPサーバーでは 正常に動作しない npmの http-server -S 等で動かす必要あり
(下記ページを参考に) node.js - npm http-server with SSL - Stack Overflow https://stackoverflow.com/questions/35127383/npm-http-server-with-ssl
ビルドしたアプリをウェブで公開するには HTTPSのウェブサイトを立ち上げる 今回はAWS Route 53でドメインを新規に取得し、 S3+CloudFront+Certificate Managerを使用 UnityでWebGL出力したフォルダをまるごと aws s3
sync コマンドでアップロード・更新 サイズが大きいのでバズる可能性があるなら転送料金に注意
Oculus Questでの動作画面
動作の所感
Oculus Questでの動作:起動時間 VR刺身タンポポの場合、WebGL出力のサイズは12MBほど ページを開いて起動に約20秒かかる おそらくほぼWebAssemblyのパース・コンパイル時間 将来的にはPCブラウザ同様 数秒で起動するようになるはず ロード画面を調整したほうがよさそう
Oculus Questでの動作:フレームレート フレームレートが低い(20~30fpsくらい?) Issueが立っていて、フォークされているバージョンでは 改善されているという話も。おそらく一時的な不具合
Chrome 81での動作 chrome://flags の下記設定でVRモードに入れる ……がヘッドセットの中に何も映らない(Rift SもViveも) (何か間違ってる気がする)
Firefoxでの動作 VRのパーミッションをRememberをチェックして 記憶させてからページをリロードする必要がある……。
現在のステータス: とりあえずQuestでは動く……! 何かcontributeしたいですね
Unity WebXR Exporterの注意点
注意1:WebXRCameraSetについている手 Takeモーションで指3本を曲げるだけの単純なもの WebXRCameraSet単体だと、トリガーの状態に関わらず Takeが再生されて指3本が曲がった状態で固定されてしまう →DesertControllerInteraction.cs を参考に解決 たぶん手は自前で 用意したほうがいい
注意2:コントローラーの角度 Unity上で実行したときと、ブラウザで実行したときで コントローラーの角度が大きく違う プラットフォームを判定してずらす必要がありそう
注意3:シーンロードしないこと SceneManager.LoadSceneでシーンを遷移・リロードすると VRモードが解除される=止まってしまう VR刺身タンポポではリスタート時にシーンリロードしていた LoadSceneせずに初期状態に戻るように書き直した 基本1シーンで作る必要がありそう
注意4:WebXRCameraSetの名前を変えない 動かなくなる。エディタで実行すると下記エラーが出る The webxr.js script requires the WebXRManager gameobject to
be named WebXRCameraSet for proper functioning UnityEngine.Debug:LogError(Object) WebXR.WebXRManager:Awake() (at Assets/WebXR/Scripts/WebXRManager.cs:110)
Oculus QuestでVR刺身タンポポ 試してみたい?
Questのブラウザを開いて、アドレスバーに バーチャルキーボード右下の「.com」キーを使うと楽です! 遊んでみてね! アプデしていきます! vrsashimi.com Oculus QuestでVR刺身タンポポ こりん(@korinVR)