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
Cesium for Unreal + VRで世界中を飛び回る時のTips
Search
sentomo
February 16, 2024
Technology
0
470
Cesium for Unreal + VRで世界中を飛び回る時のTips
2024/02/16 建築情報学会Meetup Vol.007 (東京)のLT登壇資料
https://ais-j.connpass.com/event/307294/
sentomo
February 16, 2024
Tweet
Share
More Decks by sentomo
See All by sentomo
WebXR Tech Tokyo#1 コロナ時代にできる、WebARリモートハンズオン
sentomo
0
980
Oculus Questハンドトラッキングでキーボードを作ってみた
sentomo
1
1.9k
Other Decks in Technology
See All in Technology
強いチームを夢見て-PMからSREに転身して1年の振り返り / 20240906_bengo4_sre
bengo4com
1
750
日経電子版から始まった内製開発の現在地と向き合っている課題/inhouse
nishiuma
0
230
エンジニア採用ノウハウ0から継続的な採用に至るまで / Try recruiting engineers
ohageeq
0
130
エンジニア採用を起点に取り組む組織の改善活動と課題、中長期のタスク管理/ #HRmethod
nishiuma
4
3.3k
バックログを導入し やっぱやめた話
ota42y
0
170
HolidayJp.jl を作りました
mrkn
0
110
FastConnect の冗長性
ocise
0
7.1k
2024年版 運用者たちのLLM
nwiizo
3
290
React Aria で実現する次世代のアクセシビリティ
ryo_manba
3
290
GraphQLとスキーマファーストで切り開く ライドシェアの未来
ku0522a
0
490
Azure SQL Database Hyperscale HA レプリカの監視
sansantech
PRO
0
190
疎通2024
sadnessojisan
4
490
Featured
See All Featured
Building Applications with DynamoDB
mza
89
5.9k
Unsuck your backbone
ammeep
667
57k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
278
13k
Intergalactic Javascript Robots from Outer Space
tanoku
268
26k
How To Stay Up To Date on Web Technology
chriscoyier
785
250k
A designer walks into a library…
pauljervisheath
201
24k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
662
120k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
190
16k
Agile that works and the tools we love
rasmusluckow
327
20k
KATA
mclloyd
27
13k
Product Roadmaps are Hard
iamctodd
PRO
48
10k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
27
8.9k
Transcript
Cesium for Unreal + VRで 世界中を飛び回る時のTips sentomo 建築情報学会MeetupVol.007
sentomo(千壽朋子) 某360°カメラの会社で、建設業向けVRワークプレイスの開発 BIM/CIM、点群データを表示させ、複数人で同じ空間に入って設計・施工検討ができる VR開発は6年くらい Unity:2017.10〜2019.6 Unreal Engine :2019.7〜 すきなこと パンダ/
美味しいものを食べ飲みすること/ 野球観戦 @sentomo594
Cesium GS, Inc.が提供するオープンソースの3D地図プラットフォーム CesiumJS、UnrealEngine、Unity、NVIDIAOmniverse、O3DEと連携可能 商用利用は有料ライセンスが必要 Cesium ionに、CityGML、obj、fbx、点群ファイル(las、laz)などをアップロード すると、3D Tilesデータに変換して配信することができる https://cesium.com/learn/3d-tiling/tiler-data-formats/
2023年10月、Google Photorealistic 3D TilesがCesiumionのアセットとして利用可能に https://cesium.com/blog/2023/10/26/photorealistic-3d-tiles-in-cesium-ion/
ドキュメント、サンプルプロジェクトあり https://cesium.com/learn/unreal/ https://github.com/CesiumGS/cesium-unreal-samples ユーザが任意の緯度経度高さを指定して、 BIM/CIMや点群データをCesiumの地形データに重畳させて VRで見たい! でも、実行時に任意の緯度経度を指定して3D地図を 表示するサンプルはない (事前にいくつかの地点をサブレベルとして組み込んで実行するサンプルはある)
• Windows 11 • NVIDIA GeForce RTX 4090 • Unreal
Engine 5.2.1 • Cesium for Unreal v2.2.0 開発環境
VRでCesiumの地形データを表示すると、Dither表現になる VR関連のTips • Cesium for Unreal VR Tutorialsを試したらそうなっていた… • VRで視界の大半を占める部分がDitherになっていると
目がチカチカしてVR酔いに繋がりやすい • CesiumのForumで対応方法を発見 ⚬ https://community.cesium.com/t/forward-rendering-msaa-black-squares-and-dithering-artifacts-on-terrain/24149/8 • Cesiumで使われている大元のマテリアルの DitherFade マテリアルレイヤーを削除したらDither表現を無効にできた
Google Photorealistic 3DTileの地形データを表示すると、fpsが落ちる パフォーマンス関連のTips • 特にGoogle Photorealistic 3DTileを表示した時に、開発環境でも約36fps… • stat
GPUでパフォーマンスを確認したところ、BassPassとProjection Shadowで処理時間 がかかっていた • Google Photorealisticは他のBing MapやOpen Street Mapの地形データよりもポリゴン数 が多いことが影響している • 無限に地形データを表示せずに、表示範囲を指定するようにした
• 表示範囲の指定方法は、CartographicPolygonsの仕組みを利用 ⚬ https://cesium.com/learn/unreal/unreal-clipping/ • 指定した範囲の内側、もしくは外側をマテリアルでクリッピングする ⚬ 範囲の外側を非表示にしたい時 ■ CesiumPolygonRasterOverlayのInvertSelectionをtrueに(デフォルトfalse)
■ Google Photorealisticで外側を非表示にしたい時は、 さらにCesiumPolygonRasterOverlayのExcludeSelected Tilesをfalseに(デフォルトtrue) • https://community.cesium.com/t/cesium-cartographic-polygon-not-clipping/28229/7 Google Photorealistic 3DTileの地形データを表示すると、fpsが落ちる パフォーマンス関連のTips
Google Photorealistic 3DTileの地形データを表示すると、fpsが落ちる パフォーマンス関連のTips • 動的にCartographicPolygonsを動的に生成し、km四方で指定した範囲の 4点の位置を設定した →ドキュメントにもあるが、CartographicPolygonsの形を変更した後に RefreshTilesetを実行しないと表示範囲が変更されないので要注意!
Google Photorealistic 3DTileを表示した時に3DTileの穴が抜けてしまう 描画関連のTips • Cesium3DTilesetでカリングし過ぎているのが原因 • カリング設定があり、以下を設定したら解決した ⚬ Enable
Frustum Culling:false ⚬ Enable Fog Culling:false ⚬ Enforce Screen Screen Space Error:true ⚬ Use Lod Transitions:true ⚬ Lod Transition Length:0.1
None
おまけ まとめ • Cesiumを活用することでBIM/CIMモデルを重畳させて、建設予定の建物から眺望や 建物の外観と周景とのバランス等を確認しやすくなり、 円滑な合意形成につながると感じている • CesiumはForumで質問すると1-2日でCesiumの開発者から返信をもらえるので、 とても有難い •
単純におもしろい!ワクワクする!
Thank you !