Making Of 'It's Time for Bullets!'
Well, this tutorial will not deal with the making of the Matrix®-style bullet time effects, or any animation tips and tricks, but this tutorial will cover the wide spectrum of creating (i.e. modelling, a bit-mapping, texturing, shading and rendering) this rather nice scene containing lots of bullets.
This tutorial will be created using 3ds Max and V-Ray. For other software users, simply use your imagination.
For all those sharp-sighted people out there, you may recognise that the bullet is a 0.5cm M2 Browning Machine Gun Bullet (going way back to WWI era, and yet still widely spread today!).
First of all, let's review the anatomy of a bullet (Wikipedia - http://en.wikipedia.org/wiki/Bullet) (Fig.01):
- Bullet - meaning, the Projectile
- Casing - meaning, the Shell
- Propellant - for example, gunpowder or cordite
- Rim - part of the casing used for loading
- Primer - ignites the propellant
First up, the key for every successful model lies in the details, which requires good references. I took the following 2 photographs to use as reference for this project (Fig.02 & 03).
Open the material library, choose an empty slot, and add a bitmap map to the diffuse slot. Choose the side image of the bullets. Create a plane with a 4 x 3 ratio and drag the material onto it. Click on the "Hungarian Cube" icon in the material editor ("Show map in viewport").
Modelling the Shell
Use Line (Create > Splines > Line) to create a half silhouette of the shell.(Fig.04)
Zoom in on a detailed area. (Fig.05)
Notice that the lines in the Rim part aren't straight. I used Bezier-Corner.
Add a Lathe modifier. You'll need to move the Axis (in my case, the Y-axis) in order to fit the Lathing to the width of the bullet. (Fig.06)
Add a smooth modifier. Enable the Auto smooth option and increase the threshold spinner a little. (Fig.07).
Modelling the Projectile
Draw another line and change the smoothing options to bezier-corner where needed. (Fig.08)
Add Lathe and smooth modifiers and align the projectile lathing with the shell (you can copy and paste the lathe modifier from the shell).(Fig.09)
The bullet modeling is now finished. (Fig.10)
Add a UVW Mapping modifier. Change the projection to Cylinder, enable "Cap" and change the Alignment to fit the length of the shell. (Fig.11)
To check our mapping so far, add a Checker map (with high tiling settings (let's say 20 each)) and add it to the model. We can see that in the Casing part of the model, the squares are more rectangular and the Rim squares are much smaller: (Fig.12)
Play with the mapping settings (length, width and height) in order to have 'all square - equal sized' squares.
Now this next part is bit tricky (and not so detailed)...
Add a UVW Unwrap modifier. Click the Edit button. You can see that the Casing and the Rim mappings are overlapping. Choose the Face sub-selection, uncheck Ignore Backfacing and select all the Rim polygons. In the Edit window, move them to an unoccupied place. Select all polygons and scale it down so all polygons fit the blue box margins. Still in the Edit window, choose Tools > Render UVW template. I chose 2048 x 2048 resolution (try staying in 2n power values) and hit Render UV template. Save the render; we will use it later to texture.(Fig.13)
Use the same technique for the projectile. This time, I rendered the UVs on 1024 x 1024.
Open the texported Shell UVs in Photoshop. Double-click the locked layer (Background) to unlock it. Press Ctrl + I to invert the colours. Double-click again on the layer and move the right blending spinner to delete the white colour from it. From this moment on, this will always be the utmost layer.(Fig.14)
We will now use some metal textures I found in a simple Google search, here. (Fig.15, 16. 17)
Add the 3 metal images as layers in the order they appear here.
Select the second metal layer and change its Layer Style to Hard Light. Select the third metal layer and change its Layer Style to Soft Light. Hide the Texport UVs layer and select Layer > Merge Visible (you need to highlight one of the visible layers in order to choose Merge Visible). Unhide the Texport UVs layer and scale up the merged layer so it fit the Casing part of the UVs.(Fig.18)
Duplicate the layer and move it up so it also covers the Rim UVs. Use the Delete brush and delete the part of the copied layer that overlaps the Casing UVs. Merge both layers down. In order to reduce the file size, delete all the unused texture (meaning where it's not overlapping with the Casing and the Rim UVs).(Fig.19)
Press Ctrl + U to enter the Hue/Saturation window. Enable Colorize and change the spinners to 42, 27, -55.( Fig.20)
Again, open the Hue/Saturation window and change the spinners to 0, 16, -10. Don't enable Colorize. (Fig.21)
Create 3 Text layers: "80", "T" and "Z". Move and rotate them to fit the following image. Also, right-click each of the 3 layers and choose Rasterize Type and merge them to 1 layer. (Fig.22)
Hold Ctrl and click the new layer created by the 3 text layers. It will select all information that appears in that layer. (Fig.23)
Select the texture layer (the brown metal); press Ctrl + C, Ctrl + V to create a new layer, with brown metal in the shape of the texts.
Change the Lightness in the Hue/Saturation window to (-)15. Delete the black text merged layer. (Fig.24)
Create an Elliptical Marquee; start with the main vertex and use Shift + Alt to create a uniform-scale circle. (Fig.25)
Create a new layer, change it to Soft Light and change its opacity to 16. Select the Brush tool, and with 255, 18, 51 RGB colours start painting in the selected marquee circle a soft non-uniformed frame (this red paint symbolises that this shell is a recycled one). (Fig.26)
At this point we have now finished the Shell texture.
Again, open the texported UVs, invert and use the blending options to delete the whites. Add the 3 layers, change their Layer Styles and merge them together. Scale them down to fit the 1024 x 1024 canvas.
Press Ctrl + U to fire up the Hue/Saturation window. Check Colorize and change the spinners to 29, 43, -62.(Fig.27)
Use the following image to paint the tip of the projectile.
Existing types: duplex (left) and triplex (right) projectiles. There is also a single colour, and of course no colours. (Fig.28)
- Black (RGB 21, 21, 33) - Armour piercing projectile
- Red (RGB 111, 19, 40) - Tracer (night glowing) projectile
- Azure (RGB 73, 106, 149) - Incendiary projectile (starts burning upon contact)
- Green (RGB 5, 190, 4) - Frangible projectile (designed to disintegrate into tiny particles upon impact to mizimize penetration)
- Blue - Expanding projectile (dumdum hollow point - creates a larger wound channel with greater blood loss and trauma)
Check back in Max where the pointy head tip is located related to the UV map (is it on the left side of the UVs? Is it on the right? (and so on)). In my case, the tip of the projectile is located on the left end of the UVs.
Start painting colours using the RGB data. Try to wave it a bit, but remember that, because of the mapping, the 2 edges need to be aligned.
After finishing the tip colours, create a mask for later use. Where you created , make a black solid colour, and where there is the original texture fill it with white. (Fig.29)
The Shell Modifier
Add a Vray material and add the shell texture to its diffuse map slot. Change the reflect colour to RGB 28, 28, 28. Change the Refl. Glossiness to 0.78 and the subdivs to at least 40. Change the IOR to 4.0.(Fig.30)
For the projectile create a Blend material
Material 1: Add the projectile texture to its diffuse map slot. Change the reflect colour to RGB 26, 26, 26.
Change the Refl. Glossiness to 0.7 and the subdivs to at least 40. Change the IOR to 4.0.
Material 2: Add the projectile texture to its diffuse map slot. Change the reflect colour to RGB 28, 28, 28.Change the Refl. Glossiness to 0.78 and the subdivs to at least 40. Change the IOR to 4.0.
Mask Map: The mask map we created just before the shading.
Add 2 Vray lights. Type: planes, white coloured, no decay unchecked and very large compared to the bullet. One with multiplier set to 11 and the second with 9.(Fig.31 & 32)
Place many bullets in your scene. Add a Camera and a Vray plane (Create > Geometry > Vray) beneath the bullets. Give it a grey material (RGB 128, 128, 128).
Open the Rendering tab (F10), assign Vray as the renderer and change the following variables: (Fig.33 & 34)
Open the Material Editor. Choose an empty slot and add Vray HDRI map into the diffuse slot. Click on browse and choose the good old Kitchen.hdr (you can download it here: http://www.debevec.org/Probes/kitchen_probe.hdr). Change the map type to Spherical environment and drag Instance into the Reflection/Refraction slot in the Vray: Environment sub-menu.(Fig.35 & 36)
The final image will be slighty Photoshopped.