How to Mid-Poly Model in Maya 2018 for Unreal Engine 4
Updated: Dec 15, 2019
I have put together this 10 step tutorial on creating a mid-poly model for Unreal Engine 4. For more information on mid-poly modelling, you can read my previous article.
1) Scene Set-Up
Unreal uses centimeters so for ease of use, Maya should be set to use them too. To find the units settings, go to Windows, Settings/Preferences, Preferences. Then in the opened window, go to Settings, and under Working Units, set Linear to centimeter.
To view and control the grid in the scene, go to Display. Click the box next to Grid to bring up the Grid Options. Length and width controls the overall size of the grid. Set Grid lines every to 100 and Subdivisions to 1 to see the grid as a meter grid.
Models should be in pieces. Separate materials should mark where an object can be separated. Always consider how the model would be made. As an example, I will be modelling a microwave.
I have started by modelling a low-poly microwave, with separate pieces for the door, it's glass, handle, front panel, buttons, main body and stand. Some objects share materials for ease when in-engine.
3) Assign Materials
Creating materials and really thinking about what your object will be made of and the pieces it is made up of is crucial. Naming the new materials in Maya will help you organize them. There is no shame in going back to step 1 at any point; ensuring your work fits the brief and is coherent with the art-style is always important. To edit your material in Maya, click the Hypershade button at the top of the screen. You will then have access to all your materials.
4) UV Unwrapping
Before making your object mid-poly, you should unwrap it. Beveling increases the complexity of the model, making it more difficult to do after. When laying out your UVs do not worry if they are overlapping, or out of the 1,1 UV area. However, take note on the direction the UVs face. This is so a material you apply to it doesn't show upside down in-game. It may be worth lining up UVs so the texture looks continuous when tiling. Texel Density should be consistent. Consistency across models ensures that textures are all the same resolution in-engine. To do this, open the UV toolkit, under Transform you will see Tools Where you will find Texel Density.
As seen on the right, this is what your texel density should be set to. If the map size is 512, the density should be 5.12. Pressing Set will apply this to the model. This means a 1m plane would fill the original UV space while a 2m plane would cover 4 of these UV zones.
At this point you may notice some faces are not seen. In most cases you can delete them as they may affect you bevels later on. I have done this on the back of the buttons as they are unnecessary.
5) Duplicate and Save
Now create a new layer to place a duplicate of your model to go back to (in the case of an emergency). It is always smart to save as you go to minimize loss in the (likely) event of Maya crashing. This also means you can revise the unbeveled version.
6) Bevel Hard Edges
When beveling, always ensure that Mitering is set to 'None'. This stops lighting errors and awkward corners. The Fraction setting can be adjusted to give a more or less stylized feel. This can be limited if any edge loops are too close to the ones being beveled; simplifying the model may be necessary if the desired look is not achievable.
There are two main ways that I have used when converting from low to mid-poly. The first involves optimizing the low poly, the second doesn't. The difference is half preference, half optimization but they have a slightly different outcome.
When beveling, it is key to select all hard edges of a model to model, and then bevel all at once. The more complicated a shape is, the harder it is to select all the correct edges without missing any.
The optimized model has 642 triangles while the other has 902. They have a difference of a third, but each model has some n-gons and so will need to be optimized again later. I have found that optimizing before can result in mistakes to beveling, so I recommend optimizing after.
During early stages of development, it is not a very big problem to have some n-gons when testing assets. However, light may act strangely over some of them. Eventually you will need to addressed eventually.
7) Set to Face and Soften Edges
To properly achieve the mid-poly aesthetic, it is vital that all edges are softened. Before doing this, you need to use the Set to face tool. This is found under Mesh Display. To set it up, click the option box beside it and make sure Match face normal is highlighted, then press Apply. Now select Soften Edge under Mesh Display to soften all edges. The model can now be considered mid-poly.
8) Clean Up
You can skip this step if you're not polishing. Otherwise, it may be essential to fix any lighting errors and reduce poly-count. If adjusting and combining points, edges could become hard. I usually create lights in the scene with the object, to see how light affects it. Resetting the face normals and softening edges is important - make sure they are still displaying correctly.
To test the lighting in Maya, go to Create, Lights, Ambient Light. This will help you see the general light of your scene. Now go to Create, Lights, Directional Light. You will want to scale this up to see it in the scene and then rotate it to point it where you want.
Lighting errors are dark shaded areas on parts of the model that go against the shape of the object.
9) Set up for Export
Combine all pieces of your mesh that will be static. When exporting for Unreal, the center of the Maya scene will be used as the pivot point, so place it appropriately. Always remember to Delete History and Freeze Transforms before exporting.
Select what you want to export, go to File, Export Selection. At the bottom, make sure the file type is set to FBX export.
Looking at the options, the only thing I've found needs to be ticked is Smoothing Groups. But even this can be considered unnecessary since all the model is softened.
Name it something that you can identify later, then press Export Selection.
To import, drag your model from your files into the Content Browser in Unreal.
Uncheck Auto Generate Collision. We can add the collision later. Make sure Convert Scene, under Miscellaneous is ticked. As we intend to use materials in Unreal, set Material Import Method to Do Not Create Material and uncheck Import Textures. You can now press Import. Drag your model into the scene to see it.
This is the moment of truth. You should always test as you go to check for scale and lighting errors.
For the final look, I created basic Materials and dragged them on to each part.
(Visit a future post to learn how to create a texture sheet for using floating geometry to add detail to your mid-poly models.)