Three.jsで大学をVR化した
by
Hamaria
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Three.jsで大学をVR化した 静大xR同好会はまりあ(@xR_Hamamatsu)
Slide 2
Slide 2 text
これまでの活動 Unity勉強会 Blender勉強会
Slide 3
Slide 3 text
これまでの活動 Clusterでの新歓イベント
Slide 4
Slide 4 text
これまでの活動 VRChatやNeosVRの風景を生配信
Slide 5
Slide 5 text
今回発表するもの https://xr-hamaria.github.io/virtual-inf/
Slide 6
Slide 6 text
プロモーションビデオ PVショート版を流します 完全版は「静岡大学 バーチャル情報学部」トップページで公開中です 是非ご覧下さい!
Slide 7
Slide 7 text
見下ろしモード キャンパスを上空から一望できる ● 建物にマウスカーソルを重ねると施設名が表示される ● 建物をクリックすると画像と解説が表示される
Slide 8
Slide 8 text
VRモード キャンパス内を一人称視点で自由に移動できる (VRの定義はとりあえず問わない) PCはキーボード、スマホ等はバーチャルパッドで移動可能
Slide 9
Slide 9 text
VRモード(HMD) HMD内で自由に移動できる
Slide 10
Slide 10 text
スタッフ 基幹システム、UIデザイン、動画等コンテンツ HMD対応、モバイルUI、描画処理軽量化 3Dモデル統括、事務処理 モデリング デバッグ等
Slide 11
Slide 11 text
試作品の作成 まず、Three.jsとOrbitControls(マウスでカメラ操作できるライブラリ)でプロトタイプを作成。 最初のモデルは板にGoogle Earthのテクスチャを貼っただけの簡易的なもの。
Slide 12
Slide 12 text
試作品 Rev.4 GitHubにおける最古のバージョン 機能はモデルの拡大縮小・回転・移動のみ
Slide 13
Slide 13 text
更新履歴 6月10日 Prototype/Rev.1 最初のバージョン 6月11日 Prototype/Rev.2 地図データを使用したモデルに差し替え 6月26日 Prototype/Rev.5 トップページとツールチップを実装 7月 1日 Prototype/Rev.6 モバイル端末用CSSを追加 7月 2日 Prototype/Rev.7 VRモード実装開始 7月 7日 Prototype/Rev.9 VRButtonを追加 7月12日 Prototype/Rev.12 説明文表示用のウインドウを追加
Slide 14
Slide 14 text
更新履歴 7月28日 Prototype/Rev.15 バーチャルパッドを追加 8月 1日 Prototype/Rev.17 操作説明を追加 8月 2日 Ver.1.0 正式公開版に移行(8/4一般公開) 8月22日 Ver.1.0.4 現時点での最新バージョン モデルデータは適宜更新 開発開始~本公開まで約2か月
Slide 15
Slide 15 text
サーバー情報 GitHub Pagesを使用。 ・ データ容量無制限 ・ 約40MBのデータを数秒で転送できる通信速度 ・ 大学のシステムを通さないため迅速に更新可能 ・ メンバーなら誰でもmasterブランチにコミットするだけで更新できる ・ Organizationを使用しているため、メンバーの代替わりに対応
Slide 16
Slide 16 text
デザイン ・ 背景色は静大のスクールカラー(DIC 143) ・ フォントは「平成明朝体」「平成ゴシック体」「ニューロダン」を主に使用
Slide 17
Slide 17 text
ユーザーインターフェース 3D部分:Three.jsで描画 2D部分:div要素を重ねて描画
Slide 18
Slide 18 text
ユーザーインターフェース jQueryでウインドウのdiv要素を表示 コンテンツは別ファイル(HTML形式)をAjaxで読み込み ※ウインドウ表示中は3Dモデルのマウス操作は停止 カバー用の黒いdiv要素を重ねて暗くする
Slide 19
Slide 19 text
モデル製作の流れ アドオン「Blender-osm」でOpenStreetMapのデータを取得
Slide 20
Slide 20 text
モデル製作の流れ 建築物毎にBlendファイル出力 モデリング担当の各個人がコミットできると個人毎に草が生やせるが、導入コストなども 良い方法ないかな? モデル統括担当に集約 モデル統括担当がマテリアル数削減など微調整 campus.glbを出力してgit push
Slide 21
Slide 21 text
比較
Slide 22
Slide 22 text
モデルの負荷 約 45,000ポリゴン(1本あたり200~300程度) 約 65,000ポリゴン(1件あたり2000~8000程度) 約30MB 合計 118,300 ポリゴン 木 建物 容量 モバイル対応を考えるとやや贅沢 もう少し削減できそう
Slide 23
Slide 23 text
HMD対応 ● Three.jsのWebXRに対応するプラグインを利用 →Questで動くようになった。 ● WebXR-Polyfill を導入 →各種PC接続型HMDに対応! Questでは、localhost時なら、httpsなしでWebXRを実行できる機能があるので、 それを用いてデバッグ等を行った。
Slide 24
Slide 24 text
VR内操作 ● Three.jsでは、コントローラのボタンの押下とモーションは取得できたが、 スティック, ゲームパッドの状態を取得できたなかったため、 自前でGamepadAPIを叩くことに…… Three.js はサンプルが豊富で、その中から移動に適した部分を取り出し、 トラックパッド・ゲームパッドで動かせるように改造。 開発時トラックパッドとサムスティックの違いで時間を結構とられた。注意! ● スマホでは、バーチャルパッドを自前で用意した。
Slide 25
Slide 25 text
オープンソース化 ※学章等のデータの利用については「静岡大学学章等に関する規則」をご参照ください ※キャンパスデータに一部含まれるOpenStreetMapのデータはCC BY-SA 2.0となります ソースコードはMIT License 他大学でも3Dモデルとトップページを変更すればすぐ実装可能 キャンパスの3Dモデルデータの再配布も可能(※)
Slide 26
Slide 26 text
ご意見ご感想お待ちしております! Twitter @xR_Hamamatsu 見下ろしモードでキャンパス内のとある場所をクリックすると…? https://xr-hamaria.github.io/virtual-inf/ https://github.com/xr-hamaria/virtual-inf