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.
You must Sign up as a member of Effecthub to view the content.
A PHP Error was encountered
Severity: Notice
Message: Undefined index: HTTP_ACCEPT_LANGUAGE
Filename: helpers/time_helper.php
Line Number: 22
6399 views 44 comments
You must Sign up as a member of Effecthub to join the conversation.
A PHP Error was encountered
Severity: Notice
Message: Undefined index: HTTP_ACCEPT_LANGUAGE
Filename: helpers/time_helper.php
Line Number: 22
jjjj
A PHP Error was encountered
Severity: Notice
Message: Undefined index: HTTP_ACCEPT_LANGUAGE
Filename: helpers/time_helper.php
Line Number: 22
hello
A PHP Error was encountered
Severity: Notice
Message: Undefined index: HTTP_ACCEPT_LANGUAGE
Filename: helpers/time_helper.php
Line Number: 22
Good job and good article. Thanks for sharing this useful information!
A PHP Error was encountered
Severity: Notice
Message: Undefined index: HTTP_ACCEPT_LANGUAGE
Filename: helpers/time_helper.php
Line Number: 22
Thank you so much for sharing information about blog and also check page
A PHP Error was encountered
Severity: Notice
Message: Undefined index: HTTP_ACCEPT_LANGUAGE
Filename: helpers/time_helper.php
Line Number: 22
Thanks for sharing these useful information!
A PHP Error was encountered
Severity: Notice
Message: Undefined index: HTTP_ACCEPT_LANGUAGE
Filename: helpers/time_helper.php
Line Number: 22
hi