hubs-blender-exporter
hubs-blender-exporter copied to clipboard
Reflection Probes import support
Description Reflection probes are currently imported as empties.
To Reproduce Steps to reproduce the behavior:
- Export a glTF file with a reflection probe
- Import it again
- The imported reflection probe is an empty
Expected behavior
- The reflection probe element should have been imported correctly as a reflection probe Blender object with the reflection probe component.
There are a couple of issues when importing back reflection probe nodes.
- The reflection probe is exported as just a node and imported as an empty. there is not way of just converting an object to a different type (ie Empty -> Reflection Probe) so we would need to manually create a reflection probe and completely replicate the state.
- Even if we do the above step, the glTF doesn't export the reflection probe data so we would need to export it in the component information which I'm not sure if it's the best idea.
Seems to me that the simplest way forward would be to move the reflection probe Blender object info into the component and allow adding the component to any object. The only properties that we are using are clip_start and clip_end so it shouldn't be a lot of info to add to the output glTF file.
Yeah the main point of reflection probes using the Blender reflection probe objects was for their useful gizmos. Since we now have support for custom gizmos I think we want to move it to a proper component on an empty.
We will have to do this eventually anyway since we want to add additional properties like a capture offset, box projection size, etc.
Re importing in general though, I feel like it should be fairly low priority especially for things not supported in Spoke, since that's the main real usecase I can see for needing to import a gltf with component data in it. Nice to have full parity outside of just migrating out of Spoke eventually, but I suspect the amount of people who actually end up using that instead of just passing around .blend files to be pretty small.
I agree on moving the params to the component and letting this be added to any object.
On the import size, actually I saw the cloud sync being the major use case for it. Right now the Blender workflow it very tied to Spoke but eventually would be nice to have full Blender/Cloud integration and for that to be bi-directional we need glTF import support (ie. remixing avatar/scenes or iterating over them)
This is already in the importer but we agreed on reverting it.