Now we're ready to bring things into Stingray and place them in your environment.
- [Instructor] Let's take a look at what we actually need to do with our geometry before we click the Export button. And then we'll see what we need to do with the geometry after we import it into Stingray. Now the first thing that's really important to understand before you hit the Export button is how to stay organized. It's really smart to have a plan. I want to show you a couple things about organizational structure that'll really pay you dividends down the road. So I'm going to bring up a couple folders here, just to discuss how I have my project set up. And so you can see kind of the workflow that I'm working with.
I'm working with two different types of data. In this video, we're going to be talking about the 3ds Max data that I'm working with and getting ready to export it. In subsequent videos, we're going to be talking about the Stingray data and the Stingray project files, 'cause each one of those is handled differently. It's also important to realize that even though we're looking at the source files for the things that we're using our chapter exercise. It's important to understand that we're also looking at our exercise files and these may change as we go through this course. So it's important to realize that your files may look slightly different from mine as we go through this course.
But I just wanted to make sure that you got an understanding of how I have things set up. Now, everybody does file directory structures differently. And so, my way is not necessarily the best way, but if you have some kind of plan to stay organized, you'll be miles ahead of anybody who doesn't. So, what I'm doing over here in this directory is I'm keeping my MaxProject files and my Stingray project files completely separate. I really don't want to co-mingle them.
If I go into my MaxProject folder, you'll recognize this as the default MaxProject folder that's created when you set the project folder. And that's great. A lot of people use this. Some people use something different. Really, it's up to you. But it's important for me to have this set up separately from the Stingray project, so that I know that when I'm working in 3ds Max, I know exactly where all my stuff is. And when I'm working in Stingray, I know exactly where all my stuff is. You'll notice here that I've added two folders to the MaxProject that are not created when you create the MaxProject.
And that is _game_testing and _game_ready. The name really isn't important. What's important is how they're used and so you can set them up to be anything you want them to be. _game_testing has all my throwaways. These are things that I'm practicing with. Things that I don't necessarily want to commit to for a final project. Maybe it's just an experiment. Does this thing work? You notice I have a couple of STANDIN pieces of geometry. This is where I'm exporting my files to that I'm bringing into Stingray.
So these are FBX files. In _game_ready, these are files that I'm willing to commit to. These are files that are of quality enough that if I come back to this project in six months, a year, whatever, I know I can go into the _game_ready folder and say, "You know what, "that was a file that was considered final "or good enough for the game engine." There's no confusion over the difference between _game_testing and _game_ready. Again, all of these are just throwaway.
And _game_ready, these are the ones I'm willing to commit to. In the scenes folder, again, this is exactly what we have over here. And you can see I have all the project files that we're working on. And again, these may be different from what you have. You notice I also have a directory called _sourcefiles. Now when I'm working with Stingray, I'm actually creating a lot of different scenes that have a lot of different assets. But at the same time, I really just want to be able to have direct access to one single asset at a time to edit it.
So this is where I keep the one-offs of the source files for the individual objects. So, there may be different versions of these files. For example, you can see here I'm working on the radio. There's a couple of different versions for that. I'm using an incremental file save system, so that I know which is the most current one. These aren't necessarily finaled and finished assets. It's more about just having a single location for single objects. Okay, while we're talking about object names and file names, let's go ahead and jump into the Material Editor and continue this discussion here.
Because it's really important to maintain naming convention all the way through your project, not just with your files. When we get these objects into Stingray, you're going to discover that all of these materials and everything comes over with them. And if you have a lot of materials that are named inappropriately, it's really not going to help you out at all. You're going to be very confused as to everything that you're looking at. So, I'm here in a Slate Material Editor and you'll notice that I'm being very deliberate with some things.
So for example, here's the Leather_PBR material. You'll notice that I put an _PBR here to designate that that is indeed a PBR material. And that name will be carried over into Stingray. And I'll know exactly what it is while I'm there. Whereas this next material is a standard material. And it's Material #1062. This is a material that makes absolutely no sense in the context of what it is that we're looking at. Now, I will know that it goes with the sofa, because of a system that I'm going to show you in Stingray.
So at least I'll have that going for me. But I really want to make an effort to make sure that these materials are named in a way that goes with the model that you're working with. So I'm going to go ahead and rename this material Sofa_. At this point, if I didn't know anything else about the material, I could leave it like that and at least I would know that it goes with the sofa. Now, there is one other thing about file naming convention that's really important and that is that you should really avoid special characters like this pound sign.
Any place that you see a space or a special character, you probably want to avoid that, so I'm just going to put an underscore there. And I am going to leave a number designation on there for now in case there's multiple sofa materials that's kind of a generic name. So, I should either track down how this material is being used in the scene and given it an appropriate name, or at the very least, just give it a name that makes sense with the object that it's applied to. And make sure that there's no special characters or anything else in there. So we'll just double-check the rest of these materials.
Everything looks pretty good. There's the throw. There's the sofa legs. The sofa back cushion. Here's our newly renamed sofa material. And here's our leather PBR. If I wanted to, I could even take this one step further and call this Sofa_Leather_PBR. And that way, we know that it's not just any old Leather_PBR material. It's a leather material that is applied to the sofa. Okay, so we've got our materials down now. Let's go ahead and take a look at our object names.
So I'm going to go ahead and bring back a Scene Explorer here. And let's go ahead and take a look at everything that's in the scene. Now, fortunately, I've already gone through here and cleaned everything up. But I know, based on my own personal history that when I'm doing a lot of modeling and not paying a lot of attention to things, I have a lot of different objects. Perfect example here are these Omni Lights that are in the scene. I have done nothing to give them an original name. Now, fortunately, I don't need to bring these into Stingray.
But I really want to make sure that any of my objects are also named appropriately. So if I select the sofa base object, I can tell, okay that's great. But now I have an object here that's just named cushions. Sure, that's better than just leaving it as you know, Box24. But we should probably take the extra step to actually name it something that goes with the original object that we are working with. So I'll go ahead and name this Sofa_cushions.
And we might also have other books in the scene, so I'm going to go ahead and rename this object, Sofa_book, so that we know that it is on the sofa. And I'm going to do the same thing here with the sofa throw blanket. Now my scene is set up. I have everything in here that I want to send to send over to Stingray. The last thing that we need to do before we actually export the geometry is we want to make sure that our pivot point is in the right place.
So. I have the object selected here, the base sofa. And I'm orbiting around it just to double-check where it is and I can tell that it's not located in the center of the object. And for that matter, I've also noticed that I have several separate objects in this scene that it would probably be wise if they were all combined into one single object. Now that doesn't mean that I can't edit them later, I can certainly do that. But it'll just keep things more organized in Stingray if I attached them. So I'm going to go ahead and select the base of the sofa.
And over on the modify command panel, I'm going to make sure that it's an Editable Poly, which is a completely collapsed object. If it's not an Editable Poly, to make it an Editable Poly, all you have to do is right-click and say Editable Poly. Now I choose the attach command. And I can just attach the other objects that are in my scene. Now you will get a dialog box that gives you the opportunity to combine all the different materials into one material. And it says, "Match Material IDs to Material" This is going to basically make a Multi/Sub-Object Material for us.
And we'll go ahead and say OK to that. And we'll go ahead and add the Sofa_book and we'll have the same dialog box. And this is great, we now have one object. It's going to be so much easier to use that in Stingray. As oppose to having cushions, and throws, and books, and all that other stuff. So all we have to do now is get this pivot point in the right location and we're ready to export. So to do that, we're going to go to the Edit drop-down menu. And we're going to get the Transform Toolbox. The Transform Toolbox has a bunch of different commands in it that makes it easy for us to relocate the pivot point of this object.
So, the first thing we're going to do is we're going to get it into the center of the object. And all I have to do is under the Align Pivot section, I'm going to say Center. And then Align Center. And it has now aligned the pivot point to kind of the geographic center of this piece of geometry. Now, some people may want to just leave it there. They think, "Oh, it's in the center of the object, "that's the way it's suppose to be." But that really won't help us in Stingray, because when we bring an object into Stingray, Stingray is going to give us the opportunity to place that object into the world, based on where it's pivot point is located on the geometry.
So if we were to bring this into Stingray right now, it would be sticking halfway through the ground. And I'm sure that's not what we want. So let's just do another minor adjustment to the pivot point. We're going to use these same commands over here, but instead of align pivot to center, we're going to take the minimum dimension of the Z axis and click it. And you'll notice that the pivot point drops right down to where we want it to be. Essentially on the ground. So it's on the ground, in the middle. This is right where we want the pivot point to be and it'll make it really easy to take it into Stingray.
Okay, we're about ready to hit the export button, but there's one more thing that we have to do. And that's, we have to make sure that our object is at the world origin. So you can see if I zoom out. I can find the world origin right there. And clearly, our object is not at the world origin. Why is this important? Well, this is the world origin right here. And if I export my sofa from this location. And I bring it into Stingray, it's going to think that it's located somewhere out in left field.
Remember I said that every time we bring something into Stingray, it wants to make sure that it was made at the origin, so it puts it in the right place. So we have to move it over to the origin. And that is super simple. We just make sure that our object is selected. And we right-click on the Transform button. And we can see all of the dimensions of where our object is located. We just want to make sure that Absolute World is set to zeros all the way down. So I'll right-click and just make sure that everything is set to zero.
And as long as these are all zeros, we're good to go. So now I know that this is set right at the world origin and the pivot point is in the right place. And we're ready to export this to Stingray. So now we're ready to export it. So let's go over to the Max icon. And we'll just say Export. And I'm going to choose Export Selected. Now this is really important to understand and that is I have lights in my seam. If I were to just choose Export, the sofa and the lights, and anything else that I might have in my seam that's hidden are going to be exported to this, and I only want one object.
I just want the sofa. So I'm just going to choose Export Selected. So we'll go ahead and overwrite a file that we did previously. And I'll say Yes to the overwrite. And we just need to make sure that we have a couple of selections set here in the FBX Exporter. The first one is under Geometry. We can pretty much just leave everything as it is. These defaults are just fine for the Geometry. I do want to make sure that Animation is unchecked. Even if I have an object that has no animation, but this checkbox is checked, it will generate some extra files that will be imported in the Stingray that we just don't want or need for objects that aren't moving.
So we want to make sure that that is unchecked. We also want to make sure that Cameras is unchecked and we want to make sure that Lights are unchecked. Now, I know you're probably thinking that, "Well, if I'm only exporting selected, "I don't have to worry about Lights." But you know what? I just like to have some redundancy there and so I just want to make sure that no Lights are selected. So we'll go ahead and say Export, and that's it. We've exported our FBX file and we're ready to bring it into Stingray. So we can see that being organized and methodical while working in 3ds Max will really make our job in Stingray much more efficient.
Using similar organization strategies in both programs will make everything go a lot smoother.
- Creating a new project
- Using templates
- Preparing assets in 3ds Max
- Importing 3D assets
- Connecting to 3ds Max via Live Link
- Working with environments
- Adding visual effects, lighting, and reflections
- Using Flow nodes for materials and animation
- Deploying Stingray projects