Lighting Fixtures

Modeling and materials for a basic light fixture

01. Overview

In this tutorial we will be covering how to model this light fixture. The second half of the tutorial will cover the materials.

02. Collect Product Reference and Information

The first step in creating any product model is gathering references and information.

a. This product has a good amount of reference images for us to use. We can primarily use the front view for this model because many of the shapes are round.

b. It is also important to check the product description and specifications to learn additional information such as the product dimensions and materials. A product may look like glass or metal, but can actually be plastic, wood etc.

03. Prep 3ds Max Scene

For this product I will only be importing the front reference image into the scene. I’ll be looking at the side reference later on to create the base and connecting pieces. Create a box that matches the dimensions of the light fixture and set the object to display as a box.

05. Modeling the Bulb

Now that we have finished modeling the main components of the shade we can move onto the lightbulb. It is a bit difficult to see the light bulb from the product reference images so a quick search online is useful to gather additional images.

a. The first part we will model is the metal pieces at the bottom of the bulb that screws into the socket. Start by navigating to the extended primitives menu and create a Hose. You can see what parameters I used for mine below, but feel free to adjust it further if necessary.

b. Model the glass center column of the bulb. Use the line tool and Lathe as we did earlier.

c. Next we will model the hooks that hold the filaments. Create the first hook using the line tool. Make the spline renderable.

d. From looking at other reference images there are about 9 of these hooks. To create the rest of the hooks we will be using Array. With the hook selected go to Tools > Array. Turn preview on so you can see what the final result will be and set the Count to 9. To figure out how many degrees we want to rotate the object we can divide 360 by the number of hooks we want to create. 360 divided by 9 is 40 so we can set the Z rotation to 40 degrees.

The result we end up with is not what we want. This is because Array uses the pivot of the object as the point it rotates around. We need to move the pivot to the center of the bulb to get the proper result.

e. Close out of the Array window and go to the hierarchy tab. Select Affect Pivot Only and move the pivot to the center of the bulb.

Now when we use Array the hooks will rotate around the center of the bulb.

f. Select the hook and open up the Array window. Make sure the count is set to 9, preview is on and the rotation is set to 40 just as before. You should have a result now that looks like the reference. Press ok to close the tool.

g. Attach all of the hooks together by using either Attach in the line modifier or Collapse in the utilities tab. Collapse is great for collapsing large numbers of objects since you don’t have to individually select each object. However, keep in mind that collapse will make all of the objects the same material. This is fine in this case since we haven’t applied materials and these objects would all be the same material.

h. To create the filament we are going to start by creating a cylinder with 18 sides and a diameter that is roughly the width of the filament in the reference. Add an edit poly modifier and press 2 to switch to edge mode. Select one of the horizontal loops and use Create Shape to make a spline. Adjust the parameters of the spline to be roughly the thickness of the filament. Delete the cylinder.

i. Move the newly created spline down to where the filament ends. Select every other spline vertex and move them just above the hooks.

You can see that what we have now is similar to the filament in the reference except for being razor sharp.

j. We round off the sharp ends using Fillet. Select all of the spline vertices and adjust the Fillet amount in the Geometry rollout. Use alt + click and drag on the spinner so the value change of the Fillet is less drastic. For my filament a value of 0.2” gave a good result.

k. With the hooks selected hold shift and rotate the hooks in the Y direction by 180 degrees. Move the newly created hooks down to line up with the reference. Attach the bottom and top hooks.

l. Create the outer glass portion of the bulb by using line and lathe. Again make sure to check the normals and apply a shell to the glass.

We have more step to take with this lightbulb. It is a very specific type of edison bulb that has a water drop shape at the tip.

m. Collapse the stack of the bulb. Switch to vertex mode and select the center vertex of the outer shell and convert it to a polygon selection like we did earlier for the socket. Use a bevel to extrude down and taper the faces. Using connect or swift loop add edges to create the water drop shape. We saved modeling this portion of the bulb until after we shelled it so that it would be a more solid piece of glass like it would be in the real bulb.

We are now all set with the modeling of the bulb and shade of the fixture! Make the object one smoothing group to reduce the faceting.

06. Modeling the Mount

All that is left to model is the mounting hardware for the fixture. We’ll begin by modeling the crossbar that connects the two glass shades.

a. We will model half of the crossbar and use symmetry to mirror it over. From the front view use the line tool to draw the shape of the left side of the crossbar. Make the spline renderable and generate mapping coords.

b. We need to create the wider portion of the crossbar that connects to the shade. Add an Edit Poly modifier and switch to polygon selection. Select bottom ring of faces and open the Bevel option box. Make sure the bevel is using local normals and adjust the outline and height to match more closely with the reference. Scale out the bottom vertices slightly if necessary.

c. Before we make the other half we should delete the face at the very end of the bar. This will prevent any potential conflicts with the Symmetry welding.

d. Apply the Symmetry modifier and check on Flip. The Symmetry modifier like Array relies on the pivot point of the object. You can move the pivot before applying the Symmetry modifier or you can also adjust the center of the mirror in the modifier itself.

e. Next we can make the base that goes directly against the wall. Before doing that we can go to the left view and move the objects we have made to the edge of the box we created. Since all of the objects were first created in the front view they should all be properly aligned with each other.

f. From the front view make a box with 4 length segments and one height segment. Again you can use Alt+X to make the box see through so we can see the reference behind it. Add an Edit Poly modifier and delete the right half of the box. Shape the left side to match the reference. Use the Symmetry modifier to remake the right side. Collapse the stack.

g. Switch to the left view and make sure the placement and thickness of the base match with the side reference image. Feel free to add the side reference image to your scene if you need to.

h. Press F to switch back to the front view and select the front 8 faces of the box. Inset the faces by around .25”.

i. Use Bevel to extrude and taper the faces to match the reference. The basic form for the base is complete. We just need to add some protective loops to maintain the shape when we add a Turbosmooth.

j. Delete the center loop by selecting it and using ctrl + backspace. This will ensure that no vertices are left behind when the edges are deleted. Select the ring of edges in the center and use connect with two divisions.

k. Use connect to add protective loops to the top and bottom.

l. Use Chamfer and Connect to add the other necessary protective loops. When you’re finished add a Turbosmooth modifier.

m. Next we will create the circular pieces that go between the base and the connecting bar. Using the side product image as reference, create a cylinder with roughly the same dimensions. In an edit poly select the edges and Chamfer them. I will also delete the caps, which is not completely necessary, but we won’t be seeing them. Make a copy of the object and move it to match the reference.

n. The final piece to model is the connecting bar that attaches the base to the crossbar. Use the line tool to make a spline that follows the shape of the connecting piece.

o. Be sure that the spline is Enabled in the renderer/viewport and generate Mapping Coords. Make the spline Rectangular and adjust the length and width to match the reference.

p. Now the modeling portion of the tutorial is complete! You can wait until after the materials portion of the tutorial to duplicate the glass shade and bulb objects. I will be duplicating them now just for the tutorial.

07. UV Unwrapping

There are other guides that go over UV unwrapping in great depth so I won’t be going through the process step by step. Because we were able to generate UVs for most of the objects we modeled a lot of the work is already done. We mostly just need to unwrap the base and resize the UVs.

04. Modeling the Shade

We will be using the line spline and lathe modifier to make the majority of the pieces.

a. Begin by creating the metal piece that goes on top of the shade. Press F to go to the front view and use the line tool to draw the profile of the object. If you click + hold and drag you can create bezier curves. Right click to close the tool when you have finished the profile.

b. If you decide later that you want to change one of the vertices to a bezier you can do this by right clicking the vertex and changing it to a bezier.

c. Next apply the Lathe modifier. You may get some strange results initially, but don’t panic.

d. Lathe aligns to center by default. Align it to min and we will get the result that we wanted.

e. Check on Generate Mapping Coords. This will automatically generate UVs for the object. It generally does a good job and will make our job a lot easier once we get to materials. You can also check on Real-World Map Size if you are using real world scale for your materials.

f. One last thing to be familiar with when using lathe is normals. More often than not lathe causes inverted normals which can lead to shading issues. You can easily check the normals of the object by adding an Edit Normals modifier to the object. Make the display length shorter to accurately view the direction of the normals.

Notice that the lines are going inwards on the image to the left which means that the normals are inverted. Checking on Flip Normals in the Lathe modifier will fix the issue. You won’t always need to flip the normals so check them using the Edit Normals modifier. Once you have finished checking the normals you can delete the modifier.

g. Now use the same modeling method to create the glass shade and metal piece just beneath it. From the front view create a line along the profile of the shade and apply the Lathe modifier. Check the normals and flip them if necessary.

h. An important part of creating certain glass objects is giving them thickness with the Shell modifier. If a glass object does not have thickness it will render as if it is one solid piece of glass. The example on the left has not been shelled. Notice how distorted the glass on the left is compared to the one on the right.

Apply a Shell modifier to the shade and change the inner amount to around 0.1”. Also just for this glass shade check on Override Inner Mat ID and Override Outer Mat ID. Make the Inner Mat ID 2 and the Outer Mat ID 1. This will come in handy when we make the bubble glass material later in this tutorial. Its simply assigning a material ID of 2 to the inner faces and a material ID of 1 to the outer faces. Not as important for this model, but I also like to set Edge Mapping to Interpolate. Interpolate keeps the UV shells of the inner and outer faces separate.

i. Next we will create the socket for the bulb. This level of detail is not always necessary since it won’t really be seen by the camera, but it will be good modeling practice. Create a cylinder from the front view. By creating it in the front view it will automatically be in the same plane of space as the other objects we have created. Increase the cap segments to two.

j. Right click on the newly created cylinder and convert it to an Editable Poly. Press 1 to activate vertex selection and select the middle vertex. Convert the selection to a polygon selection by holding ctrl and selecting polygon. This saves us the trouble of having to select each of the individual faces.

k. Scale the selection outwards and extrude up.

08. Materials

Well done making it to the materials portion of the tutorial! The materials section of this guide will be mostly devoted to the creation of the bubble glass. You can use what you learned from the materials guide located here to make the other materials. You can use the Stainless Steel covered in that guide as the base for the metal material for this fixture. Just make sure to rotate UVs if necessary to have the proper directionality for the brushed strokes.

a. Before creating the materials in 3DS Max we will create the bubble bump map for the glass. There is a large variety of bubble glass so learning how to create a map will be beneficial to create variants. We will create one bubble and turn it into a brush.

b. Begin by making a 1024×1024 Photoshop file. Use the Ellipse tool to create a slightly oval bubble shape. Fill it with a radial gradient that gets lighter as it reaches the center and give it a thin black stroke.

c. Make a duplicate of the layer and name it bubble. We’ll be making some adjustments to the bubble so it wouldn’t hurt to have the original to go back to if we need to. Convert the new layer to a smart object and open the Filter Gallery. Add some subtle variation to the bubble using the Glass Filter. This adds some distortion to the gradient and the stroke. We can then apply a Twirl filter to warp the overall shape of the bubble.

d. We can then apply a Twirl filter to warp the overall shape of the bubble. Feel free to paint in variation and use other filters. This is just a simple way to quickly make the bubble look less perfect.

e. With the bubble made we can now create a brush. Go to Edit > Define Brush Preset. You can name your brush however you would like and press Ok.

f. The brush is meant to make your life easier by allowing you to quickly paint a varied bubble map. Below you’ll find settings I changed to give size, rotation and spread variation to my bubbles. Again feel free to use this as a starting point and experiment with other settings if necessary.

g. Paint your bubbles with a white layer beneath it. In just a short amount of time you should have a map that looks something like mine. Make sure there aren’t any bubbles getting cut off at the edges so the map will tile well. Now we can jump back into 3DS Max and build the materials.

h. Create a basic glass material as described in the materials guide. I used fog color to add a bit of grey to my glass to match the reference. I also added a fingerprint map to the RGlossiness. Much earlier on in the tutorial I mentioned overriding the material IDs of the inner and outer faces within the Shell modifier for the glass shade. We needed to do this so that we could use the VRayMultiSubTex node with our bubble bump map.

The image on the left shows what the bubble glass would look like if we plugged the bubble map directly into the bump map slot. We get a strange double vision effect because the bump map is being applied to the inner and outer faces. We use the VRayMultiSubTex node to tell the material to only apply the bubble bump map to the faces that have a material ID of 2. You can see that the image on the right looks much clearer because the bubbles are only showing up on the inner faces.

i. Below you can see the material graph I made for my bubble glass and the parameters for the VRayMultiSubTex. You made need to adjust the tiling of your bump map to get the bubbles to match the reference.

j. You can duplicate the base glass material to create the glass for the light bulb. I like to make the IOR of the bulb slightly different from the shade and change the fog color slightly so that it looks like its made from a different kind of glass. While testing your glass you may notice some weird refraction happening with the glass of the bulb even though it has been shelled. This is because we need to increase the Refract Max Depth of the glass materials.

The glass materials in the image on the left have a Max Depth of 5 while the ones on the right are set to 10. Only increase the Max Depth if necessary. It will add to the overall render time of the image. I only push my Max Depth in situations like this where the distortion is noticeable.

k. I used a VRayLightMtl for the filaments of the bulb. I checked on Compensate for camera exposure, upped the amount to 7.0 and made the color orange. You can use these parameters as a starting point and make adjustments as necessary

09. Conclusion

When you are done with your materials you can group together your objects and duplicate the shade and bulb for the right side if you have not already. It is not as noticeable in this situation but you should also shift your UVs slightly on the glass shades so the bubbles on the left and right are not in the exact same place. When you are done you can compare your model with mine. I left my modifier stacks so you can view my settings. You can download the final model here.