Geometry Nodes: expose simulation bake path in UI #108220

Merged
Jacques Lucke merged 6 commits from JacquesLucke/blender:expose-bake-path into blender-v3.6-release 2023-05-25 18:56:06 +02:00
Member

Doing this is a bit tricky because it's functionality we planned to add for Blender 4.0 instead of 3.6. The long term solution is to have a proper global place where one can manage bake paths.

image

Doing this is a bit tricky because it's functionality we planned to add for Blender 4.0 instead of 3.6. The long term solution is to have a proper global place where one can manage bake paths. ![image](/attachments/3bad2f09-3d32-4dc7-9612-f724f6d9c8eb)
Jacques Lucke added 2 commits 2023-05-24 09:14:23 +02:00
Jacques Lucke requested review from Dalai Felinto 2023-05-24 09:15:20 +02:00
Jacques Lucke requested review from Simon Thommes 2023-05-24 09:15:21 +02:00
Jacques Lucke requested review from Hans Goudey 2023-05-24 09:15:21 +02:00
Member

I talked about it with Jacques and Sergey just want to mention it here.
We came to the conclusion that this design would need more iteration and it's much lower threshold and straightforward to just expose the path on the modifier in the internal dependencies panel itself for now.

That is much less controversial to do for 3.6, or generally until there is the planned solution of listing all the paths in the scene in its own dedicated panel.

I talked about it with Jacques and Sergey just want to mention it here. We came to the conclusion that this design would need more iteration and it's much lower threshold and straightforward to just expose the path on the modifier in the internal dependencies panel itself for now. That is much less controversial to do for 3.6, or generally until there is the planned solution of listing all the paths in the scene in its own dedicated panel.
Jacques Lucke added 2 commits 2023-05-24 14:00:30 +02:00
Jacques Lucke changed title from WIP: Geometry Nodes: expose simulation bake path in UI to Geometry Nodes: expose simulation bake path in UI 2023-05-24 14:02:04 +02:00
Simon Thommes reviewed 2023-05-24 15:07:32 +02:00
Simon Thommes left a comment
Member

This solution feels a lot more straight forward for now. I'd be generally fine with how it is now.

Two things from testing though:

  • Just while testing this I noticed that every Geometry Nodes modifier on an object that contains a simulation somewhere will create a folder at the bake location regardless of whether it contains a simulation or not.
    This is happening regardless of this patch, just something that I noticed and it's tangentially related to my second topic. Not sure if this can be considered a bug or is expected behavior for now.

  • There seems to be some inconsistency with when the bake path is generated and filled in and when a folder is actually necessary and being created:
    -- Having no simulation on an object at all and pressing the bake button fills in the paths and creates no bake data
    -- Having a simulation in one modifier and adding another geonodes modifier without node-group will generate a path and no folder for that second modifier.

Generally the paths should only be filled in whenever a folder is actually being created to avoid confusion. Additionally folders should only be created for modifiers that actually provide data that needs to be baked.

I'm not sure how much I am asking for with this, so feel free to evaluate this feedback under the circumstances in terms of feasability or treat them as individual issues.

This solution feels a lot more straight forward for now. I'd be generally fine with how it is now. Two things from testing though: - Just while testing this I noticed that every Geometry Nodes modifier on an object that contains a simulation somewhere will create a folder at the bake location regardless of whether it contains a simulation or not. This is happening regardless of this patch, just something that I noticed and it's tangentially related to my second topic. Not sure if this can be considered a bug or is expected behavior for now. - There seems to be some inconsistency with when the bake path is generated and filled in and when a folder is actually necessary and being created: -- Having no simulation on an object at all and pressing the bake button fills in the paths and creates no bake data -- Having a simulation in one modifier and adding another geonodes modifier without node-group will generate a path and no folder for that second modifier. Generally the paths should only be filled in whenever a folder is actually being created to avoid confusion. Additionally folders should only be created for modifiers that actually provide data that needs to be baked. I'm not sure how much I am asking for with this, so feel free to evaluate this feedback under the circumstances in terms of feasability or treat them as individual issues.
Author
Member

The issues you mention can be fixed, but are independent of this patch.

The issues you mention can be fixed, but are independent of this patch.
Hans Goudey approved these changes 2023-05-24 17:33:37 +02:00
@ -1913,6 +1913,8 @@ static void internal_dependencies_panel_draw(const bContext * /*C*/, Panel *pane
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, nullptr);
NodesModifierData *nmd = static_cast<NodesModifierData *>(ptr->data);
uiItemR(layout, ptr, "simulation_bake_directory", 0, "Bake Path", ICON_NONE);
Member
  uiLayout *col = uiLayoutColumn(layout, false);
  uiLayoutSetPropSep(col, true);
  uiLayoutSetPropDecorate(col, false);
  uiItemR(col, ptr, "simulation_bake_directory", 0, "Bake Path", ICON_NONE);
```cpp uiLayout *col = uiLayoutColumn(layout, false); uiLayoutSetPropSep(col, true); uiLayoutSetPropDecorate(col, false); uiItemR(col, ptr, "simulation_bake_directory", 0, "Bake Path", ICON_NONE); ```
Simon Thommes approved these changes 2023-05-24 17:51:32 +02:00
Simon Thommes left a comment
Member

The issues you mention can be fixed, but are independent of this patch.

That means this is good to go from my end then. @JacquesLucke can you take over migrating the issues I mentioned in a way you want to tackle them then?

> The issues you mention can be fixed, but are independent of this patch. That means this is good to go from my end then. @JacquesLucke can you take over migrating the issues I mentioned in a way you want to tackle them then?

I found a bug which is probably not related to this patch, just more "visible" now : If I try to bake to a folder that I have no access to it doesn't tell me that it failed to bake.

I found a bug which is probably not related to this patch, just more "visible" now : If I try to bake to a folder that I have no access to it doesn't tell me that it failed to bake.

I wonder if we could have the path disabled + "a disable toltip" for node-trees that have no simulation nodes. Or optionally not showing them at all.

I wonder if we could have the path disabled + "a disable toltip" for node-trees that have no simulation nodes. Or optionally not showing them at all.

@JacquesLucke also what if we call it "Bake" only? I think path is redundant there.

@JacquesLucke also what if we call it "Bake" only? I think path is redundant there.
Jacques Lucke added 2 commits 2023-05-25 14:45:14 +02:00
Author
Member

I wonder if we could have the path disabled + "a disable toltip" for node-trees that have no simulation nodes. Or optionally not showing them at all.

To me it feels like this might get more in the way than is useful. Maybe someone wants to set up bake paths before working in the node tree (and only then adding simulations). Feels unnecessary to forbid this.

> I wonder if we could have the path disabled + "a disable toltip" for node-trees that have no simulation nodes. Or optionally not showing them at all. To me it feels like this might get more in the way than is useful. Maybe someone wants to set up bake paths before working in the node tree (and only then adding simulations). Feels unnecessary to forbid this.
Member

Maybe someone wants to set up bake paths before working in the node tree (and only then adding simulations). Feels unnecessary to forbid this.

We could use .active instead of .enabled, which only dims the field while still being able to edit it?

> Maybe someone wants to set up bake paths before working in the node tree (and only then adding simulations). Feels unnecessary to forbid this. We could use `.active` instead of `.enabled`, which only dims the field while still being able to edit it?
Author
Member

Just talked with Hans, it doesn't seem like we can edit a disabled hint in either case, unless we are missing something. The disabled hint might only work for operator buttons currently.

I think graying the property out without any hint is more confusing than useful.

Just talked with Hans, it doesn't seem like we can edit a disabled hint in either case, unless we are missing something. The disabled hint might only work for operator buttons currently. I think graying the property out without any hint is more confusing than useful.
Jacques Lucke merged commit dc33a8e974 into blender-v3.6-release 2023-05-25 18:56:06 +02:00
Jacques Lucke deleted branch expose-bake-path 2023-05-25 18:56:07 +02:00
Howard Trickey referenced this issue from a commit 2023-05-29 02:51:36 +02:00
Sign in to join this conversation.
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
EEVEE & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
EEVEE & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
5 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#108220
No description provided.