Hi everyone,
I’m facing some difficulties to create 3D tiles from another file format.
What i’m trying to achieve :
I have a collection of photos and a json file describing the position and orientations of the camera for each photo. The goal is to convert the json into 3d tiles where each photo is represented by a geometry (roughly a pyramid)
What I have done so far :
tileset.json, gltf and bin files are generated from the json file. These files describe a pyramid and its instances, each pyramid has a translation and a rotation and the vertices coordinates are expressed in a local system (the center of the dataset).
What I don’t understand :
I’m really confused about what I should set in the root “transform”. It seems obvious the translation part should be the center of the dataset in ECEF, but what about the rotation?
Here is what I see when I open the tileset file with CesiumJS :
The geometries should be parallel to the ground
Expected positions :
I have tried to use eastNorthUpToFixedFrame function from CesiumNative and put the result in root transform, but it does not work. On the other hand, it looks better when adding a 90 degrees rotation around X axis
That is where I’m getting confused. According to the documentation, cesium already rotates the whole scene to trasnform from a Y-up norm (gltf) to a Z-Up norm (cesium). Moreover, I thought the purpose of eastNorthUpToFixedFrame is to orient the geometry based on its position on earth. For instance to prevent building to “tilt” since without any rotation in the root transform they would have the same orientation no matter their position on earth ( a sphere)
So the questions are : am I missing something? How to set the root transform in tileset.json




