PDA

View Full Version : PFX - Undulating "trails" escaping collision boundry



Chrusion
02-21-2014, 09:45 AM
I have a serious PFX problem.

I'm creating a propane fueled burner flame using particles emitted from a ring of 16 polys at a rate of 90/frame at a velocity of 4 m/s on X and a 4 m/s explosion. They live 6 frames +/- 1. A rotate(y) wind at 5000% creates the desired swirl, though due to the particle velocity it's nearly imperceptible.

A collision tube is used to shape the flame.

Everything calcs out great, but when the motion is saved (.pfx file) and I playback the timeline, the best word I can use to describe their motion is that the particle trails undulate from being contained inside the collision tube to popping outside the tube. You have to see the attached playblast to understand.

The question is... WHY? (PFX resolution = 10mm. Scene and objects are at real world scale. Dia. of combustion tube is almost 2 ft)

No. This is NOT just a LW preview window thing. When rendering the particles with HVs set to 150% Velocity Align to Path, the frames where the motion trails of the particles pop outside of the collision tube actually RENDER outside the collision tube!! This obviously destroys the sharply defined shape of the flame required. It can't be undulating as shown in the playblast.

Also notice that the travel extent of the particles also shortens by a frame's worth of distance when the trails undulate outside the collider.

Also notice that this is NOT a collision issue. ALL particles collide and do NOT escape out of the sides of the container and fly off.

Any ideas? VERY tight dead line next week to meet. Rendering this as is will not get approved. It HAS to be fixed!

Hieron
02-21-2014, 10:51 AM
Not sure, can't say I've seen it before. Any chance of using another way to save the sim? For instance use particle scan and save to .mcc (both Denis Pontoniers I think). Use the .mcc pointer to load it back in. Still wrong?

That said, if you are trying to achieve something alike http://www.youtube.com/watch?v=iS_stXG5RXk (at 0:55), meshes and textures could be a viable and more tweakable option for such things.. HV's... dunno

Chrusion
02-21-2014, 11:02 AM
I turned on fractional frames, narrowed the time line range, and scrubbed the playhead so I could see particle motion in slow motion. What I see is freshly emitted particles changing direction before hitting the collider at the same time preceding particles hit the collider for the first time. I don't think that has anything to do with the issue, just an interesting observation.

More interesting is that particle calculations are not based on fractional frames, even if that timeline option is on. All particles that collide with something all do so at the same time (whole frame numbers). There's no particles offset in time by, say, half a frame.

When scrubbing in 'slow motion' I couldn't see any difference in particle motions... that is, no undulations, but as soon as I played in real time (no matter what the setting of play at exact rate in gen. options), the undulations appeared. So, it must be some sort of temporal synchronization thing.

As far as the trails extending outside of the collider, this appears to be just how particle motion works. Even though the particle head collides on an integer frame, its change of direction on the first fractional frame afterward is applied backward in time, thus the trail extends outside the collider. This only rears its ugly head when using HVs with Velocity Stretch - Align to Path. The head of the particle is inside the collider, but its instantly new direction puts the stretched HV outside the collider, instead of pointing back to where it was a fraction of a frame before. The amount of stretch also aggravates the problem.

I guess the "fix" is not to use HV stretch and adjust size so that multi-pass dithered motion blur fills in the gap between frames.

richhelvey
02-21-2014, 11:04 AM
You could try doing the sim with slower particles - in super slo-mo if you will - and either rendering with a step higher than 1, or rendering the whole thing and speeding up in after effects.

Chrusion
02-21-2014, 11:06 AM
Yeah, textured mesh might be feasible in most cases. Not here as I need to show start up and shut down, which isn't as simple as scaling and dissolving a mesh.

JoePoe
02-21-2014, 12:35 PM
I think you need more geometry on your collision object.

Perhaps a subdivided collision object set to object subD? you can also up the subD level at will to see if that helps.
Also maybe giving the collision object some wall thickness? Just thinkin'.

Chrusion
02-21-2014, 01:25 PM
Like I said, Joe... it's not an issue with collision. ANY change in direction with the 300% HV stretch amount I was using will result in "tails" jutting outside of the collider. In this case, a smoother collider will do nothing due to the sheer velocity of the particles... they just will not see all the extra geometry in between one frame sample to the next.

I lowered the stretch amount to 70% and the results are near perfect after tweaking on HV size gradient and upping the birthrate to 1600/frm (to make sure all emitter vertices were emitting a particle each frame).

Rendering time is the bear, now... 25 min. with all samples at 1 (shading, lighting, AA) and 5 as the AA max with a 0.07 threshold. I'm letting the 4-pass dithered motion blur take care of the graininess of the blurred reflection stainless steel material.

This scene has almost everything... Baked anim GI cache, soft reflections, instancing, particles, HVs, and soft shadows (sphere light).

JoePoe
02-21-2014, 01:55 PM
Like I said, Joe... it's not an issue with collision. ANY change in direction with the 300% HV stretch amount I was using will result in "tails" jutting outside of the collider. In this case, a smoother collider will do nothing due to the sheer velocity of the particles... they just will not see all the extra geometry in between one frame sample to the next.

I lowered the stretch amount to 70% and the results are near perfect after tweaking on HV size gradient and upping the birthrate to 1600/frm (to make sure all emitter vertices were emitting a particle each frame).

Rendering time is the bear, now... 25 min. with all samples at 1 (shading, lighting, AA) and 5 as the AA max with a 0.07 threshold. I'm letting the 4-pass dithered motion blur take care of the graininess of the blurred reflection stainless steel material.

This scene has almost everything... Baked anim GI cache, soft reflections, instancing, particles, HVs, and soft shadows (sphere light).

Hmmmm, well I'm glad it's working.

Just to be clear though, I wasn't suggesting a smoother collider per se, but a more dense one.
I've got a 500% stretch going (500 frame b-rate) and it seems to be holding up.

120294

Maybe it is all about scale. :)

Chrusion
02-21-2014, 02:33 PM
Increase the HV size to roughly 1/8th the dia of the collider's wide spot and see what you get. Actually, I'm using a gradient <- rel. part. age to size up the HVs from 40% at birth to 100% at 1/3th then down to 80% and death.

JoePoe
02-21-2014, 02:57 PM
Okay, I'm game. :)

But if I do that I also get to increase the radius/level on my collision object to (just slightly over) 50% of my HV size. (Collision object sees the center of the voxel yes).

So, the widest part of my tube is 1.6m. My HV at 100% is 200mm. Using the same gradient you've got.

120295

The only thing I see is a teeny tiny bit of the HV "volume" is over the boundary at the end tip. But that's a .02 second fix on the gradient. :thumbsup:

edit: hmmm again..... just tried the same set up (same collision object) un-subDed. Still calculating fine with less geometry than what u have. So I'm not sure what was going on.

Chrusion
02-21-2014, 06:31 PM
Your particle velocity is way too slow for the size of the collider. Increase it by 10 times or until particle death is 6 frames after birth and die right at the collider exit. When you do that, then the explosion value has to be cranked way up as well to offset the narrower "cone" created by the faster particles. My ring of emitter polys were angled at near 45 deg. / / / / so that the Object - Normals mode shot them radially outward rather than straight forward.

JoePoe
02-21-2014, 07:34 PM
Very interesting [email protected]

I've got my velocity up to 21m/s. Particles are now dying just after exiting "nozzle" (life of 6 +-1).
Explosion is poppin' at 15. At least visually it looks to be making first contact with collision in similar place as your example.
HV size is still relative to dia. Wind at 5000%.

I don't understand the 45deg thing....

I am getting some blow back as you can see.... but it is being contained. Like I said.... interesting.

120297

Chrusion
02-22-2014, 06:28 AM
Attached is my emitter designed to launch the particles in a sideways direction, thus their 45 (or more) deg angle relative to the ring's longitudinal axis.

The wind then causes the particles to spiral down the collider (there are vanes in the burner nozzle that force the draft air to swirl at a very rapid rate in order to sculpt the flame).

In your setup, the 5000% wind might not be sufficient for the scale/speed of the particles... maybe 5 times that?

JoePoe
02-22-2014, 07:30 AM
Wind upped to 25K then 50K then 75K. Still holding. :)

Just took a look at your emitter. Aaaaaah, I see now...I didn't get that at all!! I like it.
Gonna give that a ride. :hey: