Some common issues in 3D modelling & while using spritec:
Flipped normals (resulting in weird images like the image below)
Mismatched geometry (bugs that cause the geometry the user expects to not be there in the exported file)
e.g. Accidentally clicking "selection only" when exporting
Wrong file name
e.g. Accidentally not selecting "Animation" when exporting to OBJ in Blender
We can deal with a lot of these by having some kind of "debug view" in our UI.
Features
Here are some features I would want that to have:
[ ] Debug normals be able to rotate the model in 3D and view the direction of its normals
[ ] Flat shaded mode
[ ] Wireframe mode
[ ] Orthographic mode (easier to see parallelism)
[ ] 3D rotation (for the model so we can see it at all angles)
[ ] Last updated timestamp (shows the last modified time of the file or maybe the last time we fetched the file from disk)
[ ] The current file name (maybe in the title of the window or title of the tab?)
[ ] (Maybe future) Ability to select meshes from a list and show/hide them at will (to debug individual parts)
Flat shaded and wireframe are relatively easy to implement just by adding some new shaders. Orthographic mode just requires temporarily changing the camera. The 3D rotation is already a feature we want anyway.
Most importantly, we want to avoid recreating all the features of a 3D editor. These features are suggested because they are relatively easy to implement and would provide a big quality of life improvement when it comes to debugging mismatches between a 3D model and spritec.
Our goal here is to lower the potential for mismatches between what the user sees in their editor and what gets produced in spritec. The more we help them debug the differences, the easier it will be to use our tool.
Explicit non-goal: We do not want to allow them to modify the mesh or materials in any way using spritec. They should do that in the 3D modeling software they exported from. It would be a giant rabbit hole for us to try and match up a glTF file to a blend file and deal with all the edge cases, version changes, and data races (e.g. both spritec and blender running) that come from that.
Some common issues in 3D modelling & while using spritec:
Mismatched geometry (bugs that cause the geometry the user expects to not be there in the exported file)
Wrong file name
We can deal with a lot of these by having some kind of "debug view" in our UI.
Features
Here are some features I would want that to have:
[ ] Debug normals be able to rotate the model in 3D and view the direction of its normals
[ ] Flat shaded mode
[ ] Wireframe mode
[ ] Orthographic mode (easier to see parallelism)
[ ] 3D rotation (for the model so we can see it at all angles)
[ ] Last updated timestamp (shows the last modified time of the file or maybe the last time we fetched the file from disk)
[ ] The current file name (maybe in the title of the window or title of the tab?)
[ ] (Maybe future) Ability to select meshes from a list and show/hide them at will (to debug individual parts)
Flat shaded and wireframe are relatively easy to implement just by adding some new shaders. Orthographic mode just requires temporarily changing the camera. The 3D rotation is already a feature we want anyway.
Most importantly, we want to avoid recreating all the features of a 3D editor. These features are suggested because they are relatively easy to implement and would provide a big quality of life improvement when it comes to debugging mismatches between a 3D model and spritec.
Our goal here is to lower the potential for mismatches between what the user sees in their editor and what gets produced in spritec. The more we help them debug the differences, the easier it will be to use our tool.
Explicit non-goal: We do not want to allow them to modify the mesh or materials in any way using spritec. They should do that in the 3D modeling software they exported from. It would be a giant rabbit hole for us to try and match up a glTF file to a blend file and deal with all the edge cases, version changes, and data races (e.g. both spritec and blender running) that come from that.