need dynamically created wire sims advice

   5343   5   2
User Avatar
Member
537 posts
Joined: Dec. 2005
Offline
Ok, so I have a copy-stamp crowd that also creates wires which will eventually be simulated and then used for wire-deforming the geometry.

This crowd/wires needs to be dependent on a particle system with a variable number of particles, created at different times. I'm wondering how to dynamically get the wires into DOPs.

First off, I see lots of options in Dops for copying objects etc but not much for wires, so what's best of copying unique wires?

The major issue is of course the fact that I just want to get in the wires whenever they are first created by the particle/system/copystamp … I don't want to create new wires on every frame. Then these wires need to be constrained to constraints which corrispond to the particles as well, so I'll need to dynamically constrain the wires to the appropriate constraint.

So, any tips to get me off the ground? Basically advice for copying wires into Dops.

Attachments:
particleDrivenWireSim.jpg (42.2 KB)

User Avatar
Member
537 posts
Joined: Dec. 2005
Offline
well, I have a simple method worked out where the geometry inherits the $LIFE of the particles they are copied onto as a point attribute, then a delete operator deletes everything that doesn't have a $LIFE of zero; ensuring that only the first frame of whatever wires are copied will exist in the wire object DOP.

From there it is creating on every frame $F … so as new wires are created they just get fed into the simulation.

This method seems to work but seems unusually slow, maybe it's just because I have lots of wires … is this a common way to do this stuff?

Next issue is to dynamically generate constrains for each chunk of wires (in the middle of the spiders) I'm guessing I'll be able to do some type of distance based attribute but we'll see … is there any obvious approaches for bringing in dynamically created constraints to wires?
User Avatar
Member
50 posts
Joined: Jan. 2006
Offline
Im not quite sure why you need to run the DOPs sim at run time, you can't just create all the stuff you need then go into DOPs? It's very important to keep in min that DOPs is quite picky and fickle, so whatever time you can spend to be sure that the Dynamics are correct and not have to resim from scratch on every itteration will keep you from waking up rip van winkle waiting on a sim. And yes DOPs can be exponential in its computational time with each element added, especially if you havn't taken the time to optimize the network.

PS

watch out for constraints.
“Don't just look for what you think you will find”

-That CSI guy
User Avatar
Member
537 posts
Joined: Dec. 2005
Offline
well, there are a lot of these wire formations so I certainly wouldn't want to set up all the constraints etc by hand, and they are stamped so I would have to lock down the geometry beforehand which I don't want to do.

These are going to generate other effects as well as musical notes with their movements so I need to put off the desision of how many legs, how many creatures etc until I've addressed the other issues, then I may need to adjust quite a few factors.

The purpose of the simulation is very simple however, merely to have the legs etc react to the surrounding tube and have residual bounce. I've got this completely working except for the constraints so far. So, I'm going to have to dive into the constrains stuff there is surely a way to make and dynamically add them.
User Avatar
Member
537 posts
Joined: Dec. 2005
Offline
wow, that's amazing, wire glue constraint has everything I need. The wire objects point attributes just need to be set to constrain to the correct points, which can be set using near point expressions in sops
User Avatar
Member
537 posts
Joined: Dec. 2005
Offline
ok, so while I've gotton both ways to work, Phenom was right in the fact that everything works better when it's not dynamically added to the sim.

The method for wires I've ended up using is to create the wire crowd first, and then to add all of them to the sim, which shows up in details as a single wire object.

When I want them to start synchronizing to a particle, once the particle is created that wire-crowd-delegate will “snap” to that particle with it's glue constraints attribute. It doesn't have any residual motion because it's attributes start off very stiff, then once it goes to the particle the wires relax and become fluid.

I am encountering a very strange issue however … mid-way through the simulation some things start to “freak-out” and the legs get very jittery … but the strange thing is that they do it all at once, even when the wires are not any way near or touching each other.

So my question now is … when using wires and constraints, how is it possible that a wire that is constrained to a completely different constraint and not touching could effect the other …. could it be a memory issue, I have noticed that a wire needs a little memory just to calculate where it's sopposed to come from etc, so could this be when the computer reaches it's memory limit and refreshes it's cache or something?

I didn't get this result with multiple wire objects, just the same wire but different wire peices and constraints. I can try to duplicate but will be a big deal since I've got a lot of assets working .. so just curious if anyone's seen anything similar.
  • Quick Links