Wednesday, March 10, 2010

Create an Awesome Exploding Glass Effect with Thinking Particles and 3ds Max

It is always a good idea to learn as many new techniques as possible to help flesh out your CG scenes. In this tutorial, you will learn how to create an impressive breaking glass effect using 3ds Max 2009 and Thinking Particles 3.

Thinking Particles 3 is an advanced rule-based particle system for 3dsmax and Cinema4D, and if you are not familiar with it, we recommend that you follow some basic TP3 tutorials to understand how this awesome plug-in works.

Final Effect Preview

Step 1

Create a Cylinder and change the name to “Glass”. Set the “Radius” to ‘7′, the “Height” to ‘30′, and the “Sides” to ‘6′.

Step 2

Move the cylinder to the coordinates: x = 0, y = 0, and z = 2.

Step 3

Add an “Edit poly” modifier. Click the “Polygon Selection” icon, and select the bottom polygon.

Step 4

In the “Edit Polygons” rollout, click the “Bevel Settings” button. Set the “Height” value to ‘1.8′ and the “Outline Amount” value to ‘-1.5′. Press OK.

Step 5

With the bottom polygon selected, click the “Inset Settings” button, and set the “Inset Amount” to ‘1′. Press Ok.

Step 6

Select the top polygon and delete it.

Step 7

Add a “Tessellate” modifier. Set the “Tension” value to ‘0.0′ and the “Iterations” to ‘2′.

Step 8

Add a “TurboSmooth” modifier. After that, add an “Optimize” modifier. Set the “Face Threshold” value to ‘0.02′, the “Edge Threshold” value to ‘0′, and the “Bias” value to ‘0.5′.

Step 9

Finally, add a “TurboSmooth” modifier again.

Step 10

ThinkingParticles 3 creates fragments based on surface edges. The idea is to create glass with random edges, but with a smooth surface. You can see a few examples in the screenshot below.

Step 11

Create another Cylinder, and change the name to “Bullet”. Set the “Radius” to ‘1′, the “Height” to ‘5′, and the “Sides” to ‘12′.

Step 12

Convert this “Bullet” cylinder to an “Editable Poly”, and model it out bullet using the following image as a reference:

Step 13

Press the ‘A’ key on the keyboard, to turn on “Angle Snaps”, and rotate the “Bullet” by ‘90′ degrees on the ‘x’ axis.

Step 14

Move the “Bullet” to the coordinates: x = 0, y = 100, and z = 15.

Step 15

Create a box for the ground, set the “Height” to ‘-2′, and add more segments.

Step 16

Go to “Command panel > Create > Particle Systems > Thinking”, and place a “ThinkingParticles 3″ icon in the Viewport.

Step 17

Go to the “Modify” panel, and click “Properties” in the “Thinking” rollout (you can also use ‘Alt + Shift + P’ to open, and ‘Alt + Shift + C’ to close the “ThinkingParticles 3″ user interface). In the “DynamicSet Tree” view, select “Master Dynamic”. Disable “Edit on the fly” to see the changes in real time. Enable “Show Mesh” to see the particle shape.

Step 18

In the “Particle Group Tree” view, click the “Create” button, under “Master System”. Name the group “Glass Particle”, by clicking on the name “Group” twice (slowly). Create two other groups. Name the first group “Bullet Particle”, and the second group “Fragments”.

Step 19

Now you need to create a “Dynamic Set” to dictate what the particles do. In the “DynamicSet Tree” view, click the “Create” button, under “Master Dynamic”, and name the new Dynamic Set “Generate”.

Step 20

Highlight the “Generate” “DynamicSet”, and then go to the right-hand side of the dialog, where you will see a new set of “Create” rollouts.

Step 21

Select the “Operators” icon, and then choose “Generator” from the drop down list. Select the “Obj. to Particle” node, to highlight it, then click in the schematic portion of the “Wire Setup” view, and add this node to your “DynamicSet”.

Step 22

In the “Obj. to Particle” rollout (on the right portion that appears), click the “Pick Object” button, and select the “Glass” object in the viewport. From the drop down menu, select “Glass Particle” as your “Group”, and enable “Instance Shape”.

Step 23

Click the “Pick Object” button again, and select “Bullet”. Then select “Bullet Particle” as your “Group”, and enable “Instance Shape”. The “Obj. to Particle” operator, turned the “Glass” and the “Bullet” into particles, so you can hide them now.

Step 24

Create a new “Dynamic Set” and change the name to “Bullet”. In the “Create” panel, click the “Groups” icon, then add the “Bullet Particle” group, in the schematic portion of the “Wire Setup” view.

Step 25

Click the “Operators” icon, and from the drop down list, select “Dynamics”. Add a “Force” operator, and set the “Strength” value to ‘300′. Connect the “Bullet Particle” group to the “Force” operator.

Step 26

You will notice that the bullet particle is moving in the wrong direction, so you need to change the direction vector. Click the “Helpers” icon, and add a “Point3″ helper. Set the “Y-Value” to ‘-1′.

Step 27

Connect the “Vector” output of the “Point3″ helper to the “Direction” input of the “Force” operator. Now the bullet is moving on the ‘Y’ axis.

Step 28

Click the “Operators” icon, and from the drop down list, select “Standard”. Add a “Mass” operator, and change the “Mass” value to ‘300′. Connect the “Bullet Particle” group to the “Mass” operator.

Step 29

Create a new “Dynamic Set”, and change the name to “Forces”. In the “Create” panel, click the “Groups” icon. Add the “Glass Particle” group to your Dynamic Set.

Step 30

Click the “Operators” icon, and from the drop down list, select “Dynamics”. Add a “Freeze” operator, near the “Glass Particle” group, and set the “Freezing” value to ‘100′. Connect the “Freeze” operator to the “Glass Particle” group.

Step 31

Add the “Fragments” group to your Dynamic Set. Click the “Operators” icon, and from the drop down list, select “Dynamics”. Add a “Force” operator, and change the “Strength” value to ‘-30′. Connect the “Force” operator to the “Fragments” group. This will act like a gravity force for the particles.

Step 32

Create a new “Dynamic Set” and change the name to “Fragments”. In the “Create” panel, click the “Groups” icon. Add the “Glass Particle” group to your Dynamic Set. Click the “Operators” icon, and from the drop down list, select “Shape”. Add a “Fragment” operator, near the “Glass Particle” group.

Step 33

To create the fragmentation effect, you need to animate the “Threshold” value in the “Fragment” operator rollout, so turn on “Auto Key”. Go to frame ‘15′ and change the “Threshold” value to ‘0.25′. After that, go to frame ‘14′ and change the “Threshold” value to ‘1′. Don’t forget to turn off “Auto Key” when you are finished.

Step 34

Change the “Fragment Count” to ‘100′, the “Sorting Type” to “Top > Bottom”, increase “Life Span”, change the “Speed” value to ‘0′, and set the “Thickness” to ‘1.5′. Connect the “Glass Particle” group to the “Fragment” operator.

Step 35

Click the “Operators” icon, and from the drop down list, select “Standard”. Add a “Group” operator, and select “Fragments” as your “Group”. Connect the “*Born Particle” output of the “Fragment” operator to the “Particle” input of the “Group” operator. This operator is used to transfer the glass pieces into the “Fragments” group.

Step 36

Create a new “Dynamic Set”, and change the name to “Collisions”. In the “Create” panel, click the “Operators” icon, and from the drop down list, select “Dynamics”. Add a “Shape Collision” operator, and select “All” as your “Particle Group”. Change the “Floor Voxel Grid” to ‘20′, to get more realistic simulations.

Step 37

Click the “Helpers” icon and add a “Node” helper, then click the “Pick Node” button and select the “Ground” object. Connect the “Node” output of the “Node” helper to the “Floor Node” input of the “Shape Collision” operator. Play back the animation. The particles should collide with each other, and with the “Ground”.

Step 38

To add materials to the “glass” and the “bullet” particles, create a new “Dynamic Set” and change the name to “Materials”. Add to this “Dynamic Set” the “Glass Particle” and the “Bullet Particle” groups. Click the “Operators” icon, and from the drop down list, select “Material”. Add two “Shape Material” operators. Connect the first with the “Glass Particle” group and the second with the “Bullet Particle” group.

Step 39

Create a glass material. Because I used “Default Scanline Renderer” for this scene, I created a “Raytrace” glass material, but you can use any materials or render engine you want. Drag and drop this material into the “Shape Material” slot. Do the same thing with the bullet material.

Step 40

If you are using the “Default Scanline Renderer”, you can an apply image motion blur effect directly to the ThinkingParticle icon. If you want to apply different motion blur effects to the particles, select “Master Dynamic”, in the TP3 user interface, and enable “Groups as Objects”. Now you can select the ThinkingParticles groups, as objects in the viewport.

Step 41

Select the “Fragments” group in the viewport, and apply an image motion blur effect with a “Multiplier” value of ‘0.25′. Do the same thing with the “Bullet Particle” group, but set the “Multiplier” value to ‘1′.

Step 42

Make sure the image motion blur effect is enabled!

Step 43

Create some lights to illuminate your scene.

Step 44

To create the camera shaking effect, add a “Noise” modifier to the camera. Change the noise type to “Fractal”, enable “Animate Noise”, and change the “Frequency” value to ‘20′.

Step 45

Click the “Auto Key” button and, when the bullet is near the camera, set the “Strength” value to ‘0.3′ for all the three axes. Go back 5 frames, and forward 5 frames, and set the “Strength” value to ‘0′. Turn off “Auto Key”.

Step 46

Finally, create a reflexive material for the “Ground” object, and add an image for your background. If you want to obtain a different fragmentation effect, you can move the glass object on the ‘x’ axis, until you get something you like.

Final Effect

I hope you enjoyed this tutorial. Below you can see my final results.

No comments: