Modifying DOP Affectors

   4338   4   0
User Avatar
Member
4262 posts
Joined: July 2005
Offline
I have a DOP network with tens of thousands of objects in it and all but a few random objects should be mutual affectors. Is it possible to use the Affector DOP to remove a affector relationship? Its straight forward to add them. But I can't figure out how to remove them. Any ideas?
if(coffees<2,round(float),float)
User Avatar
Member
387 posts
Joined: July 2005
Offline
Umm. Hey Wolfwood. Since no one else has replied…

I wonder if there's a simple solution with a couple of Group DOP's and a Merge DOP. The Merge DOP can be made to create one-way affector relationships (Left Input Affects Right Input). Or do you mean no affect at all? I think in that case you have to sort them out before they come into DOP's, and bring both groups in seperately (Merge has a “no change” affector relationship, which you could use). Group the mutuals and the others in sops.

b.

PS. Have you looked at the No Collider DOP? Are you colliding?
''You're always doing this: reducing it to science. Why can't it be real?'' – Jackie Tyler
User Avatar
Member
4262 posts
Joined: July 2005
Offline
ben simons
(Merge has a “no change” affector relationship, which you could use). Group the mutuals and the others in sops.

Aye. Part of the problem is I'm using RBD Point Objects with 10,000s of instanced pieces, that for the most part all need to affect one another. There are a couple problem objects that I wanted to change their affectors by hand, but there doesn't seem to be a straight forward way to do this. I thought about setting the Merge DOP to none, and then use the Copy Data DOP to loop through all the pieces setting the affector relationship that way. But I couldn't get that to work either since affector relationships aren't “data”.

PS. Have you looked at the No Collider DOP? Are you colliding?
Now this looks promising. It looks like the Collider Label and No Collide DOP are the combo I need. Interesting.
if(coffees<2,round(float),float)
User Avatar
Staff
4441 posts
Joined: July 2005
Offline
Sorry, I meant to respond to this earlier. An easier approach than using the No Collider is to simply avoid making all the objects mutual affectors in the first place. Instead create a group for the objects that shouldn't collide, and then create a group that is the rest of the objects (the ones that should collide). Then use an Affector DOP to make the ones that should collide mutual affectors. Attached is a file that shows this. The no_collide_objects group can even change over time (make a separate Group DOP for each time range and use Activation expressions).

I know this doesn't answer your original question of removing a few objects from an existing mutual affector relationship, bu that isn't possible, so it's easiest to avoid making the relationship to begin with.

Mark

Attachments:
skip_collide_objects.hip (72.8 KB)

User Avatar
Member
4262 posts
Joined: July 2005
Offline
Thanks for the example Mark. Turns out the Collider Labels was what I should have been using instead of the more global Affector Matrix.

In a simulation of say 20,000 objects I wanted to specify that, object_2817 and object_8725 should not affect each other because of such and such condition. (Except in my case I had a few hundred of these one on one cases.)

Once again, thanks Mark and Ben for the help.
if(coffees<2,round(float),float)
  • Quick Links