PLATEAU の 3D Tiles を Cesium for Unreal で表示できるように微調整する変換ツールです。
A conversion tool that fine-tunes PLATEAU's 3D Tiles for display in Cesium for Unreal.
$ npm install
$ node rtcCenter2transform ../13113_shibuya-ku/tileset.json > ../13113_shibuya-ku/tileset.c4u.json
Cesium3DTileset の
glTF 1.0 で用いられていた、RTC_CENTER 拡張が、glTF 2.0 では、Cesium 界隈では機能しない仕様のようです。(とはいえ Cesium ION では、glTF 2.0 with RTC_CENTER も表示されているようですが。。。)
ですが、現状の PLATEAU 提供の 3D Tiles は glTF 2.0 で、RTC_CENTER 拡張が利用されているようです。
Cesium のフォーラムでは、そのあたりの取り扱いについても議論がすすんでいるようですが、さしあたって動かしてみたいので、変換ツールをつくってみました。
矛盾を調整するために、RTC_CENTER 相当の座標変換を、tileset.json の transform に設定しています。
変換後の tileset.json は、transform パラメーターを追加したものの、RTC_CENTER パラメーター自体は取り除いていないため、Cesium ION などでは、表示できなくなる可能性があります。
当方の環境だと、新宿区はテクスチャが大きいのか、いったんは表示されるもののテクスチャの読み込みが進むと表示されなくなるような感じになり、UE4がハングアップします。
渋谷区もぎりぎり表示されているようなかんじです。
葛飾区などはテクスチャがほとんどないため、きもちよく表示されます。
AMD Ryzen 9 3950X 16-Core Processor
Memory 64GB
GeForce RTX 2080 Ti GAMING X TRIO (11GB)
もし上手に新宿区を表示できた方がいらっしゃいましたら、ISSUE でもなんでもいいので、お教えいただけると大変たすかります。
PLATEAU プロジェクトも Cesium for Unreal も生まれたてで、どんどん進化するため、本家が対応していただくことで、この変換ツールはすぐに用済みとなる可能性があります。そして、そうなることを望んでいます。