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
バーチャルキャンパスを活用したWebVRコンテンツ開発
Search
Sora Arakawa
September 08, 2020
Technology
0
140
バーチャルキャンパスを活用したWebVRコンテンツ開発
#VRSionUp!8「WebVRオンラインイベント開発」
Sora Arakawa
September 08, 2020
Tweet
Share
More Decks by Sora Arakawa
See All by Sora Arakawa
ジャンカーよ、車も買え ~10分でわかる!? 中古車選び入門~
arkw
0
16
arkw vs. サーバ移転 -2024年1月版-
arkw
0
140
なれる! 村上さん Misskeyサーバ構築入門
arkw
0
310
Cloudflare Tunnelで自宅サーバを公開してみた
arkw
0
1k
5分でわかる!? 7セグメントLED制御
arkw
0
52
ヤフオクで原付買った話
arkw
0
170
パソコンの消費電力と省エネ化のおはなし
arkw
0
260
"成果物"を作ろう(提案)
arkw
0
240
Python(+α)でスマートプラグを制御してみた
arkw
0
1.2k
Other Decks in Technology
See All in Technology
Oracle Database 23ai 新機能 #3 Oracle Globally Distributed Database(GDD)
oracle4engineer
PRO
1
160
Dify - LINE Bot連携 考え方と実用テクニック
uezo
5
1.1k
Zero Data Loss Autonomous Recovery Service サービス概要
oracle4engineer
PRO
0
3.2k
The XZ Backdoor Story
fr0gger
0
2.1k
中規模・ミドルTier開発組織におけるDevRelの戦略と実行と成果 - DevRel Guild Conference Mini -
leveragestech
2
280
Oracle Exadata Database Service(Dedicated Infrastructure):サービス概要のご紹介
oracle4engineer
PRO
0
9.4k
データウェアハウス製品のSnowflakeでPythonが動くって知ってました?
foursue
1
160
自社サービスのための独自リリース版Redmine「RedMica」の取り組み
vividtone
0
770
#Zenoh 完全に理解した 〜組込み純情篇〜
takasehideki
1
460
四国クラウドお遍路 2024 in 高知 エンディング
yukataoka
0
130
[RSJ24] Task Success Prediction for Open-Vocabulary Manipulation Based on Multi-Level Aligned Representations
keio_smilab
PRO
0
230
RAGHack: Kickoff and RAG 101
pamelafox
0
250
Featured
See All Featured
What’s in a name? Adding method to the madness
productmarketing
PRO
21
3k
BBQ
matthewcrist
83
9.1k
Designing Experiences People Love
moore
138
23k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
22
3.9k
Typedesign – Prime Four
hannesfritz
39
2.3k
We Have a Design System, Now What?
morganepeng
48
7.1k
Build The Right Thing And Hit Your Dates
maggiecrowley
30
2.2k
Unsuck your backbone
ammeep
667
57k
Clear Off the Table
cherdarchuk
90
320k
Fontdeck: Realign not Redesign
paulrobertlloyd
80
5.1k
Optimising Largest Contentful Paint
csswizardry
29
2.8k
In The Pink: A Labor of Love
frogandcode
139
22k
Transcript
バーチャルキャンパスを活用した WebVRコンテンツ開発 荒川 奏良(Sora Arakawa) 静岡大学xR同好会はまりあ 静岡大学 情報学部 行動情報学科 1年
xR同好会はまりあ • Unity / Blender勉強会 • Clusterで新歓イベント • VRChatやNeosVRの生配信
None
None
静岡大学 バーチャル情報学部 • 静岡大学浜松キャンパスを3DCGで体験できるオンラインコンテンツ • JavaScript(Three.js)で開発 • ウェブアプリだから専用アプリのダウンロードやインストールが不要
静岡大学 バーチャル情報学部 • 3つのモードを搭載 見下ろしモード キャンパスを上空から一望できるモード 建物にカーソルを重ねると建物名を表示 建物をクリックすると説明や写真を表示
None
静岡大学 バーチャル情報学部 • 3つのモードを搭載 VRモード キャンパス内を一人称視点で 自由に移動できるモード キーボードかバーチャルパッドで動作
静岡大学 バーチャル情報学部 • 3つのモードを搭載 VRモード(HMD) Oculus QuestなどのVR機器に対応 実 質 静
大
開発体制 • 完全オンライン 主にGitHubとSlackを使用 • 開発期間 約2ヶ月 (参考) 静岡大学は6月上旬まで完全在宅授業 その後、一部対面授業再開
7月頃からサークル活動が対面で実施可能に
プログラム 3人体制で開発 メインプログラム WebVR、3Dプログラム、処理最適化 WebVR
プログラム • 3D描画部分 → Three.js • 見下ろしモードのマウス操作 → OrbitControls •
UI処理用にjQueryも使用 OrbitControlsは、Three.jsのプラグインの一つ 若干の初期化コードとメインループ内の1行だけで マウス操作(回転、上下左右移動、拡大縮小)を実装可
HMD対応 • Three.jsのWebVRプラグイン → Questに対応 • WebXR-Polyfill を導入 → 各種PC用HMDに対応
Questでは、localhost時ならhttps無しでWebXRを実行できる機能が あるので、それを用いてデバッグ等を行った。
VR内操作 • Three.jsでは、コントローラのボタンの押下とモーションは取得できた が、スティック、ゲームパッドの状態を取得できなかったため、自前で GamepadAPIを叩くことに… • Three.js はサンプルが豊富で、その中から移動に適した部分を取り 出し、トラックパッド・ゲームパッドで動かせるように改造。 •
開発時トラックパッドとサムスティックの違いで時間を結構とられた。 注意! • スマホでは、バーチャルパッドを自前で用意した。
3Dモデル制作 • 5人体制で制作 ① キャンパス全体のオブジェクトをOpenStreetMapから自動生成 (blender-osm) ② 各建物に名前やテクスチャを付ける ③ 各メンバーが建物の3Dデータを作成し、Slackに投稿
④ それを集約し、gITFで出力 → GitHubにコミット
None
3Dモデル制作 • OpenStreetMap
None
None
None
3Dモデル制作 • 比較
3Dモデル制作 • 比較
3Dモデル制作 • 合計 118,300ポリゴン └ 木 約45,000ポリゴン (1本あたり 200~300) └
建物 約65,000ポリゴン (1件あたり 2000~8000) データ容量 約30MB
3Dモデル制作 • 開発段階ではもう少しリアルな木 だったが、ノートPCやモバイル端末 であまりに重いので妥協
負荷の軽減 • ポリゴン数を減らす • テクスチャを荒くする(昔の3Dゲームでよく使われた) • 60fps → 30fps動作(メインループ 2回に1回は描画処理しない)
• アンチエイリアスを切る • アンチエイリアスからFXAAシェーダーに変更(こちらの方が軽い)
UIデザイン
UIデザイン • 背景色 静大スクールカラー (DIC 143) • フォント 「ニューロダン」「平成ゴシック体」「平成明朝体」 読みやすさ重視の選定
None
3D部分 : Three.jsで描画 2D部分 : div要素を重ねて描画
jQueryでウインドウのdiv要素を表示 コンテンツは別ファイル(HTML形式)をAjaxで読み込み ※ウインドウ表示中は3Dモデルのマウス操作は停止 カバー用の黒いdiv要素を重ねて暗くする
オープンソース化 • MIT License (改変・再配布・商用利用OK 著作権表示が条件) • 他大学、他団体によるバーチャルオープンキャンパスの開発基盤とし て使用可能 ※学章等のデータの利用については「静岡大学学章等に関する規則」
をご参照ください ※キャンパスデータに一部含まれるOpenStreetMapのデータはCC BY-SA 2.0となります
None
今後について • 他大学、他団体によるバーチャルオープンキャンパスの開発基盤 • キャンパスの3Dモデルを転用したコンテンツの作成
None
ご意見ご感想お待ちしております! Twitter : @xR_Hamamatsu https://xr-hamaria.github.io/virtual-inf/ 見下ろしモードでキャンパス内のとある場所をクリックすると…?