Closed HeyItsBATMAN closed 4 days ago
I have been able to install this and it is working. The examples with camera already illustrate the need to implement coordinate system transformations. When the glTF model is imported there is behind-the-curtains transform of the axes, Z in gltF becomes -Y in Blender Y in glTF becomes +Z in Blender
This is a usability procedure, doing this means that when you choose the option "Front" in the View > Viewpoints menu you do see the front of the astronaut.
If when a model, for example the astronaut, is exported back to glTF those axes interchanges are reversed, so that the exported glTF file follows the glTF axes convention : https://registry.khronos.org/glTF/specs/2.0/glTF-2.0.html#coordinate-system-and-units
We will need to do the same interchanges for PointSelector coordinates and the x,yz components of IIIF Transform nodes in in manifests both when they are imported and exported, in able to use Blender to properly place and orient cameras relative to imported models.
This PR builds upon my previous two PRs, and to not flood with PRs building on-top of each other, I decided to close and combine with my latest changes.
For reference:
With the goal of having Blender import a manifest, and export it without any differences in the exported JSON manifest, I created myself a script and iteratively add support for more manifests.
Currently supported manifests:
List of initially supported features:
Screenshot of a scene with model, camera, and sunlight.
Notes:
Any notes in my previous PRs.
If you look in the screenshot on the bottom right, I added an experimental manifest editor inside of the Blender UI. I imagine that it would be useful for several things to enable manifest editing inside of the UI, but if this is not intended, this can easily be removed.
Coordinate system transformations are not yet handled. I added a helper class which is called from the main code, but this currently does no transformations. I believe Zoe Schubert wanted to take a look at this.
The scene is currently read-only, in the sense that editing properties of scene objects will not yet be reflected correctly in an exported manifest. My first priority was, as stated, to get 1:1 import and export of the manifests with the necessary data being appended to the scene objects, such that IIIF metadata can be preserved and transferred in the scene.