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
540
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
990
Oculus Questハンドトラッキングでキーボードを作ってみた
sentomo
1
2k
Other Decks in Technology
See All in Technology
隣接領域をBeyondするFinatextのエンジニア組織設計 / beyond-engineering-areas
stajima
1
270
強いチームと開発生産性
onk
PRO
34
11k
[CV勉強会@関東 ECCV2024 読み会] オンラインマッピング x トラッキング MapTracker: Tracking with Strided Memory Fusion for Consistent Vector HD Mapping (Chen+, ECCV24)
abemii
0
220
AIチャットボット開発への生成AI活用
ryomrt
0
170
Shopifyアプリ開発における Shopifyの機能活用
sonatard
4
250
データプロダクトの定義からはじめる、データコントラクト駆動なデータ基盤
chanyou0311
2
310
誰も全体を知らない ~ ロールの垣根を超えて引き上げる開発生産性 / Boosting Development Productivity Across Roles
kakehashi
1
230
Incident Response Practices: Waroom's Features and Future Challenges
rrreeeyyy
0
160
TanStack Routerに移行するのかい しないのかい、どっちなんだい! / Are you going to migrate to TanStack Router or not? Which one is it?
kaminashi
0
590
アジャイルでの品質の進化 Agile in Motion vol.1/20241118 Hiroyuki Sato
shift_evolve
0
130
【Pycon mini 東海 2024】Google Colaboratoryで試すVLM
kazuhitotakahashi
2
500
Terraform未経験の御様に対してどの ように導⼊を進めていったか
tkikuchi
2
430
Featured
See All Featured
The Cost Of JavaScript in 2023
addyosmani
45
6.7k
Optimizing for Happiness
mojombo
376
70k
Embracing the Ebb and Flow
colly
84
4.5k
Testing 201, or: Great Expectations
jmmastey
38
7.1k
The Art of Programming - Codeland 2020
erikaheidi
52
13k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
6.9k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
25
1.8k
The Language of Interfaces
destraynor
154
24k
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.4k
Art, The Web, and Tiny UX
lynnandtonic
297
20k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
665
120k
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 !