PDA

View Full Version : Blurīs Impact System Tool


Massemannen
12-06-2006, 02:38 PM
This has got to be the coolest plugin (or script?) Iīve seen for Max in a long time!!
I guess itīs an inhouse tool only and not a downloadable commercial plugin.

Just curious how many of these jawdropping tools a studio like Blur have... I know we have a few gurus in this forum that work or worked at Blur that perhaps can share some information?!

Take care all!

Ohh... link to the demomovie.
http://www.danielpferreira.com/reel/r2005/impactSystem6_4000.avi

written by Daniel P. Ferreira @ Wonderslime

PiXeL_MoNKeY
12-06-2006, 03:29 PM
From looking at the video it appears to be a script. Does some hit testing, generates subdivided faces for the hits, at hit time it displaces the subdivision and generates pflow effects, various other features and controls, and then the gui to control it all. With proper knowledge of Maxscript you could do the same as well.

-Eric

JHaywood
12-06-2006, 04:52 PM
That's really impressive. No wonder they can crank out the movies like they do. :)

PiXeL_MoNKeY
12-06-2006, 07:16 PM
He states on his website that it is a maxscript tool. Parts of it may be custom plugins, but the UI and execution is probably all Maxscript.

-Eric

JHaywood
12-06-2006, 08:09 PM
I'm guessing it's all scripted. The toughest part would be the displacement, but off the top of my head I can think of one way to do it. Make sure the mesh objects were editable polies, select faces around the impact point, use the built in tessellate function to subdevide the mesh, then move the verts away from the impact. You can do all this through MaxScript, plus adding the lights, the particles, and the smoke.

Well, I know what my next scripting project is going to be. :)

Massemannen
12-06-2006, 10:05 PM
[QUOTE= Well, I know what my next scripting project is going to be. :)[/QUOTE]

I guess you need a alfa/beta tester for that! :scream:
Iīm in!!! hehe

SoLiTuDe
12-08-2006, 07:31 AM
I get first dibs on alpha / beta testing. :) ...So the guns don't actually shoot a projectile into the scene, right? It uses a simple raytrace into the scene for collision?
I guess this is better than using pflow for the extra scripting stuff like the deformation/tesselation? ...Would it be possible to send out collision data from pflow to tesselate a mesh? It would be nice to have the added contol that you get with pflow, ie easily being able change up the shapes of the particles and such, unless there is a way to control the shapes in the script? I guess it depends on the way it spawns it's particles (if it's creating a pflow or if it's generating a parray or what?) ...and how would the deflector's be set up for the particles? Hrmmm I dunno what i'm talking about I guess i just want to know more about how he set it up. :)

Edit... so I was messing around for a bit, and I can get a mesh to tesselate and displace based on particle geometry -- vol select / mesher -- but creating a smooth displacement within that geometry is where I get stuck. =) Using a bitmap or map for displacement would be impossible because it doesn't isolate each collision as it's own set for the mapping... I can use a push modifier after the tesselate (to make it go inward), but it really doesn't look good unless the mesh already has a lot of geometry, as the tesselate or a mesh smooth doesn't work on soft selection, and I don't know if there is a way to just expand the selection based on a previous selection. I know there are ways to get geometry to conform to other geometry... so i gotta play with that next for making like bullet holes or something... :) This will probably end up going nowhere, but it'd be cool to make a temp workaround to get something similar.

slime
12-08-2006, 10:06 PM
Hey,

I'm glad you guys like the tool. :) I didn't use pflow, since we only needed very simple particle behaviours taht could be solved easily with a parray, and the subdivision was done after grouping by a sphere if I recall properly. The only thing it didn't do automatically and I wish I could have done it is to generate deflectors based on geometry. Unfortunatelly max (at lest at version 6 or 7) wouldn't let maxscript access the deflector geometry parameters.

Let me know if you have any questions;I will be happy to answer them, if I can remember.

MiguelPerez
12-08-2006, 10:30 PM
Ehehe. Very nice, slime.

:)

SoLiTuDe
12-08-2006, 10:39 PM
Thanks for stopping by, slime.

...so how were the collisions done then if not automatically? Set up beforehand?

Can you go into a little more detail on the tesselation/displacement... if you remember? :)

slime
12-09-2006, 12:06 AM
Ehehe. Very nice, slime.
Hey, Miguel :)

Thanks for stopping by, slime.

...so how were the collisions done then if not automatically? Set up beforehand?

Can you go into a little more detail on the tesselation/displacement... if you remember? :)
The collisions are calculated by a ray.

The ray detects if there exist collisions with any of the objects in the target list and will pick the intersecting point on them. Using the distances from the collision points to the gun, we select the closest one, and that will give us the first object to be hitted by the gun.
For the subdivision, I select the polygons of the hitted object that are around a certain radius of the impact position, and subdivide those. Thet radius depends on the displacement size that is going to be applied.

Hope it makes sense! :scream:

- Daniel

SoLiTuDe
12-09-2006, 01:29 AM
It makes enough sense. :) I was referring to the particle/geometry collisions though. :)

Guess i'd also be interested in how the displacement and texturing of the displaced area is taken care of also if it's not too much to ask. :)

slime
12-09-2006, 08:17 AM
It makes enough sense. :) I was referring to the particle/geometry collisions though. :)

Guess i'd also be interested in how the displacement and texturing of the displaced area is taken care of also if it's not too much to ask. :)
The particle/geometry collisions are manual, since Max won't let you automatize it through maxscript. The displacement is done through instanced displacement gizmos (I think that's the name for it- it's been a long time -) with a procedural texture. There is no texture change if I recall properly, although lights can be created / activated automatically on impacts if specified in the setup.

SoLiTuDe
12-09-2006, 08:31 AM
cooool. Thanks for the info, I've got a good place to start now. I won't be doing it through maxscript, but hey... I've got a good place to start in getting the similar effect. I don't know enough about maxscript, but I'm sure all the info helps anybody else trying to do something similar. :)

PsychoSilence
12-09-2006, 10:14 AM
Really impressive tool wich can speed up impact creation dramaticly!


i wish it would be commercial :( *pulls out mastercard & visa*

i REALLY have to speak to our TD :D

demoniorojo
12-09-2006, 12:03 PM
wow! 25 seconds to calculate the colisions! Impact sds is very impresive too:thumbsup:

Massemannen
12-09-2006, 02:34 PM
i wish it would be commercial :( *pulls out mastercard & visa*

i REALLY have to speak to our TD :D

Hehe me too, *CATZCHING*

Thanx for your input Slime!

JHaywood
12-09-2006, 05:17 PM
The particle/geometry collisions are manual, since Max won't let you automatize it through maxscript.
You can script the particle/geometry collisions using pFlow, but I understand the use of PArray since the rocks and dust are just a really simple effect and maybe you don't want to overhead of pFlow.


The displacement is done through instanced displacement gizmos (I think that's the name for it- it's been a long time -) with a procedural texture.
That's the missing piece of the puzzle for me, thanks! I didn't even know about the displace spacewarp. This is going to come in very handy for me.


There is no texture change if I recall properly,...
I think that would be worth looking into. One way I can think of off-hand to do this would be to detach the faces selected for subdividing (plus maybe some extras around the edge) as a cloned object, move them out a little and apply a new texture so that it works as a decal for the texture change. That's probably the easiest way I can think. Plus, you'd want to turn of shadow casting for the new object so it's not a rendering burden.

I'm doing some tests now and should have something to post soon. Thanks for the great ideas. I hope you don't mind me making my own version of this. But if you're not going to sell or release it, I gotta do what I gotta do. This is too good to pass up. :)

slime
12-09-2006, 06:32 PM
I think that would be worth looking into. One way I can think of off-hand to do this would be to detach the faces selected for subdividing (plus maybe some extras around the edge) as a cloned object, move them out a little and apply a new texture so that it works as a decal for the texture change. That's probably the easiest way I can think. Plus, you'd want to turn of shadow casting for the new object so it's not a rendering burden.
That's a good idea, if the topology of the new subdivided geometry matches the old one. It might be better to subdivide first and then detach to be sure it's a perfect match, since points will probably move when subdividing.

I'm doing some tests now and should have something to post soon. Thanks for the great ideas. I hope you don't mind me making my own version of this. But if you're not going to sell or release it, I gotta do what I gotta do. This is too good to pass up. :)
You are welcome. :) Good luck, and I hope we can see something soon! :thumbsup:

Massemannen
12-09-2006, 06:42 PM
This is better than Christmas :thumbsup:

JHaywood
12-10-2006, 03:24 PM
Here's a quick proof of concept:

shootStuffUp_001 (http://jhaywood.com/stuff/shootStuffUp_001.avi)

Still a long way to go to make it really useful in a production environment, but I wanted to make sure I could do the displacements before going further. I'll just keep adding to it as I get some time.

PsychoSilence
12-10-2006, 05:45 PM
Here's a quick proof of concept:

shootStuffUp_001 (http://jhaywood.com/stuff/shootStuffUp_001.avi)

Still a long way to go to make it really useful in a production environment, but I wanted to make sure I could do the displacements before going further. I'll just keep adding to it as I get some time.

thereīs also a very useful plugin by peter watje called "particle displace". i allready generated quite nice impact displacements with it.

kind regards

anselm

bealobo
12-11-2006, 03:13 PM
Hi there!

I was learning maxscript some time ago and decided to do a similar plugin. Talked to slime in a spanish forum about it and could not finish it yet.

What I have so far has got UI and makes the following:

Choose a gun or creates one.
Choose rate of fire.
Choose to shoot bullets or pellets and # of pellets, as well as radius for them.
Choose "bleeding" objects.
Puts a point on each impact.


What makes me crazy now:

Parsing, to be able to pick just some frames.


I'm going slow (very) with this as I'm doing a lot of things at the same time, but perhaps we could share our knowledge and create something as cool as slime's plugin.
Just to practice, of course not to sell or release.

Btw, I have not reached the displacement phase yet, but to read the chatting is very helpful.
:D

JHaywood
12-11-2006, 05:49 PM
thereīs also a very useful plugin by peter watje called "particle displace". i allready generated quite nice impact displacements with it.

kind regards

anselm

Has he updated this for Max 9? For anyone curious about trying this, here's the link:
http://www.max3dstuff.com/max4/particleDisplace/help.html

JHaywood
12-11-2006, 06:19 PM
I'm going slow (very) with this as I'm doing a lot of things at the same time, but perhaps we could share our knowledge and create something as cool as slime's plugin.
Just to practice, of course not to sell or release.:D

Yeah, I'd like to see what you have so far. Can you post some examples?

PiXeL_MoNKeY
12-12-2006, 09:59 PM
I find it funny that yesterday I recieved the latest issue of 3D World and there is a Lightwave Tutorial on how to do bullet impacts with displacements and particles. I am sure that could be adopted for this approach if you need some ideas of how other packages achieve it.

-Eric

Massemannen
12-13-2006, 08:09 AM
Hahaha Thought the exact same as you Eric!
Although it didnīt look neraly as nice as Danielīs creation...
But all kind of ideas are always good.

bealobo
12-13-2006, 08:34 PM
Hi,
this is a screen capture of what I have so far.
Red fields are functioning ok.
UI is not finished and the tool only places points in the place of the impacts, therefore I didn't make any video because it's not interesting enough.

I have a plugin for creating deflectors via scripting that Halfvector made and I might use it for this tool.

http://i2.photobucket.com/albums/y11/bealobo/UI_03.jpg

By the way, it's basic I know... but it's my first maxscript.

Massemannen
12-19-2006, 10:56 AM
Daniel:

I noticed in the video that the script is version 0.51. Is/was it developed further? Added features?
This script has tons of potential...

slime
12-19-2006, 08:21 PM
Hi, Massemannen.

I know they picked it up, cleaned the code -which was probably pretty messy- and worked in new functionalities :)

take care,

- Daniel

JHaywood
01-08-2007, 08:07 PM
I haven't forgetting about this. The last month has been pretty hectic at work, but I've got some free time again and I did a little more work on my version of the impact tool, which I'm calling "Winchester".

Take a look at the video. I've got a lot of the basic pieces put together, now I need to add a UI and then just keep taking it further. When I've got something useable for the general public I'll post it up for people to try out.

Winchester_001 (http://jhaywood.com/stuff/winchester_001.mov)

Massemannen
01-08-2007, 09:36 PM
Funny, I was just about to compose a PM to you "JH", when I saw your post. Glad too see that there is still activity regarding this.



I haven't forgetting about this. The last month has been pretty hectic at work, but I've got some free time again and I did a little more work on my version of the impact tool, which I'm calling "Winchester".

Take a look at the video. I've got a lot of the basic pieces put together, now I need to add a UI and then just keep taking it further. When I've got something useable for the general public I'll post it up for people to try out.

Winchester_001 (http://jhaywood.com/stuff/winchester_001.mov)

Glacierise
01-09-2007, 08:46 PM
Wow, that's good news!

mir-vadim
01-10-2007, 08:13 AM
Hi all.
Its amazing.
Two days ago I created script for my reel with blows, explosions and gun fire.
And yesterday I found this thread. Just look what can do my script.
I call it Fracturer
It use particle flow as a base dynamics, and two scripts (which Fracturer generate)
for link meshes to particles.

I Hope I continue(bug fix) script with tutorial at this week. And then share for public.
Here is video. Realy sorry for rapidshare, but i dont know any other places to share this video. Its realy cool.
http://rapidshare.com/files/11040451/fracturer2.avi.html
1.5 MB

Glacierise
01-10-2007, 09:05 AM
It's great that you people make such tools! Trust me, they are greatly needed!

JHaywood
01-10-2007, 01:27 PM
Mir-vadim, that's really impressive. I can't wait to see how you punch the holes in the wall. But why do the bullets bounce back after hitting the wall?

mir-vadim
01-10-2007, 02:03 PM
Thanks, I know that somebody ask this question. All ask me this question. They bounce because when i did this renders it was 4 am, i wanted to sleep and i forgot turn on delete operator in PF event, thats all. Bullets is just a particles with mesh operator.
Fracturer is not a script with big button "Do All", its just create additional mesh.
Idea use it with particle flow come to me when i see Alan Mckays tutorials, where he link particles to objects, objects to particles and use pf event to trigger animation.
Fracturer actually ready, but now i try to learn him to work with Particle flow.
Right now I need from 15 to 25 minutes to create effects which you saw in my video.

urgaffel
01-10-2007, 02:10 PM
That looks really nice mir-vadim! One thing though, the shards stop short when they land instead of bounce. Is that something you can adjust with pflow?

mir-vadim
01-10-2007, 02:41 PM
Yes, shards linked to particles as geometry object ( Geometry links to particle thanks to particle flow script which Fracturer generate, you only must create script operator in PF and put generated script inside), and you can do whatever you want with this particles, every time when you update time slider each shard keyframed until script operator turned on ,when you happy with your particle animation and shards with them, just turn off script
operator. Each shard will be animated because the keyframed. This mean you can change frame rate to, let say 90, and you get nice interpolated slow motion as in matrix hall fight.
(If You change frame rate With particles, nothing change because they linked to frames.
With animated shards and turned off particle flow you can do this.) if you want change particle animation after collision you just turn on script opertor and shards linked to particles again.
Well, the short answer is Yes, you can. In my movie the shards stop because
"when i did this renders it was 4 am and i wanted to sleep"

mustan9
01-10-2007, 05:14 PM
Here are some ideas for your script:

- shoots holes in the wall?
- support surfaces of different materials such as metal, rock, plastic, etc. etc.
- allow bullets to deflect off on type of material and impact on another.

bealobo
01-11-2007, 08:09 AM
Hi!

I don't have much time now for scripting but it's great to see how you guys keep this thread alive!
Amazing tools!

I agree on the surface preset for the fracturer, something like choosing the type of fracture by material (cristal, concrete, etc...)

mir-vadim
01-11-2007, 09:41 AM
Yes, I Agree too, but now Fracturer dont create effects in my video, its only helps to create. The base of fracturer is a boolean operation, first you create fake bullets mesh, to use they volume to cutof peace of geometry from wall, then in fracturer you pickup one bullet, and push button which generate script for particle flow. Next you create in your particle event script operator and paste generated script inside. After that each bullet will be linked to particle in this event. Then in PF you create bullet shooting to wall, each bullet automaticaly keyframed. When you happy, delete script operator. Next you use fracturer to create one wall with holes in every places where fake bullets collide with it, and create geometry which will fill this holes(shards). In renders you can not see scratches on the wall, but wall already fractured, then you generate another script which will link each shard to particle but after they bounce from wall. Add some debris, smoke in PF and Thats all. Cool effect created.
I create fracturer for 5 days, but this 5 days i worked really hard.
Its my second script and my maxscripts knowing not enough to realize your ideas now.
Maybe in future I will create something really cool, like Blurīs Impact System Tool, but not now.

slime
01-11-2007, 08:18 PM
Good work, guys! :thumbsup:

mir-vadim
01-11-2007, 10:47 PM
Well, now I definitely create something really cool later

MayaV
01-15-2007, 06:14 AM
Hi Daniel,
Can you plz. tell me what kind of render times you have for your effects scene generally and what kind of hardware you use for your production at blur????

thanx n regards

MayaV

slime
01-15-2007, 06:31 AM
Hi Daniel,
Can you plz. tell me what kind of render times you have for your effects scene generally and what kind of hardware you use for your production at blur????

thanx n regards

MayaV
At Blur I used a dual xeon with 2Gb. Most of the time rendered with scanline; volumetrics could take from a couple minutes to an hour to render. Everything else normally under a minute per layer / frame.
Nowadays, you can do almost anything at home with a normal computer.

MayaV
01-15-2007, 07:56 AM
Hi Daniel,

thanx a ton for replying.....its great to hear that such wonderfull effects you acheived using scanline and low rendertimes.........i just downloaded your showreel its awesome......gr8 work man.........would like to do something like that someday..........

Hey your showreels has a lot of character animation also......is that also done by you?????? if not than how you integrate the data from animation and special fx????????

thanx n regards

MayaV

slime
01-15-2007, 03:51 PM
Thanks, MayaV.
I only did the effects and some compositing, all the modeling, the animation and most of the lightning is done by other people :)

mustan9
01-15-2007, 05:18 PM
Hay Daniel,

Are you using Max over at Sony? If so, what's the size of the Max group and what kind of work are you doing with it?

slime
01-15-2007, 07:37 PM
Are you using Max over at Sony? If so, what's the size of the Max group and what kind of work are you doing with it?
Hi, Mathew.
No, I've been using Houdini for almost two years already. There is no Max group; everything is done in Houdini + Maya + inhouse tools.

mustan9
01-15-2007, 07:45 PM
I've been using Houdini for almost two years already.

Ah yes. The "I have to relocate" software to get a job using it.

JHaywood
01-15-2007, 11:19 PM
I don't want to highjack this thread any more than I already have, so I started a new one for my Winchester script. I posted a beta version for you guys that have been following this thread to try out:
http://forums.cgsociety.org/showthread.php?f=183&t=451701

buller
01-29-2007, 01:26 PM
very impressive
Is it movie or game?
And did you also do choreograph?actions like somersault and shoot,very heroic!
thnx for the reel

MiguelPerez
01-30-2007, 06:37 PM
Hey guys, I've made my own impact system for houdini :). You can see the demo here: http://forums.cgsociety.org/showthread.php?f=154&t=457832

CGTalk Moderation
01-30-2007, 06:37 PM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.