PDA

View Full Version : deforming particle weirdness.


ranxx
11-06-2008, 06:22 PM
hey all, I'm stuck. I have a particle system which I have applied a lattice to, I have used the instancer to place objects onto the deformed particle shape, but the instancer doesn't pick up the rotationPP. I have tried many things to try and have the rotation picked up, but to no avail. I am about to write expressions to place objects on particles (basically rewrite the instancer), which is no doubt going to be slow. Before I did this I thought I'd ask here if anyone has any ideas.

thanks

-ranxx

ranxx
11-06-2008, 08:11 PM
allright, what I wound up doing was using nimble software's uninstancer on the instancer which was connected to the deformed particle shape, then breaking the keys on the rotations, then writing an expression to get the rotations from the original particles onto the baked geo, then baking those rotations. So it works, but it's a lot of steps. Too bad the instancer wouldn't just "work".

-ranxx

hey all, I'm stuck. I have a particle system which I have applied a lattice to, I have used the instancer to place objects onto the deformed particle shape, but the instancer doesn't pick up the rotationPP. I have tried many things to try and have the rotation picked up, but to no avail. I am about to write expressions to place objects on particles (basically rewrite the instancer), which is no doubt going to be slow. Before I did this I thought I'd ask here if anyone has any ideas.

thanks

-ranxx

Derek Wolfe
11-06-2008, 10:35 PM
You said " the instancer doesn't pick up the rotationPP. I have tried many things to try and have the rotation picked up, but to no avail."

What have you tried?
To have it work:

Open the attribute editor for the particleShape.
open the "instancer (Geometry Replacement)" tab.
go to the "Rotation options".
set the "Rotation" dropdown to use your rotationPP attribute.

ranxx
11-06-2008, 10:39 PM
yes I've tried this. It even works on the non deformed particle shape (as always). But once you apply a lattice to your particle shape, create an instancer on the particleShape1Deformed object, then try to set the rotation to rotationPP, doesn't work. The rotationPP values are correct (they are being created and animated by an expression on the original particle shape), and they are being copied over to the deformedParticleShape correctly (I verified this by changing the display type to numeric, then setting rotationPP as the displayed variable). Unfortunately the instancer is not using them. Try it and please tell me I'm wrong.

-ranxx

You said " the instancer doesn't pick up the rotationPP. I have tried many things to try and have the rotation picked up, but to no avail."

What have you tried?
To have it work:

Open the attribute editor for the particleShape.
open the "instancer (Geometry Replacement)" tab.
go to the "Rotation options".
set the "Rotation" dropdown to use your rotationPP attribute.

Derek Wolfe
11-06-2008, 11:06 PM
Sorry to say I am getting the same result. Furthermore I am getting this:

// Warning: Deformed particleShapes do not handle expressions; apply the expression on the original non-deformed particleShape. //

if I try to set an expression on the particleShape1Deformed object.
Bummer.

ranxx
11-07-2008, 04:21 PM
does anybody have a solution to this ? Is this a bug ? I did figure out a workaround (mentioned above), but there must be a way to get the instancer to work in this case. Otherwise using deformers on particle shapes is bugged ?

-ranxx

JoshM
11-07-2008, 06:27 PM
From what I remember if you deform particles, none of the Per Particle Expressions are carried over. So if your rotationsPP Per Particle Attr is on the original particle shape prior to the deformation, it won't show up on the deformed particle shape. So essentially after deforming the particle shape you will now have two particle shapes, the original and the new deformed one.

So to get this to work you might have set up the rotationsPP attr on the deformed particle shape.

HTH,
Josh

ranxx
11-07-2008, 06:44 PM
yes I did all of this. If you create a rotationPP attribute on the deformed particle shape the rotationPP on the new shape will be correctly carried over from the old particle shape (I believe, but this seems like what it was doing). In any case just to test it I wrote a function to copy all of the pp attribtues over to the deformed particle shape on each frame. The crux of the problem is that the instancer on the deformed particle shape does not pick up the rotationPP. It seems like an order of operations problem, whereby the instancer is looking at the rotationPP attribute before it actually contains anything. No idea.

-ranxx

From what I remember if you deform particles, none of the Per Particle Expressions are carried over. So if your rotationsPP Per Particle Attr is on the original particle shape prior to the deformation, it won't show up on the deformed particle shape. So essentially after deforming the particle shape you will now have two particle shapes, the original and the new deformed one.

So to get this to work you might have set up the rotationsPP attr on the deformed particle shape.

HTH,
Josh

JoshM
11-07-2008, 08:43 PM
So is the expression for rotationsPP still on the original particle shape or is it on the deformed particle shape?

I'm not 100% clear on how deformed particle shapes deal with expressions. There is a possibility that the deformed particle shape doesn't look at any expressions, which would render the rotationsPP attr useless regardless of what object the expression is applied to.

Josh

ranxx
11-07-2008, 08:58 PM
expressions are not evaluated on the (any) deformed particle shape. The rotationPP attribute is on both the particle shape and the deformed particle shape. I did a lot of testing, including writing a runtime script to copy the rotationPP array from the particle shape to the deformed particle shape, but it seems like if you create the rotationPP on the deformed particle shape, maya gets the values from the original (not sure how this works, or even if what I'm looking at proves that I'm looking at the rotationPP attributes on the deformed particle shape). In any case, the rotationPP values seem to be correct on the deformed particle shape, but the instancer does not work when I set them to rotation:rotationPP.

-ranxx

So is the expression for rotationsPP still on the original particle shape or is it on the deformed particle shape?

I'm not 100% clear on how deformed particle shapes deal with expressions. There is a possibility that the deformed particle shape doesn't look at any expressions, which would render the rotationsPP attr useless regardless of what object the expression is applied to.

Josh

CGTalk Moderation
11-07-2008, 08:58 PM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.