Easy-to-follow video tutorials help you learn software, creative, and business skills.Become a member
In Unity, we can take in, all kinds of different file types as assets ranging from 3D files, such as Maya binaries and FDXs. To Tiffs and PSDs from Photoshop. For the game we're going to make, I've created assets and Auto desk Maya and drawn textures in Adobe Photoshop and Illustrator. Before we get to bringing in our assets, let's look at the game we're going to make. A small game called Modernista. I've opened up the Modernista summary document from the Modernista design folder in the exercise files.
The premise is straight forward. You start out as the player in a gleaming modernist compound formed from three joint structures. They've been remodeled into a modern art gallery by a wealthy reclusive collector. At some point the crowds have thinned out and you're alone in the quiet gallery. But you keep discovering new rooms and can't quite find your way out, and it feels like the art and the walls are moving around you. The base mechanic is fairly straightforward. We need to navigate from room to room, and building to building, opening doors by proximity or touch plate.
Walls will reconfigure at random out of sight of the player, animating over one frame. And art will also reposition in different rooms. The winning condition involves escaping. Getting out the front door and onto the grass. The building will vanish by sinking under the ground, behind the player's back. So when you turn around, there'll be nothing there. We'll use a standard first person controller that reacts to physic materials and colliders. And we'll set the scene in a warm afternoon sunlight with the sun streaming through the south and western windows.
We'll have cool light coming in the other windows. And in windowless sections of the galleries or places where we need a little bit of light, we'll have evenly spaced, recessed and surface-mounted canned fixtures casting soft pools of light on the floor. There's three basic art types we'll see: static paintings, abstract or modernist paintings on canvas, varying in size, Static sculptures, freestanding and pedestal mounted sculptures using mixed media. This is an opportunity actually, even though they're static sculptures, to add in some physics and colliders so you can knock one over.
Finally, we'll see kinetic art. Using the Unity 2D engine We're going to have what looks like paintings on the wall, which are really planer elements, that will move, collide, and fall when activated by the player's proximity. As if you bumped into a painting and it fell apart. We'll get started in AutoDesk Maya, setting the project, and then opening up the scene and exporting out assets. This way we can look at the asset pipeline, and how to get things out efficiently into Unity. Here in Maya, I've set my project to the modernista assets project.
And then open up the scene, modernista building assets. Typically what I'll do is have a separate Maya project and a separate Unity project. This way, in my Maya project, I have room for experimentation. I can work on scenes, save out pieces, mix between and keep my textures organized in the source images folder. If you're working in 3DS Max, do the same, keep a working 3DS Max project for producing assets. And then export very selectively what you want to bring over to the game when you're ready.
I've got the scene open and you can see in the view port 2.0 display, that there's 3 buildings joined by bridges. There's trellises over the bridges and varying materials. As we spin around we can see that the flat roof buildings have some patios or at least balconies. Railings around them, and a collection of glass walls and some brick walls. We're going to surround the compound largely in water, as if it sits in a lake, with a small bit of glass to escape onto. We'll begin by taking out this whole structure.
There's a few walls inside we need to hide before we select and export. I'll press 4 to go to a wireframe. Click on that wall with the hexes in the background, and press f, to focus in. This is one of the walls, that will slide up, allowing the viewer to see through, but not get to another area. I’ll pick this one, hold shift and the one it’s next to, and finally hold shift, and click on the third wall. These are varying types of modern screens, we’ll call them. And these'll be some of our walls that pop in.
I'll press Ctrl+H to hide them, and then F to focus on my scene. I'll also select the stairs that are off to the side and hide them by pressing Ctrl+H. Now I'm ready to export my assets. The big deal is to be very selective. I've taken all the pieces I don't want to bring across and hidden them. So when I select, I'm grabbing only what I want to come across in my FBX. If we take a Maya scene and import it straight into Unity, Unity will actually open Maya behind the scenes, export out an FBX, and bring it in for us.
So it's better to choose very carefully what we would like to export out of 3DSMax or Maya, and bring it in very selectively when we're ready. This way we also have control over in that FBX file what we're bringing in. I'll select all three of the buildings. And choose file and export selection. In the export selection dialogue, I've set my export type out as FPX. And I'm going to export this straight into my meshes folder in my Unity project. I need to configure my FPX file a little bit, so I get all the things that I want to have come across, In that file correctly.
First in the geometry roll out make sure that smoothing groups is checked. This way hard and soft edges in Maya or smoothing groups in 3DS max transfer correctly. Preserving what should be flat surfaces as flat, round as round and not having a mushy difference that winks at you between. In animation, I've turned off animation. This way, In case I accidentally animated something that should be staying still, it won't come across with animation. I've also turned off cameras and lights. Making sure that even if I have a working camera lighting the scene, it won't come across.
Remember, FBX can transfer cameras lights animation, Models UV's rigs and skin weights and now in Unity 4.3 blend shapes will come across as well. So we need to be very selective about what we do and do not want to come in. Finally down in units I've unchecked automatic and set the unit type to meters. Unity's units are meters. So if we export this out as meters We can bring it in with a scale of one. Alternately, if you're working in Maya's native units of centimeters, Unity is configured to accept centimeters coming in and scale those objects up correctly to real size.
We need to make sure we're working in real world scale, so things like our physics work properly. I'll browse over to the meshes folder in my Unity project. And export out this gallery as an FBX. Here in the meshes folder, I'm ready to export. I'll name this file and click the Export Selection button when I'm done. Maya exported out this FBX file. When I go back over to Unity, we'll see Unity pause and automatically import that file in. Here in the meshes folder, that FBX has shown up automatically.
Anything we drop in the assets folder in Unity is automatically imported, even if it's in a sub-directory. It also created a folder in here called materials. And I'll need to make sure I do some organization on the materials, once I get ready. This FBX when I select it, actually has multiple components to it. A model, a rig, an animation section. And the FBX, as I can see by the twirl down arrow here, actually has a number of different objects in it. What happens is that each object retains its own identity so we can select it uniquely.
And they are part of this main FBX object. It's not yet in the scene. But only in the Project window. Because I haven't brought it into my game yet. It's very reasonable in the game to have several dozen FBXs coming in, for different things. Characters may be in FBX, different scene pieces or different objects that we need to animate. Be able to destroy or collide with. We want to keep organized and make sure that we are selecting only what we want to have come across, choosing only the properties we want to have come over and putting those pieces in thinking always about how we're going to save draw calls by instancing prefab's where ever possible.
Get unlimited access to all courses for just $25/month.Become a member
107 Video lessons · 31765 Viewers
90 Video lessons · 21995 Viewers
78 Video lessons · 8100 Viewers
83 Video lessons · 7769 Viewers