PDA

View Full Version : Particle Emitters and IK bug?



fxnut
07-09-2003, 12:10 PM
Hi guys,

I've got a simple scene: objectA pointing at objectB using the "Target" setting, with the object B being moved around a bit, causing objectA to follow pointing at it. I've parented a ParticleFX emitter to objectA so that the emitter moves around with objectA.

The problem is that while the emitter shows itself in the correct place, the particles don't get emitted from the emitter. Instead they get emitted somewhere else entirely. It appears that emitted particles know nothing about IK.

I've tried using FXStart to see if that makes a difference but it doesn't.

I find it hard to believe that no one else has found this problem, but I've had a search around and I couldn't see anything. BTW, I'm using the standard Lightwave 7.5, and not the updated version c, so I don't know if it might have been fixed for that.

Is this a bug or am I doing something daft?

Cheers

Andy

Bytehawk
07-09-2003, 05:08 PM
as a workaround couldn't you use a simple expression to make the particle emitter follow object B instead of parenting?

Dodgy
07-10-2003, 03:05 AM
It is a bug, particle emitters don't seem to pick up movement as well as they should :P

If I create an IK chain, with the emitter as the IK end, particles are still emitted at it's original position, even as it's moving around emitting other particles. :P

THIS IS POO!

Please fix for 7.5 D :)

fxnut
07-10-2003, 04:12 AM
Bytehawk wrote:

as a workaround couldn't you use a simple expression to make the particle emitter follow object B instead of parenting?
If I could have, I would have! I think if you saw the scene, you'd understand it'd be pretty difficult, I'd be better off trying to key frame it. My object A is the lower part of a piston which is pointing at a place on the circumference of a rotating wheel. I want my emitter to be parented to this piston, about halfway down. So the emitter has both rotation and displacement in an angular arc.

An expression to describe that sort of motion would be pretty complex, and it's not something I'd like to try to do. I'm a fairly seasoned programmer, and I find writing Lightwave expressions a pretty unfriendly process. I find there's a major lack of feedback when constructing expressions regarding correct syntax (which is overly sensitive to white space), and is generally quite frustrating to get working. In addition, the only way to store variables is by creating a global channel to store it in - not nice. It's a shame that Newtek didn't write a metatool to generate LScripts that would allow a bit more flexibility and user friendliness.

Anyway, I didn't set out to have a go at Lightwave expressions, I know from my own experience that setting up a parser, compiler, etc. isn't a trivial task, let alone integrating that into a package such as Lightwave.

One thing I have tried with this, is baking the motion of the emitter using that motion plugin. I didn't have much luck with this yesterday, but I'll give it another go and let you know my results. (Although baking motions kinda defeats the objective of having IK at all! Oh well.)

Dodgy wrote:

THIS IS POO!

Yep, couldn't agree more! I would hope it's a simple fix as well.

Regards

Andy

fxnut
07-10-2003, 05:01 AM
Okay, it is possible (but complex and long winded) to motion bake an object parented to an IK driven object. The main problem is trying to motion bake the world position and world rotation, not the local ones, otherwise you'll get nothing.

Here's how to do it. Firstly, create a null object, parent it to the IK object and set it to the desired position and rotation. Motion bake its XYZ (using the "extra channels" option). Those are the global XYZ coords for the emitter to follow, so copy those into the XYZ channels of the emitter.

Getting the world HPB is a bit trickier! Make another Null object and use something like object follower to slave the position and rotation to the first Null. If you use Motion Baker on this second null, you'll be able to retrieve the world HPB (although interestingly, you won't be able to get hold of the world XYZ - god knows why!). Now you can copy these channels into the HPB channels of the emitter to produce the final desired motion of the emitter and have the particles work properly.

I told you it was long winded! I hope you guys at Newtek don't think that because I've got a work around you'll ignore the problem!

Regards

Andy