I am currently trying to get 3D Tiles for Godot set up and running. However I am encountering various issues and am not sure what the root cause could be.
I’ll start off with some general information:
Windows 11 64 bit Laptop (with integrated Intel GPU)
Godot v4.4.1.stable.mono.official (.NET Version)
Latest version of 3D Tiles for Godot (Downloaded the .zip from GitHub)
Following the Getting Started guide on GitHub I set up a project with the absolute minimum of nodes just to test basic functionality.
Furthermore I added different Cesium Ion assets via the Cesium Ion Panel as well as the Dynamic Camera.
The issues I encounter vary, however none of the Assets that can be added via the Cesium Ion Panel seem to work out of the box for me.
With Cesium World Terrain using Bing Maps I get the 3d tiles mesh, however textures seem to be missing and the terrain is slanted compared to my World Environment’s Sky:
Can someone give me a heads up on what the cause of my issues could be? I am relatively new to Godot development, so maybe I am missing something obvious.
For Bing maps + world terrain verify your ion asset id for bing map is 2 and world terrain is 1
Are you building the plugin using scons or using the pre built v1.0 plugin?
The tiles are clustered at center (google tiles), i assume you are building this from source, in that case the issue may be as follows(not sure though)
All tile transforms are identity matrices : [0.0, 0.0, 0.0]
ECEF positions are all zero - Tile ECEF position: [0.0, 0.0, 0.0]
The coordinate transformation is working correctly, but it’s transforming zero positions
So the Cesium3DTileset Node that is being created when I click Add for Cesium World Terrain + Bing Maps Aerial does have the property Ion Asset ID set to 1. There is however no other node being created that has the Bing Maps Aerial ID, which would be 2. Or where would I find that?
I downloaded the plugin from Releases on the GitHub page. I did not build it myself since I figured it should be identical to the plugin I would get when building with the standard settings myself. Maybe I should try building it myself.
As for the Google Photorealistic 3D Tiles I am not sure where I would check your assumptions. The Ecef X, Ecef Y and Ecef Z properties of the CesiumGeoreference node that gets added with Google Photorealistic 3D Tiles are all non-zero values.
When building the project I also get this error:
W 0:00:01:945 load: res://addons/cesium_godot/visuals/scripts/atmosphere_settings.tres:3 - ext_resource, invalid UID: uid://d2xi05o8ul7aw - using text path instead: res://addons/cesium_godot/visuals/scripts/atmosphere_settings.gd
<C++ Source> scene/resources/resource_format_text.cpp:447 @ load()
Is adding the assets via the Cesium Ion Panel working out of the box for you?
For cesium world + bing map there should be a raster overlay node with asset id set to 2, if not added then try adding it manually and set the asset id to 2.
Adding the CesiumIonRasterOverlay manually and assigning the asset id works. I wonder why that node is not added automatically for me.
Your fix for the warning about atmosphere_settings.gd also worked.
I’ll try reinstalling the plugin and working with a new project and see if that fixes the Google Photorealistic 3D Tiles dataset. Having trouble building the plugin myself, but its probably worth a try.
Tried using the Godot version you mentioned. That did not fix the issue though.
Thank you for the update. I’m sorry I couldn’t assist further in fully resolving the Google Tiles issue. To address the slanted world environment, please try applying the rotation values shown in the attached image.
Changing the rotaiton manually to your values did not fix it on my end. Is the rotation of the horizon an issue that you are having as well? Maybe using the WorldEnvironment node whith a Procedural Sky is not the intended setup. Sadly there is not much documentation yet on how to properly set up a project with 3D Tiles for Godot.
Make sure to keep the WorldEnvironment node as a child of the Georeference node. Then, try adjusting its transform values during play mode to align it with the horizon. This helps the environment move along with the camera.
Also, set Custom FOV to 0, even though the environment may appear slanted in the editor view. Use the play window to match the alignment more accurately. This is just a temporary fix.
Regarding the issue:
I’ve only tested the Google tileset and a custom tileset using the Windows build.
I have verified the windows build again and tiles are clustered, but my initial tests with the plugin were correct, i think there may be some changes to the data received from the cesium ion for google tiles, it could be cesium team is testing few things.
i request someone from cesium team to assist regarding this issue.
Thx
For me the WorldEnvironment does not move along with the camera when it is placed as a child to the Georeference node. This is especially noticeable when moving the camera far away from its initial position. The WorldEnvironment stays stationary for me while the camera moves in relation to the tiles orientation.
In general Georeference node when made parent of WorldEnvironment node may not influence WorldEnvironment node. i was facing a weird bug in my scene moving the Environment node fixed it for me, so i assumed may be it was same for you.