In this video, Scott Pagano explains some important fundamentals to consider when building assets for Unreal Engine. Learn techniques for building neat and clean game engine ready assets.
- [Instructor] First off, I just wanna go over a few different technical details about asset creation for realtime systems that if you're coming from a game development environment, these will be obvious to you. If you're coming from a motions graphics environment, some of these things may not be part of your everyday workflow, and I just wanna call certain things out that are gonna make it a smooth process to build assets and get them into Unreal Engine. So first off we have a file here that is just one of the animations I've built and provided for you, if we scroll our timeline, we can just see that we have just this simple animation with transforms and rotations on these objects.
And if we open up this machine 01 in our outliner, you can see, let me close this, you see that we have a root null, and then you can see under that we have a modules null, and a core null, and you can start to see that this is built thinking like a character skeleton, where we have a root, and then we have these different branches that go off in different directions. And what we wanna do when we're building animation like this is we wanna think about it as a skeleton, even in Unreal, it calls everything a skeletal mesh that is animated, even if it's not a character. If it's this, it considers this a skeletal mesh.
So we wanna think about the animation like a skeleton, and keep it really clean and organized because that's gonna make everything work smoothly. If I go into this core null here, you can just see we have the core central object, that's just one piece of geometry, and then if I open up the modules, you can see that we have all these different module nulls that have animation data on them and transform data. Underneath those, is the actual pieces of geometry. And if I open up a bunch of these, you can see that everything is named uniquely, we have module 54, frame 54, and so on and so forth.
And it's really important to make sure that we don't have anything that's named exactly the same. For example, in Maya, I could change this frame 53 that's under the null module 53, I could make that frame 54 and it would work in here, but now we have two different things in our entire tree that share the same name, and this is something we wanna avoid, we want everything to be cleanly named and organized. And often, you know I've seen this in a lotta motion graphic studios, you're working really quickly, and you're kind of having to bang a lot of stuff together, and some of this technical structure kinda gets left by the wayside, whereas in a game development or visual effects environment, this stuff would be very rigorous and very seriously organized.
In certain environments where you're kind of flowing at a different pace, some of this stuff can maybe not be considered as much. So I just wanna encourage you to think about building everything super clean to begin with, because one of the great advantages of realtime rendering is we can, you know, get rid of all this crazy rendering time that we're used to, but we end up putting a little bit more time in up front to building our assets super perfectly so they're gonna work smoothly. Let me just change this back properly to frame 53, okay, so that's just looking at some structure of how to build animation so everything is gonna work smoothly.
And I'm gonna select this machine, go to my UVs, and go to my UV editor, another thing is just to make sure that we have really clean proper UV layouts, we're not doing anything really advanced with crazy textures or texture baking or anything in this course, but this will be a big part of your workflows, you build production projects for realtime environments. You see I have the core of my module up here, and then we have the little frames, the screens baked out here, and then the actual screens here. And then any object that is the same, is sharing the exact same UV space, so we can pack as much texture resolution into our object without kind of splaying out the same thing over multiple parts of our UV tile.
So these are just things to think about, to have super efficient UV layouts, it's really important. Okay, and so, you know, building game assets involves being super efficient, and that's both with textures and it's also with being as low poly as possible. And while we're not gonna go into all the details about asset building in this course, I recommend you look at some other courses in the LinkedIn Learning Library that talk about both texturing and geometry. For example, there's this Game Prop Creation in Maya course, it's quite a long course and covers a lot of details about how to build stuff properly in Maya, to deploy in games, and this is really great to build up your skillset in low-poly modeling for realtime environments.
I would also recommend looking at the Up and Running with Substance Designer course, Substance Designer is a phenomenal procedural texture creation tool, and allows you to bake texture for your models, and allows you to build textures that are really really beautiful, and it's become the industry standard for game texture development. And again, we're not gonna be going through a lot of intense texture stuff in this course, but I would recommend going down these avenues to explore how to really make your scenes come to life. Textures are super critical, especially in VR, where we have to use as few tricks as possible because we're trying to eke out as much performance out of our system as we can.
So, good textures and good models are critical, in realtime in general, and VR specifically. Alright, so now we've looked at an overview of both sort of model and texture and UV details to build proper game art to bring into our realtime environment, and next we're gonna move on to looking at our different animations in Maya, and exporting all our files to then import into Unreal.
- Maya FBX export
- UE4 asset import
- Materials and lighting
- Scene building for HTC VIVE
- Scene building for Samsung Gear VR
- VR deployment on Android phones