Particle Flow Discussion


#561

here is a test for HAir dynamics using PF
based on the Bobo’s hairyPot, I replace the Flex by Skin and Bones (with spring controller).
The problem with flex is that I can’t keep the strand unstretched.
In fast motion strand always expand stupidly, I cant find the good settings even with springs otpions.
So, I build 4 bones rig with 3 PointsHelpers with SpringControllers.
I add a gravity force in springs settings.
Stretch prob is solved

The other problem is always the same that in the bobo’s example, when you twist the Lead ball (teapot in bobo’s), strands orientation become strange due to
the combination of SpeedBySurface and SpeedSpaceRotation I think…

Anyone to solve that ?
thx

[http://forumel.free.fr/MyHairs01.max]

[http://forumel.free.fr/Hairs00.mov]

:stuck_out_tongue:


#562

Haven’t been here for a while, been busy going old school with the pencil and the pad. Man, is this thread moving fast, takes quite some time to read it all back.

The PF hair is coming along nicely. Nice rig, Loran. I remember posting that same solution a few pages back, but I didn’t get it to work as good as you did. Looks like that ball’s got my barber. :wink:


#563

Originally posted by deetee
[B]@ Aurorae : Try making the blobmesh 0.5 in tension, and make the “Evaluation Coarseness” low for the render. Turn on “Large Data Optimization” and if you have a fast computer - you can even add a “Relax” modifyer to the blobmesh for it to be more complex.

That blobmesh setting will give you something looking like this [/B]

max 5 doesnt have blobmesh, thats what I was saying ^.^

the only thing similar to that is in super spray, which afaik doesnt work w/ particle flow.

Thanks for the setting anyway though!


#564

heyyy cool stuff guys pretty hard to keep track of all the cool things going on on here right now :wink:

Will post some R&D scenes I’ve been doing lately soon - kind of stuck with a big deadline and some other stuff that’s taking up all my time unfortunately :\ so only getting to glance over the threads every few days. But seems there’s lots of stuff going on here right now :wink:

Cool!!


#565

Aurorae, here are two different blobmesh plugins for max 5.

http://www.habware.at/max4/Blobs4.zip

http://www.max3dstuff.com/max4/blobMod/blobMod.zip


#566

I trying to build a Avoid system
Particules have to anticipate obstacles on their way
anyone ever try this?


#567

here is my test
It’s quite simple:
a wind push the particles forward
keep apart repeal them from the bloks
wind perturbation smooth the hard repeal motion

the difficulty is to make the particles ease in when approching a obstacle.

[http://forumel.free.fr/PF/avoid02.mov]
[http://forumel.free.fr/PF/avoid03.mov]


#568

Hey guys, was just playing earlier with something which is still very early days, but writing an operator to have sheets of glass or other things and have an object crash through them, and it samples that area and tells it to go to the new event with an initial velocity assigned that decays from the impact position out.

right now it’s early days, although I’m writing most of the elements seperately which will then be put togeather.
The idea is that I could get a flat plane, and run the script, it will shatter the object and assign each piece to a particle which then will be sampled through the operator.

The part I’m showing is kind of simple, but figured it might be cool to show as you can do a lot with it. Rather than using deflectors and operators this just samples the objects in an array and if they are within a radius it sets the impact area. I’m about to transfer it over to a particle system which is being a lot harder than it should be to have two systems communicate.

A lot of this can be done through operators but it’sfun to try and do it all by hand.

http://www.allanmckay.com/tmp/part_assignment.avi

anyway this isn’t very fancy at all, there’s a lot I have to clean up too and it’s just the basics. but thought it’d be worth throwing up, stuck between blade and exorcist stuff so dealing with stinking particles ugly ui and needed some pflow lovin in my spare time :wink:

on Proceed pCont do
(
count = pCont.NumParticles()
bullet = $bullet* as array

for foo in 1 to bullet.count do
(
	for i in 1 to count do
	(
		pCont.particleIndex = i
		ppos = (pcont.particleposition)
		impact_pos = ((distance ppos bullet[foo].pos) * (random (random .6 1.1) .7))
	
		if impact_pos <= 15 then
			(
			local bullet_vel = (.1 / (impact_pos / random .5 1.9))
			pcont.particlespeed = [bullet_vel,bullet_vel,bullet_vel]

/ (pCont.particleSpeed /30)
pCont.particleTestStatus = true
)

)

)

)


#569

man, I wish I was stuck between blade and exorcist stuff :slight_smile:


#570

I’m going to be stuck between a toilet bowl and a some bottles of tequila tonight :wink:


#571

Tequila make me work faster, don’t know why :wink:

Just passed here to notify you guys I’ve published 18 minutes video tutorial. It’s free.


#572

Brilliant tutorial!
Nicely explained, easy to understand step-by-step presentation even for non-portuguese-speaking users like me :slight_smile:
(I am sure the introduction of my nickname will earn lots of smiles in Brazil :wink: )

Once again, great job!

Bobo


#573

Ok umm, how do I d/l it, lol? Its not letting me d/l when I click on the links which i can’t read.


#574

Originally posted by treed
Ok umm, how do I d/l it, lol? Its not letting me d/l when I click on the links which i can’t read.

It is streaming.
When you click the Windows Media Player link, a new window should open asking for email and password. If you don’t have a password for redPixel, click the last link saying
“Novo usuário? Cadastre-se gratuitamente!”
(New user? Register for free), then enter your email (twice) and your desired password (twice) and then do the same in the previous screen that will appear again after registration.
Then the Windows Media Player (9!) should open and sream the tutorial.


#575

Wow, great work. It looks so realistic and yet so easy to do. And the best part about it is, you don’t need shag hair to do it. :slight_smile:


#576

that hair tut rocks! thanks man! This thread has been great. I would like to know how the rain was done though :slight_smile: I’m new to all of this particle stuff.


#577

Here is a new tutorial showing the basic steps to move objects using PFlow and a Script Operator.

http://www.scriptspot.com/bobo/mxs5/pflow/pflow__MovingObjects.htm

Here is the result of the tutorial:

A user on the Discreet Support Forum asked about moving Helpers (Atmospheric Gizmos) using Particle Flow.
This tutorial creates a scene similar to Afterburn or the old PCombustion, but in this case PFlow controls the motion of scene objects that happen to be volumetrics. The same technique can be applied to lights, geometry, whatever you want to control…

Hope this will be useful for people that make their first steps in PFlow scripting.

Enjoy!

Cheers,
Bobo


#578

mmmm, nice Bobo.

How do you get particles to read an animation curve?

Like, for a basic example, lets say that there’s a trail of particles being left behind a moving particle, and we want those that are spawned to have a life of… 30 frames, variation 15.

How can you get these spawned particles to read the curve of the shape they are being instanced off? Also, seeing as these particles may have a longer or shorter lifespan then the total animation time fo the instanced shape (due to the 15 variations), is it possable to have the animation time scale itself to fit the life of the particle?

I know you can just tick “Animated Shape” in the shape instance operator, that just reads the curve of the initial shape. What I’m thinking of is to somehow tell the particles “The animation of your instanced shape currently is going to frame 30, but you have a particle life of 45 frames… so, mr. Particle, your animation curve will be the 30 frames of main shape, stretched over to 45 frames.” And also, tell it to do the opposite if its a particle with only a life of say… 20.

Can you pull that one off?


#579

yeah the hair tut is amazing :)… I’m half brazilian and live in Sweden so i don’t get to hear much brazilian and i love that language :D…

i have an other question for this great thread tho.

I want to make some sticky particles. I’ve manage to make them stick on the surface by using Collision and speed = stop in “Test True when Particles” - “collides”.
In the next event i have a speed by surface with speed 0 so the particles will stick on the underside of things and just don’t fall off. If i don’t use the speed by surface they’ll dripp but the won’t stick on walls and such. They’ll just slide off to fast.
I have a gravity force in the first event.

Well now you’d say that i have what i want cause they stick. But i want them to be dripping just a little. So how can i adjust the stickyness of the particles?

I’ve played with friction in my deflectors but that aren’t helping. When i did that i didn’t have the speed by surface on.

If i put a gravity force any other place than in the first event the particles just fly right through the objects.

i hope this was clear enough :)…
thnx


#580

Originally posted by The_Magician
[B]

I know you can just tick “Animated Shape” in the shape instance operator, that just reads the curve of the initial shape. What I’m thinking of is to somehow tell the particles “The animation of your instanced shape currently is going to frame 30, but you have a particle life of 45 frames… so, mr. Particle, your animation curve will be the 30 frames of main shape, stretched over to 45 frames.” And also, tell it to do the opposite if its a particle with only a life of say… 20.

Can you pull that one off? [/B]

You can do that if you control the age with a script, like I did when simulating a crowd system: http://www.telefonica.net/web/r3d/p_crowd1.avi