Game Development, like any other craft, can get overwhelming very easily. With my “daytime” experience as software developer I know, that the best way to learn new things is to break them down to the most simple working prototype. Why? Because you need to learn the fundamental concepts and get a clue about a possible workflow pipeline first.
Low Poly Worlds – a good way to start learning
After my first steps inside Unreal Engine 4, I really wanted to start building my stuff! No standard assets or marketplace downloads just to have something to use. I would like to learn to build my very own creations. As coder (read: non-designer) the art style ‘Low Poly‘ is my possibility to create something on my own which still has the chance to look nice ;-)
So what’s the ‘pipeline’ I was writing about?
To get my first basic scene in UE4 with self-made static meshes, I had to learn more about these topics:
- 3D Software (Blender)
- Sculpting Basic Models
- UV map and UV unwrapping
- Lightmap
- FBX Exporter
- Import meshes into Unreal Engine 4
- Base Material and Material Instances
- Blueprints to build new objects out of different static meshes to have some variation
- (Having fun!)
Overwhelming? Yes, indeed. I am going to break it down and link to the resources which got me started.
3D Software
While you can use your Gaming Engine to block out your levels with brushes or simple pre-made geometric objects, you really have to look into a 3D software to build your own objects (meshes). The big players on the market are software suits like 3D Max, Maya and ZBrush. But the licenses are rather expensive and nothing to “play around with”. So my choice for now is Blender, which is completely free to use!
Download Blender and build something!
Sculpting Basic Models
Blender doesn’t make it easy to start with. My first steps took ages with a lot of head scratching. To build my first tree out of an icosphere and a cylinder I used the wonderful Secrets to Creating Low Poly Illustrations in Blender tutorial. You get a step by step example with all the Blender keys and commands needed. But take your time. Better be slow with proper understanding and memorizing the steps for future usage!
UV map and UV unwrapping
UV what? Wikipedia:
UV mapping is the 3D modeling process of making a 2D image representation of a 3D model’s surface.
To place materials, colors, textures onto a 3D model, you have to build a UV map. The process of creating the 2D surface map is called “UV unwrapping”. There are a lot of tutorials about this topic on the web, because the better your unwrapping is, the better your model will look in the end. As for my basic models I was able to use the built-in unwrap tool to place everything.
A big help was this blog post about Basic UV Mapping in Blender. Really worth the read!
Lightmap
The Lightmap is technically a second UV Map. The Unreal Engine needs it to bake lightning information onto the model. You can have UE4 create the Lightmap on its own while importing the mesh but each source I read recommends to build your own on a second UV Map channel. Even with these simple meshes I had quirky outcomes with the automatic lightmap creator in UE4. To understand the problems and why something happens, these lightmapping basics are a lifesaver:
18 Important Principles for Creating/Using Lightmaps
(UDK infos are still valid for UE4)
FBX Exporter and Import meshes into UE4
Now we are getting closer to actually using our models withing the Game Engine *cheer*. UE4 can import 3D Objects with the FXB format and Epic Games was involved in the development of the newest fbx exporter inside Blender. The first thing to learn is, that both programms have different units / scales. Without any changes in Blender, you have to export your model with a scale of 100x to get the same result inside Unreal Engine 4.
These two posts kicked me in the right direction to get my meshes inside UE4:
Static Mesh from Blender (UE4 Wiki)
Get From Blender to Unreal (ROW VR Blog)
The process is straight forward. All thought I have attached materials to the Blender object, I don’t import them. The material creation inside UE4 is way better with PBR (Physical Based Rendering). If you use more than one material, UE4 will create corresponding material nodes inside the object. Very handy!
If you created your own lightmap, be sure to deselect the “Generate Lightmap UV’s” switch while importing. Otherwise you end up with 3 UV maps ;-)
Base Material and Material Instances
After watching the Introduction to Materials in UE4 (official UE4 Videos) playlist, I have a basic understanding of the Physical Based Rendering System. The last three videos are about Material Instances, which I used in my scene. I created just a basic material with parameter values instead of static values. This way I am able to instantiate it and just switch the color (e.g. via Blueprint). Want to try a new look? Just change the Base Material and your whole scene will change.
Blueprints
To build new objects out of different static meshes, I use Blueprints (BP) to have some variation and inheritance possibilities. With BP’s you can change all actors with this BP in your scene at the same time. Further more you will be able to manipulate these actors with scripts later on.
Having fun!
That’s it for today. I made the first and rather long step, made something on my own and got it out of Blender into Unreal Engine 4. From this point on I can add more actors, different lightning, new meshes and so on and so forth. It is an important step to see your own progress and now I can adapt, change, play with it and continue learning.
PS: If you wonder about the filenames of my assets, I try to follow the Unreal Engine 4: Naming Convention by @t_looman (Twitter).
If you like to know more about UE4 Development, I would like to recommend my post: 5 Sites every UE4 Beginner should know
Also read the follow-up article:
How to build a LowPoly Nighttime Setting with Unreal Engine 4
I was wondering how I could switch the scene to a nighttime setting and add some kind of fire to get this creepy but also cozy feeling.
2015-04-17
Great post for people learning the basics of modeling and how to import and use it with UE4. Well done :)
2015-04-17
Thank you :)
2015-04-18
The programming part I’m comfortable with, but I always like a few tips on the art side of things. Good post.
2015-04-18
Same here ^^;
2015-04-18
Awesome!
2015-06-12
Thanks for this post, a lot of good resources here all in one place!
2015-08-15
Great summary, thanks for taking the time to document this. Would love to see you attempt the same thing in Unity to see what the pipeline differences would be.
2015-09-11
Great article. Thanks.
2015-10-28
great article.. thanks for share…
2016-11-01
Very clear article, if you are from the programming side!
2016-11-05
Thanks! It might be, because I am from the programming side :)