PDA

View Full Version : Particles and bones, can't we all just get along?



Skittixch
07-01-2008, 10:02 AM
Hey all...I'm way confused here, and I feel like I'm diving into the depths of the PFX hellscape...anyway, I'll detail my steps so far, and say exactly where I'm getting stuck.

I have a cylinder that I've turned into an object emitter. I'm keeping all deformations and motions off so I can basically just use it to spawn particles...then I save the pfx and set the playback mode to key...fine and fine, now I can move it around no problem

well, unless I want to use any deformations on that cylinder...(which I really really do)

so that's my dilemma. Am I just SOL here? I'm willing to try anything as this has been completely turning my brain inside out for about a week now. Any thoughts?

Skittixch
07-02-2008, 05:33 PM
sorry for the thread bump, but I really would like any input you guys might have...it's for a project and I'm really tearing my hair out on this one

Dodgy
07-02-2008, 05:41 PM
Press calculate and the particles should be emitted from the deformed mesh.

adamredwoods
07-02-2008, 06:29 PM
I wonder if you have to save out the motion's MDD first.
Or choose deformation "last".

Skittixch
07-02-2008, 06:31 PM
hey, thanks for the quick replies, but hitting calculate won't work because when I recalculate the particles with the motion of the bones applied, they shoot off with the motion of the emitter (I want my particles to basically remain attatched to the object from which it's emitting) I've also tried saving the MDDs out and the particles react as though they were still sitting on the static object...

adamredwoods
07-02-2008, 06:35 PM
If the particles are shooting off, then try setting the PARENT MOTION parameter needs to be 0%.

Skittixch
07-02-2008, 06:39 PM
it's a different issue...it's not about particles randomly shooting off, I'm basically trying to make particles behave as though they are part of the emitter object (just growing on it, and staying attatched no matter what deformations I'm doing)

and collision is wholly unimpressive at making particles stick either...they tend to vibrate, snap, or be ignored all together...

you can see why I'm having such a hard time...

adamredwoods
07-02-2008, 06:57 PM
Hm. Now we're getting to the real details...

Did you already try the sweat video tutorial?
http://www.newtek.com/forums/showthread.php?t=40237&highlight=particles+sweat

EDIT: Sorry, just read your latest post again...

Skittixch
07-02-2008, 07:36 PM
hehe, it's cool...this is just proving to be incredibly complicated...so much so that I've toyed with the idea of getting deep into sdk-land to try and reconfigure the particle effects in lightwave...

if it weren't for all that dumb in my way, I'd be so down for it...

Dodgy
07-02-2008, 07:44 PM
Why do you want the particles to stay on the surface? Are they always going to be on the surface? Could Copy your object, subdivide it, remove polys and use that with use bones from...

Skittixch
07-02-2008, 07:48 PM
see, that would work if I didn't need the relative particle age controller in hypervoxels... if there's a way to simulate particle age on a vertex from a mesh, then I'd be in business, but in all my digging, I can't find any solution to that one...I really need to use lightwave particles for this one...

Cageman
07-02-2008, 08:50 PM
Here is a little examplescene that probably do what you want (having particles stick to a deformed object).

Skittixch
07-02-2008, 08:59 PM
thanks for trying, but that's not gonna work with my setup...when hitting calculate, they still find a way of permeating the tube. imagine if the particles were plants and they needed to stay on the surface of the object...that's what I'm going for(they would be smoke hypervoxels rather than plants, but you get the idea)...I've been trying for about a week now to devise something to get this to work right, and I'm beginning to think that it's simply impossible in LW in its current state...

any developers out there reading this...things that would be great help are...Particle age randomizers for mesh vertices, and sticky emitters!!!

Cageman
07-02-2008, 09:23 PM
Here (7.8MB, right-click and save as) (http://hangar18.gotdns.org/~cageman/particles_and_hypervoxels/Serpent_test02.mov) is another example, but using a couple of nulls to animate (and control) a voxelsurface. The voxels are attached to the green groundplane, so no matter where I move the nulls, the voxels will always respect the surface they are born from, in this case, the green ground. The ground in this case is deformed by bones.

EDIT: What you can do is to generate a bunch of particles and convert them to nulls and then use the technique I show in this post to have voxels "stick" to the surface...

Cageman
07-02-2008, 09:30 PM
I'm not an L-scripting/programming guy (I've not got the head for that stuff)... :) but I joined the Live-training at KURV (Particles and HyperVoxels) and Tim Dunn said that there are plenty of ways to script particles in LW, especially if using Nulls and Partigons... or something in the lines of that. :)

He is using Houdini quite fequently as well, so he certanly knows alot of stuff. If you have the time and money (not expensive) I suggest you join the course. All classes will be downloadable (if you miss one) and everything will be compiled to DVD when the course is over.

Cageman
07-02-2008, 09:34 PM
thanks for trying, but that's not gonna work with my setup...when hitting calculate, they still find a way of permeating the tube.

Hmm...

Is it possible for you to make a "mockup" of what you actually want and provide a testscene with exact description of what you want to achive? That would so much easier for anyone (artists or L-scripters/programmers) to give it a try.

Cageman
07-02-2008, 10:03 PM
EDIT: What you can do is to generate a bunch of particles and convert them to nulls and then use the technique I show in this post to have voxels "stick" to the surface...

Ahem...

Just played with this and it's really not feasable for this kind of thing, so forget what I wrote... :)

Skittixch
07-02-2008, 10:08 PM
wow...ok, I'm milling over that serpent video...it's the most promising thing I've seen...I saw an ad for the live training, and I'd given it a thought...it might be worth the money to go ahead and try it...I'll try a few more things before doing a mockup...thanks a ton for giving this so much attention!

Cageman
07-02-2008, 10:10 PM
Hmm... changing the Collision mesh to Inside seems to get my example-particles to stay with the object, not even 1 particle that strays off...

Skittixch
07-02-2008, 10:16 PM
it's strange cause in mine, that's exactly what I did, and it's not like an every particle thing, but they seem to have quite a tolerance for error...what version of LW are you running? (I'm 9.3.1)

Cageman
07-02-2008, 10:18 PM
http://hangar18.gotdns.org/~cageman/particles_and_hypervoxels/Stick_to_surface.mov

The reason why they are moving down and "let go" of the surfce at the bottom is because I want them to... (gravity + collision object with Scatter at the bottom).

Is this getting closer to your demands btw? *lol*

Cageman
07-02-2008, 10:19 PM
it's strange cause in mine, that's exactly what I did, and it's not like an every particle thing, but they seem to have quite a tolerance for error...what version of LW are you running? (I'm 9.3.1)

9.3.1 here as well...

Are you using the same object as emitter and collision by any chance?

EDIT: My collision is set to Stick with 1000000% *LOL*

EDIT2: The reason why I ask is that I've seen problems being solved soley by NOT using the same objects as collision/emitter. It seems that LW isn't stacking dynamics that well...

Skittixch
07-02-2008, 10:39 PM
hmmm...well, I think we may be on the right track...I have been using stacked dynamics, so that's something I'll have to take a look at...I might have to stop for tonight, I'm gettin pretty tired right now...I really appreciate your help so far...I'll do some tests and get back here...hope I catch up with ya later!

thanks again!

adamredwoods
07-03-2008, 01:01 AM
Yes, Cageman has the right idea. I just fiddled and was able to get my particles to stick to an object moving using bones.

I've attached a screenshot. Important settings:
Particles: 0% parent motion
FX Collision: stick
inside checked
type: object-subdivided
bind power: 500%
fix and friction power: > 1.0, around 5.0 works nice

in terms of the "stack" I have both on the same object. make sure the particles are first, then the FX collision second.

If they still fly off or move, try playing with the weight and resistance of the particles.

adamredwoods
07-03-2008, 01:38 AM
Video of above:
http://s295.photobucket.com/albums/mm144/adamredwoods/lightwave/?action=view&current=particles_stick.flv

Remember to save your "calculated" particles before you render your scene.
Otherwise, it will won't remember.

I had the particles fade out with age. Also, the arm whips really fast and I do actually lose some particles.

Skittixch
07-03-2008, 12:04 PM
yeah, see that's what I was afraid of...the object I'm moving does flail around pretty wildly, and I need it to have total flexibility in terms of possible motions...I'm really trying to find en elegant solution and not have to worry about the voxels bouncing around and jittering like they will in this case...

Skittixch
07-05-2008, 12:56 PM
hey! I just wanted to post out here that I got something that'll actually work! mainly, it's not using particles at all, and in the node editor, I set up a simulated particle age to work with mesh voxels...(with some help with the initial idea by larry schultz...thanks!) Basically, it's simple once you know some basics of the node editor (which apparently, I did not) All I did was created a point cloud with points in modeler (and all subsequent morphs) and brought it into layout, and I had to download Denis Pontonnier's DP Kit and enabled node editing within hypervoxels. Then came the first road block...if I did a straightforward procedural, the particles wouldn't grow and die suddenly, they would simply undulate in size...an effect which wouldn't work with my setup. So in the node editor, I made a BoxStep node and set the frequency to 2, amplitude to 1, made an envelope for Phase to grow and hit 1 at frame 30, set the end behavior to linear, and set the mode to Repeat. Then, I plugged the result into a turbulent noise procedural and voila! the RGB values in the procedural will grow from black to white and suddenly restart at black when the 255 value is achieved.

holy crap. Thanks all!

Cageman
07-05-2008, 03:19 PM
Nice trick! Have to try that out myslelf! Thanks for posting your solution!

Once again, Nodes proved to be usefull. :)

Skittixch
07-06-2008, 01:02 PM
well upon further investigation, there is one limitation here...no matter what I try, the procedural doesn't react to the deformation of my points, so it doesn't really do exactly what it should when it's being deformed with bones or Defmaps...I think it'll still work for what I need, but I really wish it would just work no matter where I moved the points...I can set the reference object to my object, and it'll take care of actually moving the object, but as soon as it deforms, the particles just take whatever value they slip in to...I'm not really sure of the best way to describe it, but hopefully you get what I'm saying....

so, in the end, it'll probably work, but I know it can be done better

Cageman
07-06-2008, 01:16 PM
Hmm... in that case... would it help to UV-map the object and bake a procedural as a UV-texture (animated even) and apply it that way instead? Tedious workaround, especially if you don't know exactly how you want the procedural to animate. Not as tedious if the procedural is fixed.

Skittixch
07-06-2008, 04:34 PM
that would be a perfect solution if hypervoxels recognized UV maps...even having turned the points to 1-point polys, it's still (to my knowledge) impossible to designate any UV coordinated to hypervoxels.

serge
07-06-2008, 05:07 PM
... it's still (to my knowledge) impossible to designate any UV coordinated to hypervoxels.
But it is possible to stick an object (i.e. 1-point poly) to a position on a UV map with the "anchor" plugin (motion plugin). And it works with deformations. (I'm not sure though if this suggestion will help you.)

Skittixch
07-06-2008, 06:00 PM
ya know, I haven't tried the Anchor plugin before, but even with some searching, I'm a little lost as to what it's even used for...I'm assuming something having to do with rigging since it has an option pertaining to IK...

also, I'm definitely interested in any suggestions, regardless of whether or not they pan out...What do you usually do with Anchor?

Cageman
07-07-2008, 01:18 AM
Anchor allows you to constrain any item to a specific point on another item, using the "stick" objects UV-map... never got it working. I use DPKit+ Node Item Motion for such things...

I've yet to find time to sit down and do some more serious tests... I hope I'll be able to do something today...

Dodgy
07-07-2008, 03:14 AM
You give your sticky object a UV map, and add anchor to your null or whatever. Open the interface, select the sticky object and UV map, and click where you want the object to sit on the surface.

Cageman
07-07-2008, 04:51 PM
You give your sticky object a UV map, and add anchor to your null or whatever. Open the interface, select the sticky object and UV map, and click where you want the object to sit on the surface.

Have they updated Anchor?

Because when I tried it when it was new, it didn't work. And I did it the way you describe. :) Never looked back though, since DPKit and Node Item Motion adds about 100.000 tons of more options. :)