BlenderUSDHydraAddon
BlenderUSDHydraAddon copied to clipboard
Node-based edit workflow confusion
Hi,
First of all, fantastic work on making a non-destructive USD import/export addon!
While using it to edit/render a few scenes, I came to some issues that I hoped to get a sense of future directions:
-
Is editing an imported USD scene file supported workflow? Or is it primarily aimed at mixing read-only USD scenes in Blender?
-
In general, a node-based system should recompute on graph change; but in the land of USD editing, I find it not the best idea:
-
Every time we reconnect a
USD Fileoutput toRender USDnode, the system would source the USD file again, so unsaved change to the imported USD hierarchy is lost. This can happen in other situations as well. -
Write USD Filenode always saves its input on reconnection, but when connected, update to imported USD hierarchy doesn't appear to save automatically. -
We can point both
USD FileandWrite USD Filenodes to the same USD file, allowing us to save local changes to USD file. But in such context it is unclear when the graph should reload itself (or when it is safe to reload without losing local changes). -
If we point
Write USD Fileto a different file, then local changes can easily reset due to (1), and unintended change can flush to export USD due to (2). -
I also find out that once a Blender scene has been exported to USD via
Mergenode, we can no longer control much of its original settings (Light intensity, for example).
All in all, I think it depends on whether this system is designed with USD editing in mind, or mainly targeting multi-scene composition.
Thx, and look forward to your response.
Hi.
Thank you for your nice words.
You allowed to modify imported USD scene via USD nodes (e.g. transform, instancing, filter etc.)
Yes, all USD nodes recomputes if there is changes in scene happen, so they return up to date USD stage.
- What kind of unsaved changes?
USD Filenode recomputes (reads pointed file) on changing input, output or its modifiers (e.g. import animation). Write USD Filenode also recomputes when you modify node tree (add new nodes, modify existing).- It doesn't sound like a valid workflow - you can't be sure in what order nodes are updated.
- In any case to be sure that you export up to date USD stage, better to just reconnect
Write USD Fileafter all. - Seems like you have
Blender Datanode with checked "import animation", in this case you have to either uncheck it or clickUpdate animationbutton to make this node recompute changes. It works this way due to infinity loop on animation update. I approve that you able to modify scene and node tree will be recomputed with new data immediately.