Particle Flow Discussion


#781

Hi vfxwiz - thanks! Honestly there’s so many people who’ve made excelent contributions to this whole thread it’s been great to jump on and participate as it shows how much enthusiasm there is towards pflow and fx in general!

To answer your q right now yes and no, I’ll say at least ‘currently’ your best bet is to maybe make some objects and have them part of a rigid body set and unyielding, but then script them to read the position of particles, as this way they’ll be recognised by reactor but controlled by particles.

like lets say you want 10 particles to hit a brick wall and knock it over.
lets make a bunch of cubes that the particles will control.

make 10 cubes…
then in pflow make a script operator like this.

in the channelisused section
pcont.useposition = true

then in proceed:
allansboxs = $box*
count = pcont.numparticles()
for i in 1 to count do
(
pcont.particleindex = i
allansboxs[i].position = pcont.particleposition
)

I ‘think’ that will work.
that’s really basic and tragic way of doing it, but it should in ‘theory’ work.


#782

Ah Loran answered that already :wink: cool

RE: honestly I’d personally hand animate the box lid opening, although not to say it’d be a great learning experience to do it the other way but you will get a quicker and more predictable result by hand animating it.
I’d love to say pflow is great ‘simulation’ system, although like with most particle systems, they’re “dumb” particle systems and they haven’t enough samples to always get predictability. Although you could do what we said with scripting but for every nth particle so it’s not too complex’er simulation.

I could have sworn I copied the fracture script and some other goodies onto my flash drive last night… gotta remember E:\ at work isn’t E:\ at home :slight_smile: will bring that stuff in tomorrow! Recoreded a simple video of some cool adaptive pflow stuff.


#783

Wow, you guys are really great with the responses. I’m going to try this technique with the script Allan. Years ago I used to use lingo to do alot of director stuff but I really haven’t touched scripting since then. A huge thanks goes out to you and Loran for the help. I know you’ve heard this a million times but count me in for getting you guys a beer at Siggraph.

Brett


#784

eeek! Lingo! Yeah I’ve been there man :wink:
Yeah looking forward to siggraph, dunno how I’m gonna be able to do any presentations with the about of alcohol in my system :wink:


#785

I’ve been tinkering around with the script you passed on to me Allan. Unfortunately my complete lack of knowledge in maxscript precludes me from getting any successful result. I guess it’s time I finally rolled up my sleeves and delve into the basics of max scripting. Thanks again so much for your help.

Brett


#786

well here’s the fracture script I promised. I assume it still works, I went to town in notepad basically
making sure john burnette gets props and I don’t for it as it’s just his function with my stuff overlayed over
the top.
I built this in conjunction with a bunch of other scripts to execute a few things I needed for some initial
testing I did for blade. so it wasn’t meant to do much by itself.

I have written a version which has a gui but there’s one or two bugs and I haven’t the time to delve into fixing
them until blade’s out the door. But there’s a dozen other scripts out there that do what mine does so I’m in
no rush.

Just load it up, choose the object you want to fracture, and the amount of pieces and thickness.
grab the script here
http://www.allanmckay.com/tmp/misc/amckay_fracture(nogui).ms


I’ve also uploaded what I’m using it for in conjunction with my script operator for cracking up the ground.
I haven’t put up the scene or anything just for the heck of it a quick demo of how the birthscript can read
in new geometry and such. so I can fracture the ground, then fracture it again and again to certain bits and it
rebuilds the system after adapting to the new bits.

check them out here:
http://www.allanmckay.com/tmp/misc/Fracdemo1.avi
http://www.allanmckay.com/tmp/misc/Fracdemo2.avi


Lastly I made a tutorial last night on doing tendril fire in pflow. pretty basic stuff, but figured might be worth doing.
you need TSCC (codec) grab it here:


and grab the tut here:
http://www.allanmckay.com/tut/pflow_fire.avi


and lastly this is kinda old stuff, bit of early R&D stuff I did for paycheck I’m going back and kind of reworking and improving on,got a video here at low res (was kinda busy last night so didn’t render anything higher) this is just a rolling flame nothing too special at this stage.
grab it here
fb1.mov
http://www.allanmckay.com/tmp/misc/fireball_231.jpg
http://www.allanmckay.com/tmp/misc/fb1.mov


erm… I think that’s it for the time being… go pflow…

-Allan McKay

PS. let me know if you have any probs with that tutorial, I recommpressed it last night to half the size, haven’t tested it outside of my laptop yet.


#787

Did I miss the Birth Script? How does the fracture get read into the Pflow automagically?


#788

Like I said this was more a demo of A) how to use the fracture script for something and B) just how that pflow system I built adapts to new mesh data etc.
I couldn’t really do a tut or anything on the scene as it’s part of a presentation I have to do which I can’t throw up online.

All it’s doing is at frame 0 it reads in an array of all the “groundmesh_###” data and builds a system from scratch based on that. so nothing fancy although kind of builds itself around the new mesh data.
you can actually do all of this internally including the initial fracture stuff all within pflow although I’ve just gone a less technical route.


#789

Allen, I’m really glad there are people like you out there to humble the rest of us, and give us something to aspire to. Humility is not always a bad thing.

Brett


#790

hey we’re all in the same boat and if we’re all out there sharing tricks we pick up like everyone does in this thread then we’re only going to make cooler and cooler stuff - there weren’t any real resources for fx back in the day but guys like Jesse Hayes, Brandon Davis, Tojborn Olson etc. definitely helped me with my direction so it helps having such a great community as max’s.

Just wish I had more time to do this kind of stuff, plus wish studios didn’t these days patent and protect anything they make or you do in their time… but that’s another story :wink:


#791

Originally posted by amckay

All it’s doing is at frame 0 it reads in an array of all the “groundmesh_###” data and builds a system from scratch based on that. so nothing fancy although kind of builds itself around the new mesh data.
you can actually do all of this internally including the initial fracture stuff all within pflow although I’ve just gone a less technical route.

I used Bobo’s Basic Chunk Tutorial in combination with your fracture script. Pretty cool stuff, I appreciate the education!


#792

now the only thing left is to write a little script that makes a flow with a birth script like bobos while keep reading the chunks transform and it would be a huge time saver.

edit:

I see you got your birth script to read the new mesh well seems like I am a step behind :slight_smile:

btw: I was thinking of trying to load the mesh up using a test script or oparator that for example if the chunkes keep deform they will be snapshot at the frame of the event start by a collision or something.

think of a hand where you break it a part and you want to make it react like icein the tips so they deform till they hit something.
right now we capture the shape at frame 0 and use a script oparator to keep reading the transformation till impact but if its a part of a skin then the pivot would be wrong and all kind of other things that we must yet think about.

did I make any sense? I should realy go to sleep…


#793

yeah at this stage you can do all of the fracturing within pflow although it still does what I did externally, so no it won’t fracture a deforming object.

I believe pflow tools based on what’s publically been said from oleg is going to have fragmentation in it. Which means you could do what you said now.

Otherwise particle studio and thinking particles currently support this.

cool?
riddick comes out tonight, I thought it’d be ass but heard good things… should be an interesting watch.

3ds3 Yost fire ipas routine: http://www.allanmckay.com/Oldcity3.jpg
Can you dig it!? :slight_smile:


#794

is it possible to read the shape and transform but assign a new pivot to it on the event of impact?
I want all my fragments to be skined and since their pivots stay in their origin I will get funky rotations so I am tryng to figure a way to make it centered upon release…

I am not sure I even understand my self…


#795

yeah

well to effect the pivot you just do $mesh01.pivot = [0,0,0]

so you could do something like (assuming you have an array of your objects as “mesh” like (mesh = $teapot* as array)

if pcont.particlenew == true then
(
mesh[pcont.particleindex].pivot = pcont.particleposition
)
– end of script

or something like that thould at least place the pivot where the particle is.
theres a few ways to go about it, but that at least answers roughly your question :wink:


#796

I can’t watch the second fracture demo !!!
what codec is that allan??
or does anyone knows why I can’t watch it??

could you also do a little tut about creating a n explosion Allan…that would be awesome…thanks very much for all your help…you are the master


#797

ahh fractures, i was wondering when this thread would get to this subject… so here’s my contribution, posted in the gallery awhile back and got mixed crits, just a test using pflow and reactor: cup break

i’ve gotta say this thread is definaltey become an invaluble resource, allan’s contributions in particular. keep up the awesome work! also - seems like your site might be down allan, anxious to check out your fracture script :smiley:

cheers! :thumbsup:


#798

hey allan,
you are quite a guy getting to answer so fast over the weekend!!
:slight_smile:

still I am not sure how to approach it since I want the chunks to use their initial speed vectors derived from the skin deformation…

try to imagine a shot where one looks at his own hand while it is freezing and shaterring all happaning while the fingers deform.

I will try your pivot approach later today anyhow!

thanks


#799

when using skin on the fragments they are not actualy moving, only their mesh deforms and so I can`t realy do collisions on them sinced their pivots are not moving and so my particles are actualy still.


#800

hamu73
check you have the techsmith codec, also I guess winamps installed as I tend to compress my audio with mp3 codec.

whitnoise thanks yeah my sites up(?) maybe was down for a second whilst you were checking it.


http://www.3dluvr.com/machette/

I’ll be putting up a new site very soon with lots of new stuff etc. just finding it hard to make time with Blade 3’s deadline 2 weeks away, and siggraph’s coming up too so lots to do to prepare for that!

you could fracture it and tell it to track the position of the actual objects to the mesh (the actual geometry linked to the particles) and sample the velocity of specific vertices to work out it’s initial velocity… although orientation of the pieces to stay correct to the skin mesh whilst it’s moving would make things difficult.

You can always try thinking particles as this would probably be more appropriate for doing this… or else wait until tp has true fragmentation :slight_smile: