How to Build a Digital Product | Part 4 - Modeling the Nixie Guts
In this series I detail the creation of a digital product built specifically for the Unity Asset Store. I am writing this in hopes of providing a resource to those who may be exploring the idea of or are already working on building game development tools. Check back here periodically for updates and don't forget to sign up to receive e-mail notifications of new posts. I will be providing overviews of the process as it happens.
Part 4: Modeling the Nixie Guts
This post will walk through creation of the characters to put inside our Nixie Tube. If you haven't done so already head over to Part 3 to learn about modeling the tube itself.
Now that we have the tube complete let's begin the interior components. Looking inside a Nixie tube you will find that each number is actually a negatively charged number shaped cathode which effectively act as a gas-discharge tube. Wrapped around the numbers is a positively charged mesh shaped cathode. These positive and negative cathodes work together to create the characteristic glowing orange light. Let's start with the numbers.
To add text click Add -> Text. This will add a text element to our scene. Click Tab to go into edit mode and delete the default text and type in the characters we will use for our tube. For the full version I will have all alpha numeric characters (a-z, 0-9) but for the purposes of this article i'm just going to stick with 0-9. Your should now have something that looks like this:
You will notice the default font (Bfont) in Blender is a bit "fat" for our purposes so I went on the search for something more Nixie like. What I ended up with is a font called Nixie One from a creator named Jovanny Lemonad. Jovanny was nice enough to create this font, and several others, and make them available without limitations on his site here - http://jovanny.ru/. Thanks Jovanny! To change the font, select the newly created font element then click the green "a" in the properties window on the right (Object Data Properties). Expand the font section, then click the open button to the right of font type regular. Navigate to where you saved the desired font and open it. There, that's a bit more like it...
Next we will add a bit of depth to our characters using the Geometry section of the text properties. Expand the Geometry section then add depth by increasing the Extrude setting. I also beveled the edges a bit using Bevel Depth to give it a cleaner look. We want to keep them pretty thin. I used .005 for the Extrude and .003 for the Bevel.
Finally, scale up the letters to fit inside the tube.
Next we need to turn each character into an individual mesh. In Unity we will use Materials to "light up" the appropriate numbers based on input from the user so its important that each character is it's own GameObject once we get into Unity. To separate each letter first convert them to a mesh by selecting the characters then clicking Object -> Convert to -> Mesh from Curve/Meta/Surf/Text. Note that once you do this you cannot go back and change font so make sure you are happy with what you have. Once you have converted the mesh, align the view along the Y axis so you are viewing the front of the letters. Switch to wire frame mode (Z -> 4) and ensure X-Ray is turned on by clicking the Toggle X-Ray button in the top right of the 3D viewport. X-Ray will ensure that you can select any mesh that may be hidden behind other mesh. Select the first character by clicking and dragging to create a bounding box around it. Once selected, separate it into its own mesh by pressing P -> Selection.
Finally, as you separate each character, rename it in the Outliner as the character. Again thinking ahead to Unity, we will need a way to identify the characters so name them according to the character they represent. I.e. 1 = "1", 2 = "2".
Once separated and named, move the character on into the tube. Repeat for each character.
Finally lets build the negative cathode. If you recall from the last post the negative cathode takes the form of a metal mesh the wraps around the entire set of characters. We will build this mesh using the Array modifier. Start by creating a plane (Add -> Object -> Plane). Go into edit mode on the plane and use Inset Faces (i) to create a smaller face inside the main face. Then delete this smaller face to create a square hole in the middle of the plane.
We will now duplicate this hollow square using the Array modifier to quickly create a grid mesh. Start by duplicating one of the previously created characters and move it so that it is outside of the tube near the mesh section we just created. I chose zero as it is the widest number in the group. We will use this character as a template to build the front of our mesh. Scale the hollow square down until it is approx the size shown below. The smaller you scale it the smaller the holes in the grid will be. Be careful not to go too small as you this grid will already have a lot of vertices and we don't want performance to suffer once we are in Unity.
Select the hollow square and apply add the Array modifier. Increase the count on the modifier until grid array is a bit wider than the character.
Repeat for the Z axis. This time changing X to 0 and Y to -1 under the Relative Offset section so that the grid stacks downward.
Finally, select the newly created grid, switch to edit mode, and use Extrude (e) to add a bit of depth to it. We have now created one side of our negative cathode.
To create the side of the grid mesh repeat the same process starting with a hollow square rotated 90 degrees from the front side.
Next join the two sides into one object (Ctrl-J), duplicate it (Shift-D), and rotate it 180 degrees on the Z axis to create the back and other side of the grid mesh. Finally align it to the proper position and use join again the join entire grid into one mesh.
To finish it up move the negative cathode into the tube. I had to scale it around a bit to have it wrap all of my numbers. Just play with it until you get it right.
Voila! Our Nixie tube is now complete. In order to increase realism I added some other components to my production version that a typical Nixie tube might have such as a connecting rod at the top and little loop connectors on each character. I'm not going to go into that detail here as this tube should give us a good starting point to begin building our asset.
If you have any questions please feel free to comment below otherwise hop over to the next part where we will import into Unity and start programming!