evolving geometry to wire solver

   2439   6   0
User Avatar
Member
125 posts
Joined: April 2014
Offline
I am trying to develop a system where I can have geometry grow and then collapse/die.

I have been successful doing so in POPS but I would like to use the wire solver for the collapsing geometry. However all of my attempts to attach the wire solver to my setup have failed. It seems to me that the wire solver is not receiving the geometry info for some reason.

I have tried using the shelf tools as well as manually setting up the wire solver. Setting up the wire solver on static geometry has not been an issue but that is not what I am after.

Would anyone have any suggestions?

I am including a simple scene that shows two of the scenarios I am attempting.
You will need to scrub to frame 200 to see the “dead” geo that I am attempting to feed to the wire solver
Edited by jeffMc - July 4, 2018 09:41:36

Attachments:
grow_die.hip (667.6 KB)

User Avatar
Member
125 posts
Joined: April 2014
Offline
the more I look at this I am thinking it boils down to setting a unique Creation Frame per object in the WireObject.

Attached a simplified version of the setup.

Within the WireObject I can manually set the creation frame but I cant seem to get the parameter set per object.

$F also works but respawns every object on each frame.

I have tried creating a createframe attribute as well as trying to drive the value with a prim function referencing the source geometry sop. The value seems to be getting transferred, but no result.
- prim(“/obj/geo1/attribpromote1”,@prim,“createframe”,0)

Thought I was getting closer but not so sure now.

I've updated the scene to fix an error I had with defining the createframe value
Edited by jeffMc - July 4, 2018 12:41:29

Attachments:
grow_die_2.hipnc (293.6 KB)

User Avatar
Member
125 posts
Joined: April 2014
Offline
lol so the more I look at this the more I realize how little I understand.

Clarifying my issue I will say that I am trying to create a wire simulation into which I can introduce and remove geometry.

From some more searching I have gathered that I probably also need to use the multiSolver along with the SOP solver.

I have found some pretty nice examples that introduce geometry into the sim but not quite in the way that I am hoping to. The examples are based on duplicating existing geometry and or resampling the existing geo. I believe I need to be able to introduce unique elements.

So I am trying to modify things to accomplish that. Yet I just cant yet grasp what the requirements are for the sim to work and even how data and the processing flows work between the nodes.

This scene shows two approaches with pretty much the same weird (to me) result.
The intent is to introduce line segments into the wire sim over time and be affected by gravity and wind in the expected ways.

I am using a pop solver to generate points onto which I am copying the geometry I wish to simulate as wire

Attachments:
grow_die_3.hipnc (464.7 KB)

User Avatar
Member
125 posts
Joined: April 2014
Offline
would anyone have any tips suggestions for making headway on this?
It seems that I can introduce geometry into the wire sim but it is not behaving as I would expect

I feel have explored all combinations and orders of connecting the nodes, setting creation frames, etc but without success.

I don't know where else to look

jammer
User Avatar
Member
125 posts
Joined: April 2014
Offline
I have managed to get this working somewhat, at least I have the jist of it I believe.

Too many variables/options to consider and forgetting to refresh properly can lead one astray.

However now I have even more questions about some of the options lol I'll post a simple working scene later.

jammer
User Avatar
Member
125 posts
Joined: April 2014
Offline
uploading the latest version. If anyone has any suggestions, even if just saying this is a bad idea/approach I would be most appreciative.

Success
- adding and removing unique geometry into the wire solver over time
-dynamics mostly work as expected (still working to define what this is but seems that the first point of the objects may have different wire behavour)

Fail
- unable to pin a constraint on the wires and the base slips while falling. When I do add a constraint(pintoanimation) they are placed at the origin during the simulation and or the point order gets scrambled.
- way too slow to be practical ( I suspect this has to do with all of the duplicate geo)

Why?
I believe the issue is that the geometry I am adding is being duplicated several times in the solver/simulation and I cant seem to find a workaround.

Other questions
- It would seem much cleaner to just pull geo from an external SOP. However when I do that I cant get any dynamics at all. Is there a way to configure the imported geo so it becomes solvable?
- How does anyone learn this stuff? The more I dig in here the more of a mystery it seems sometimes. Simple setups are fine but when trying to do something different I am having trouble finding references to the function and flow of these nodes that are explained well enough to match my level of understanding.

Anyway I would really appreciate any help or suggestions on this. It has been a great learning experience but I need to make something happen or move on.

jammer

edit - just discovered that I don't need “solve on creation frame” on in the wire object. I think this is what was contributing to the duplicate points. setting the pintoanimation point still goes to 0,0,0 though.
Edited by jeffMc - July 18, 2018 18:48:51

Attachments:
life_trees_2.hip (854.7 KB)

User Avatar
Member
125 posts
Joined: April 2014
Offline
I kind of feel I am having a conversation with myself lol.
Thinking this could be helpful to someone else so posting what I think is a reasonable resolution to getting changing geo into and out of the wire solver.

I went down a couple of different paths in trying to do this and it turns out I needed a bit of both.
No effort has been made to style the dynamics here, just glad I was able to get the system working and stable. It is actually kind of weird but I chalk that up to mostly needing to tweak some values (I think).
I have several things in mind for pushing this further. It seems I was stuck at this point for quite a while.

To get it working properly I had to set and trigger a creation frame for each new object as well as have the correct options set on the solver and wire object.

Maybe if I get my momentum back I will post a follow up in the work in progress area.

Pros:
- can add and remove geo at will.
- works reasonably fast (I think)
Cons:
- all geo has to be created in the sop solver. I could not figure out a way to bring in external geo in and have it work. Not a big deal other than having to work in the sop solver.
- could not get a pintoanimation working and did not get around to trying other constraint options.

I would welcome any further suggestions if anyone has any.
jammer
Edited by jeffMc - July 23, 2018 19:10:46

Attachments:
life_trees_5.hip (1001.0 KB)

  • Quick Links