Power by Lenshuang~2+3D Game Vfx Base since 2003~2014
  • 2011年01月19日

    Matrix Bullet-Time Bullet Trail Effect 子弹时间特效教程【英文】 - [特效理论]


    How many of you loved that bullet trail in The Matrix?! Yesterday, it was only a fantasy to make such thing in some 3d program, but today, that fantasy became real! BryanA. leads you throught his amazing tutorial which will teach you how to make Matrix Bullet-Time Bullet Trail Effect in 3ds MAX...


    Matrix Bullet-Time Bullet Trail Effect
    by BryanA.

    UPDATE: Bullet Time Bullet Trail v.2 ONLINE (November 9th, 2003)!

    Do you like math? Neither do I. But that's too bad because the Matrix Bullet-Time Trail Effect works best when you know what you're doing mathematically. Don't worry though, it's nothing tough.

    For the time of it all, let's figure that we want a five second scene at 30 frames per second. Set MAX to 150 frames at 30 fps.

    Our rooftop is 200 units (now we'll scale that to feet) - so it's 20 feet across and across, making a perfect square.

    The Matrix Bullet-Time Trails fade out into invisibility. They also change shape a little after just being fired. There are three noticable stages of a trail as you see in this picture:

    1 is a more recently fired bullet (you can still see the bullet),
    2 is what we'll call a Standard Trail, and
    3 is an Expiring Trail (it's fading away and the distortion of the geometry is "leaning" to one side).

    Here's what we need:

    A 200x200 roof that will scale to 20feet by 20feet. (Super-Easy)
    A bullet (Easy)
    A trail reference shape. (Harder: Splines, Copying, Grouping, Modifying)
    A cup of coffee? :) (Lot's of sugar please)

    I used a Plane built in the TOP viewport at 200x200. Then I converted it to Editable Mesh and selected the outside polygons and Extruded them with a value of 3.0.

    The bullet. Let's first build it larger than we need it and then we'll just scale it down with the Xform Modifier. Let's use a Capsule at this size (Radius of 2 Hieght of 8 and 12 sides) in the justify viewport (where we build it will be important later). After achieving these dimensions, convert it to Editable Mesh. Use Vertex as the sub-object and grab what will be the front tip. Activate the soft selection and set it to 4 and pull it "forward" about 1.0 unit, and then let go, and then pull it again about 1.0 unit.

    Now tuck in the backside by taking off Soft Selection and starting with the last vertex. Push it in to meet the next column of vertices, then collect them in the selection and keep doing this until you have a reasonably flat backside.

    The last thing to do is apply the Modifier, Xform and Scale the Gizmo to 18%.



    Now for the Spline modeling. This isn't the most advanced spline you ever made - but it was my first time ever believe it or not. So if you know a more efficient way to do it, feel free to do so! For first-timers like me, follow this part carefully and take no shortcuts.

    We need to "trick" MAX into making one object out of several 2D shapes. For accuracy, we're also going to use Keyboard Entry for this. Here are the best directions I can give for this:

    Create one 2D Circle with the justify viewport active. *Ahem* The justify viewport active. Keyboard Entry is as follows: x=0, y=0, z=2 radius is 2.0 "Create." Magical, huh?

    Now you have to do this little step: Look up top above "Circle" and "Line" and "Rectangle" where it says "Start New Shape." Click the check mark out of there so you DO NOT start a new shape. All additional shapes you make now will apply to the same object.

    Now we continue with the Keyboard. z=0 Radius is 6 "Create."
    The thrid entry is: z=-2 r=2 "Create."

    Now click the Modifier Tab, look under the General rollout and choose Adaptive instead of Optimize.

    The following modifiers require that you build a spline in the correct, logical order as we have done. We will treat these Circles as being cut-through cross-sections of a final shape. Telling MAX to treat it that way is easy. Look under the Modifier "More" list for "Cross Section." Apply it (choose Smooth) and then look for "Surface" under the list by clicking "More" a second time. Surface will complete the procedure and create a renderable object. You can control how complex the surface is with Patch Tolology which is one of the few Parameters of "Surface."

    To prepare for the Invisiblity of the Trail, set the Animate button ON. Goto frame 10. Right-Click the Oject's Properties. Halfway down, on the justify column, see "Visibility: 1.0." Change that to 0.0. Turn the Animate button OFF. With the Move Tool, move a COPY some units away along the X-axis. Then look at the COPY'S Keys on the time slider. There should be two: one at 0 and one at 10. Select them both and move them ONE frame to rest at 1 and 11.

    With the Move Tool, move ANOTHER COPY some units away along the X-axis again. Now change the new keys from 1 and 11 to the new frames of 2 and 12. See a pattern? Make seven copies or eight if you please. Just keep COPYING in the same direction everytime, and always adjust the Keys by one frame for every new copied Object. Get this:


    !VERIFY! If you select ALL eight of your shapes now, do your Keys look exactly like this? If not, DELETE and do it again.

    With all eight Objects selected, make a Group of them. Name it TrailMother. Apply FFD 4x4x4 to TrailMother. Do your best to make this shape:

    What we're doing is making the Standard Trail from which all others come. Now Right-Click the Group and "Convert Selected to Editable Mesh." Here's the easy part of this; we will copy this Group and adjust the Keys again so Invisibility "runs up" the trail we're making. Move a COPY in the X axis direction to where it looks right next to the original. Select all of the Copy's Keys and move them 8 frames later (0 and 10 become 8 and 18, etc.). Make six more copies and continue moving the Keys for the Visibility. When you're done, set Perspective Viewport so that you can see the whole trail. Hitting F3 will toggle a Shaded View. With a Shaded View, hit Play and make sure that the Invisibility runs correctly. Did it? I hope so; it's confusing to reconfigure.

    Optimizing the Refractive material is the first thing we need to do before rendering too much. Following these tips will cut down the time it takes to render multiple trails in the future. Hit "M" on the keyboard. The material browswer is up and you should be in the first slot. Glossines, Specular to 0. Soften to 1.0. Extended Parameters: IOR to 1.2. Material Maps: Refraction Slot - Raytrace. Raytrace Options button (match the picture below).

    Congratulations! You just saved yourself minutes of waiting for still shots and maybe an hour for a future animation. Faster would be Anti-Aliasing UNCHECKED totally, but it looks bad that way so we have it checked to allow it. Finally, apply the Material (TrailMat) to the new, eight objects.

    With all eight big objects selected, Group them and name it Trail. Right-Click them and UNCHECK Cast Shadows and Receive Shadows. OK. Then, apply Modifier FFD (box) to the Group, Trail. Set the points to 3,2,3. It should look like this:

    For ease in the future, you will also need to adjust the Pivot Point. Move the Pivot Point to one end of the Group, "Trail." This will aid in predicting where the Trail moves, rotates and scales later on.

    Now there are several choices you get to make on your own since we have run out of time. Obviously, the Trail is way too big. It should be scaled down uniformly on every axis. Here was my decision:
    I scaled it all to 25% for the Standard phase.
    For the fired bullet phase: 28% NUScale for the radius; 65% NUScale for the length. For still pictures, you can Scale the rear Control Points to 175%.
    Just as it's Expiring: NUScale 50% for length but grew the radius with NUScale 150%; I moved it forward to meet the bullet and scaled the rear of the FFD bigger to 150%; finally, I scaled all of it to 65%.

    A word about animating. With luck, I can include one, small MAX file with one Bullet animated to cross the floor, followed by a Trail that goes through all three phases. To make another Bullet, you would simply select the Bullet and the Trail and MOVE a Copy of both being sure to alter the Keys of the copies so that two Bullets fire at two different times and each Bullet is followed by a correct Trail.

    To animate your own Bullet and Trail, follow these guide lines. You first need to set the position and timing of the Bullet. Put it WHERE you want it; Animate/Move it where you want it shot to. Adjust the two keys so that it moves as fast or slowly as you want. Now you can mess with the Trail (first Bullet, then Trail). See all the Keys to the Trail (they should only be Invisibility Keys). Adjust them so that Invisibility begins AFTER the Bullet leaves the scene. Place the Trail so that the Pivot Point is where the Bullet was fired from.

    This assumes that your first Bullet will travel in a straight, uncomplicated path.
    1. Goto the first Key of your firing Bullet and Move the Trail behind it.
    2. NUScale the length of the Trail so that it sits entirely behind the Bullet.
    3. NUScale the radius of the Trail accordingly so that it is small.
    4. Goto the end Key of your firing Bullet (Animate ON now) and NUScale the Trail's length so that it meets the Bullet.
    5. With Animate ON, choose a frame where your Trail should be "Standard." Remember it - and look 16 frames BEFORE this occurs.
    6. Under the Motion Tab, click the button "Scale" to create a Key here for locking in the Fired Bullet phase.
    7. Go BEFORE this another 16 frames and tug the center two Control Point for FFD (box) forward (towards the Bullet) a little bit.
    8. With Animate still ON, go forward those 32 frames. Now it's safe to NUScale the radius of the Trail to look "Standard."
    9. Absolutely, those Invisibility Keys should be AFTER what we've done so far. Goto the end of those Keys, and Move the Trail slightly forward and expand the backside of that FFD (box).
    10. To finish, select the center Control Point of the FFD (box) and Move them backward (towards the gun).
    11. Animate OFF.

    This tutorial was originaly written by BryanA