Q's for making models/scenes game-ready

What are the things one must do to make a 3d model or scene game-ready. For instance, for MMOs I’ve been advised that the unit scale must be set to metric (centimetres, metres, …) and that the file is exported to .obj.
Other things I’m not sure about so just need some advice:-
Must I bake textures to objects?
Must textures be UV mapped and not planer?
For vehicles, must the front be ‘facing north’ (so to speak) in top view or plan view?
Also, must models/scenes be ‘rigged’ and how do you do this?
Lastly, do elements making up an object/scene have to be attached to each other to stop things fragmenting in-game or is it something else that you do?

I’m using 3ds Max for modelling work.

Your questions indicate that you generally aren’t familiar with 3D content creation workflows and there is no simple way of just teaching it to you. I think you should go to http://polycount.com/ and read the wiki and the popular threads in the tech talk forum. Go there, absorb the knowledge (it’s one of the best places, if not the best, to learn about game art related things!) make a bunch of practice assets, and then if you have Unity specific questions ask them here. For general gameart questions you’ll get better replies on polycount.

2 Likes

The art must match the workflow of the team using the art. If you are making art for a specific project, get together with the devs and ask what they want.

Even if you are making generic art to sell, its still worth having a target game type in mind. Art for Halo has very different requirements to art for Clash of Clans.

4 Likes

Some specific answers:

Most Unity projects seem to use 1 unit = 1 meter, but there’s an import scaler when you import models so it’s not super important that they match.

FBX is usually a good choice but Unity handles lots of formats.

Generally, yes.

You need UV coordinates, but if you choose planar that is a type of UV Mapping so it should add in the UV coordinates when you do that.

Yes, positive Z should be “forwards” and positive Y should be “up”. There are ways to fix that when importing but it will make everyone’s lives easier if you have it right in the original model.

Rigging is adding a skeleton to a model so you can animate it. If you want to use animation, like on a human character, then yes you need to rig it. If it’s something that doesn’t have animations or only uses blendshape animation, then you don’t need a skeleton and can skip rigging.

No, you set up the scene and can parent objects to one another and everything stays stuck unless you tell it to move. The only reason you’d need to keep things attached in Max is if you want to avoid seams. In an animated skinned mesh like a person, you will want to keep it all as one single mesh if possible to avoid seams. For most things it doesn’t matter.

6 Likes

Thank you. This helped me a lot, especially the answer to my question on attaching elements. So, for a basic landscape that has say a road and some buildings, I would ‘parent’ the elements and not ‘attach’ them? Must admit, I thought ‘parenting elements’ was mainly for models/scenes that have animation applied to them but not for ‘fixed’ content.

If you’re doing a whole game level like a landscape the player can walk around in then you really need to talk to the developer and ask what they need. Usually you would not do a whole level and landscape in Max, you’d make a terrain in Unity and just make buildings as a bunch of separate FBX files and then put them on the terrain in Unity. That way you can reuse the buildings and rearrange them in different scenes. In most 3D games like this, at a full company there is a split between “level designer”, who is the guy who works in Unity and lays out the levels and places things where they should be but who doesn’t have great art skills, and the “environment artist” who makes models and textures and plants and things that can be reused in a bunch of levels, but who doesn’t really have much to do with laying out the actual levels.

2 Likes

Good info.
Additional Unity specific info on setting up models and scenes can be found in the documentation. Its also a great resource for information. :slight_smile:

2 Likes

Generally, keep polygons low. Use normal maps to add small details. Create LODs (create the same mesh with fewer details) to reduce unnecessary performance overhead when the player camera is too far away.

If you’re selling models then ensure to add texture formats of different resolutions so developers can use whatever they need.

It depends on the game engine you’re using when it comes to file formats. Some may not support FBX, and some may do.

I am surprised you’re asking about rigging: it depends on whether you want your mesh to be animated or not. E.g potato model won’t need bones, unlike a human character. Avoid adding too many bones - it affects performance.

Keep your model hierarchy organized. Name your body parts accordingly.

I just named one of the hundreds of factors that needs to be considered.

2 Likes

Thanks again, sorry for late reply… Yes, I understand that I wouldn’t use max for an entire landscape/level but just for the individual objects (FBX/OBJ files).
Just making sure I’ve understood what you’ve said… So in max (or other app) I would, for instance, ‘parent’ or ‘group’ the elements of a static object and not ‘attach’ them and then group those objects with the terrain made in/with unity? I realise that animated elements wouldn’t be ‘attached’. This is getting complicated :wink:

Thank you V.much :slight_smile: I love documentation :slight_smile:

The reason I asked about rigging is that I wasn’t sure if this was just another way of saying grouping/parenting elements for animation purposes. If it is, then why do ppl use the term ‘rigging’ at all? Surely by grouping/parenting elements you are by default rigging the object, right? However, if rigging isn’t the same as grouping/parenting, then what is it? That’s also why I asked.

Rigging is the process of attaching the mesh to bones. Its a little more significant then just grouping objects.

1 Like

Thanks everyone on this thread for your help. Just throwing a spanner in the works here…

If an object was made up of multiple meshes, couldn’t you simply apply different bitmaps, etc, to each mesh instead of applying different materials to different faces of one mesh? Then, you would ‘group’ the individual meshes to effectively form one object. This way you could avoid the time-consuming UV unwrapping and re-mapping/texturing process. I could be wrong.

LOL - yeah, you should test that theory so you can see the results of the group - then when you are done - start from scratch so you can set up proper UV’s for the mesh objects.

The mesh needs the UV’ “map” to properly apply the 2D image onto the 3D object. Without this it doesn’t know how a 2D image is supposed to be aligned onto the 3D object. Google UV mapping for dummies.

This should help -
https://www.youtube.com/watch?v=iIvTUDgaXik

I know what you mean, but the point is that if it’s a very complex model that has 100s/1000s of faces then the uv unwrapping process takes forever. I was just exploring an idea, no need to get funny about it. And if the individual elements are grouped, why wouldn’t the textures stick?

They would stick - but grouping objects together has no effect when they get into Unity.
The point is UV’s are required for complex models. Slapping on a planer map onto something that is other than a plane - results in amateur looking models/textures.

UV’s are a process/tool to allow the artist to control the placement of textures onto complex models. They are not hindrances to attempt to overcome.
Look into pelt mapping. UV’s aren’t as difficult as they used to be. If your having problems and it’s taking a long time - practice.

2 Likes

Honestly it sounds like you haven’t even opened the Unity editor yet and have hardly spent any time in Max. You keep saying “parent” and “group” and “attach” as if they are these mysterious things you haven’t encountered yet. The easiest way to learn is to do. Open Unity, play with objects in a scene to see what parenting and unparenting does. See for yourself the difference between importing one solid mesh or twenty submeshes from Max. People could spend all day trying to explain to you what will happen, but why not just take five minutes to do it and see for yourself?

4 Likes

You can choose whichever scale you want as long as you are consistent with it. I chose 1 meter = 1 unit.

.obj would be a pretty rare choice I think. I use DAE for things without armatures (eg a tree) and FBX for characters. FBX is probably the most common.

Most things in modern games will have normal mapped textures, but that doesn’t always mean every object in your game needs a unique bake. For instance you might have one tiling brick texture with baked normals that you apply to a bunch of different objects. Characters usually have a unique high poly, as might a gnarled tree trunk. A building however, will use mostly tiling textures.

Textures are not UV mapped. Meshes are. Every mesh will very likely have a UV map, even if that map is procedurally generated.

Again it can be whatever you want, but its probably a good idea to adhere to your own conventions. My previous employer used Y forward, which makes no sense in Unity because in Unity Y is up. Every 3d app has a different standard. Z forward is probably most common for Unity.

Usually only characters need rigs.

That question doesn’t make much sense to me.

Keep googling.

2 Likes

Interesting - I’ve not tested - does dae save some file space? I usually just use fbx because it’s my default, however I’ve mostly exported skinned characters, very few static meshes.
Nice tip.

I use Blender and it can’t import FBX (only export) so I use DAE where I can. There’s also less settings, so I feel like there’s less to mess up. I strongly dislike Autodesk so I try not to use their proprietary format. But in some cases I am forced because they have our industry by the throat.

1 Like