For indie game developers who are trying to go 3d, it can be challenging to start diving in the 3d world, how to do the first steps, and how to bring this to the game engine?
It's 2021 and 3d should not be as hard as before, right? It is easier to create 3d graphics, with awesome resources available, and free open-source software like Blender.
The basics of Blender 3d modeling
First and foremost, I am no 3d specialist, I worked on hobby projects with Blender, and game engines like Godot, Unreal Engine, and Unity. Not being a specialist, I will list resources that effectively helped me to learn 3d modeling. This article will focus on Blender, as it is free and it has been growing tremendously.
Here are the basics to understand, and some quick tips on modeling for games:
- Start with a shape that is close to your final result, sometimes this shape will be heavily modified, but for small models, this will help a lot
- Look up references! Seriously, don't try to create everything from your head.
- Remember your scale, and make sure your models make sense when put together, you can have a basic scene with models from your game to use as a reference for sizes
- Avoid getting stuck! Don't let a little model slow down your project, you can always come back to edit a model later
- Depending on your workflow, when modeling a character, make sure you are happy with its result before start rigging and animating
- Don't be scared to buy and edit assets(depending on their licenses), this is not intrinsically bad, even professionals use assets
Getting started with Blender
Straight to the point! Blender is a great 3d modeling tool, and it has a great workflow with almost all game engines.
Download Blender at its download page, unless you have a good reason not to, download the latest stable version.
Here are Blender-specific tips for a newbie:
- Blender is heavily used for rendering, but when you're just modeling to export to a game engine, that doesn't matter for you, so don't be scared with Cycles and Eevee stuff, you will hear people talking a lot about them, but again, they are for rendering!
- When working on a Blender file, you are not working on a model, you are working on a scene, and a scene has a lot going on for it, but when you export to your engine, you will just export your model. Don't worry about Blender's other functionality, the light, or the camera, you can opt to not export any of these
- 3d software gets complex, as a beginner, focus on learning the Object and the Edit mode.
- The Object mode is used to move objects around, sizes, and such.
- The Edit mode will allow you to change the actual vertices and create your model
- Don't worry about not knowing everything about Blender, after you learn a few concepts, you will already be able to create wonderful models, learning more will just increase how easy you can create these models
Here are some tips after you understand the core Blender concepts:
- Do not use sculpting for rigged characters unless you know what you are doing! The topology of your character is important when doing animations, not only this but the sculpt mode can make your vertex count out of control, if not used well
- Work with as few vertices as possible, and use the Subdivision Modifier to increase their count, along with the smooth shading option for smooth models. It may look like "if I increase vertex count everything will look prettier", but that is not true, keep as fewer vertices to work with as possible
3d modeling can take a lot of time! When making a game, consider the following factors:
- How many people are working on the game? Is this a solo project?
- Will I create all models from scratch? Will I use free assets? Paid assets?
- Can I keep a consistent style along with my project?
- What is the style of my assets? Does my style depends only on a shader, or also on the design of the 3d assets?
- How big is the project? How many assets I will need?
These questions are important, not only to 3d, but knowing the full scope of your project can help you choose a doable style, and won't take you a lot of resources.
If you need only a few assets, then more time can be invested into these assets, and you are less limited on the style choice.
If you need a lot of assets, you have a big restriction on your hands, that you will have to work out with.
Best ways to learn Blender 3d modeling
There is a name when it comes to Blender modeling, and it is Andrew Price, I would say he is one of the people responsible for Blender's popularity today. 3d modeling could have been locked out and monopolized, but some people decided to share the knowledge they hardly got, helping to build what we have today.
First steps in Blender
Here is where you start with Blender:
Andrew Price, known as Blender Guru, has a complete guide on how to create a doughnut, being a great place to start. This guide is remade for Blender 2.8, a version that changed some of Blender's usability aspects.
You can check out other awesome videos on his channel.
Basic character modeling in Blender
This video by Keelan Jon shows a great flow on how to create a basic character in Blender. Character modeling is something that quickly can get complex, but by getting a more simple style, you make your life easier.
Advanced character modeling in Blender
One series I recommend to learn realistic character modeling is a classic CGCookie modeling tutorial.
It has several parts but you can search all of them on YouTube. This remains a great resource for 3d character modeling, and the practices there will help you greatly.
Interior modeling in Blender
If you are a total newbie, I recommend learning objects first, characters are painfully difficult due to our nature of recognizing human faces. By doing a room, for example, you can learn many different techniques, try creating different objects, that require different shapes and pose new challenges for you.
This tutorial by Blender Guru teaches you how to create a chair:
A note about UV mappings
Certain parts about 3d rendering we can forget when modeling for games, but others we can't. In short terms, when creating a 3d model we need to attach a texture to it, this texture will show all colors our model has.
But how the computer can know how to wrap this 2d image texture into a 3d model?
This is what UV maps are for, they are how our texture will be wrapped around our model.
To learn about UVs I recommend this video by Blender Guru:
UV unwrapping an anvil is a great way to learn, due to its model nature. He also has a tutorial on how to model that anvil!
Blender exporting, engine importing
3d models need to be imported on the game engine of your choice, and happily, it is not that hard! Unless for Godot(sadly)!
Exporting from Blender to Unreal Engine
Exporting from Blender to Unity
Exporting from Blender to Godot
The following guide will show how to export from Blender to Godot, sometimes you will need to use the Embedded option instead of Binary. Godot appears to also have a problem when reimporting meshes.
Wrapping it up
I hope these tips and resources can help you in your 3d modeling for games journey, don't be afraid to try different styles and concepts, but knowing well the scope of your project!
If you have any suggestions, contact us on Twitter!