Maniphest T101823

Curves sculptmode: sculpting in deformed space breaks when using Duplicate Elements node (followed by Set Position)
Closed, ArchivedBUG

Assigned To
Philipp Oeser (lichtwerk)
Authored By
Philipp Oeser (lichtwerk)
Oct 14 2022, 1:53 PM
Tags
  • BF Blender
  • Nodes & Physics
  • Geometry Nodes
Subscribers
Hans Goudey (HooglyBoogly)
Jacques Lucke (JacquesLucke)
Philipp Oeser (lichtwerk)

Description

System Information
Operating system: Linux-5.19.6-200.fc36.x86_64-x86_64-with-glibc2.35 64 Bits
Graphics card: NVIDIA GeForce RTX 3080 Laptop GPU/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 515.65.01

Blender Version
Broken: version: 3.4.0 Alpha, branch: master, commit date: 2022-10-10 00:22, hash: rBa24f11e0ec96
Worked: -

Short description of error
Curves sculptmode: sculpting in deformed space breaks when using Duplicate Elements node (followed by Set Position)

Exact steps for others to reproduce the error

  • open .blend
  • try to comb in the "bad" area >> nothing happens
  • try to comb in the "good" area >> combing works

Probably needs something along the lines of rB30113e54d262: Fix curves sculpting in deformed space when using Subdivide node

Related Objects

Mentioned Here
rB30113e54d262: Fix curves sculpting in deformed space when using Subdivide node

Event Timeline

Philipp Oeser (lichtwerk) changed the task status from Needs Triage to Confirmed.Oct 14 2022, 1:53 PM
Philipp Oeser (lichtwerk) claimed this task.
Philipp Oeser (lichtwerk) created this task.
Philipp Oeser (lichtwerk) added projects: Nodes & Physics, Geometry Nodes.
Philipp Oeser (lichtwerk) changed the subtype of this task from "Report" to "Bug".
Hans Goudey (HooglyBoogly) added a subscriber: Hans Goudey (HooglyBoogly).Oct 14 2022, 6:36 PM

I think this is a limitation of the way the deformed positions storage works. The first non-deforming node saves the positions, and they aren't adjusted after that. In general this is fundamental to the way it works-- any future node can't be evaluated on the saved curves edit data with the same results that it has on the curves.
The simple fix in this situation is to just swap the two nodes, that would make it faster anyway.

In the past we talked about letting node group makers set this data directly so they can have more control. That could help here

Philipp Oeser (lichtwerk) added a comment.Oct 15 2022, 3:21 PM
In T101823#1432536, @Hans Goudey (HooglyBoogly) wrote:

The simple fix in this situation is to just swap the two nodes, that would make it faster anyway.

How would that work?
The Duplicate Elements needs to be before the Set Position (it uses the Duplicate Index as an input for Set Position)

Also just noticed that dropping a Deform Curves on Surface after a Duplicate Elements node will crash blender, will check/report that on Monday

Hans Goudey (HooglyBoogly) added a comment.Oct 15 2022, 10:06 PM

How would that work?

Ah, right, it doesn't. Sorry, didn't have the file open when I wrote that.

Jacques Lucke (JacquesLucke) closed this task as Archived.Oct 20 2022, 3:27 PM
Jacques Lucke (JacquesLucke) added a subscriber: Jacques Lucke (JacquesLucke).

This case is indeed not supported currently and might never be automatically. Blender doesn't really know how to interpret the positions set by the Set Position node and how they relate to original curves.

In this specific case one should first offset all curves and only then duplicate elements and add some randomness.

As Hans mentioned already, we could add nodes that allow the user to help Blender in such cases in the future.