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
650
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
1k
Oculus Questハンドトラッキングでキーボードを作ってみた
sentomo
1
2k
Other Decks in Technology
See All in Technology
データベースの負荷を紐解く/untangle-the-database-load
emiki
2
500
Autonomous Database Serverless 技術詳細 / adb-s_technical_detail_jp
oracle4engineer
PRO
17
45k
ウォンテッドリーのデータパイプラインを支える ETL のための analytics, rds-exporter / analytics, rds-exporter for ETL to support Wantedly's data pipeline
unblee
0
120
ExaDB-XSで利用されているExadata Exascaleについて
oracle4engineer
PRO
3
240
アジャイルな開発チームでテスト戦略の話は誰がする? / Who Talks About Test Strategy?
ak1210
1
540
技術スタックだけじゃない、業務ドメイン知識のオンボーディングも同じくらいの量が必要な話
niftycorp
PRO
0
100
Exadata Database Service on Cloud@Customer セキュリティ、ネットワーク、および管理について
oracle4engineer
PRO
2
1.5k
Raycast AI APIを使ってちょっと便利な拡張機能を作ってみた / created-a-handy-extension-using-the-raycast-ai-api
kawamataryo
0
210
ABWG2024採択者が語るエンジニアとしての自分自身の見つけ方〜発信して、つながって、世界を広げていく〜
maimyyym
1
140
LINE NEWSにおけるバックエンド開発
lycorptech_jp
PRO
0
230
開発組織を進化させる!AWSで実践するチームトポロジー
iwamot
1
340
AWSを活用したIoTにおけるセキュリティ対策のご紹介
kwskyk
0
340
Featured
See All Featured
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
49
2.3k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
7k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
46
2.3k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
30
4.6k
Rebuilding a faster, lazier Slack
samanthasiow
80
8.9k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
Git: the NoSQL Database
bkeepers
PRO
427
65k
The Cult of Friendly URLs
andyhume
78
6.2k
Making Projects Easy
brettharned
116
6k
A Tale of Four Properties
chriscoyier
158
23k
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 !