Unified Guide to Import complex models from 2012 3DS Max to UDK
I'm new to UDK but not modelling and I could use some help. I've spent all day searching google, epic forums, autodesk forums etc for help with this, and cannot find a definitive guide to the modern software.
Step 1) Build model
Question 1) Do you need to Assemble the model?
Step 2) Assign Materials
Question 2) Do you need to assign the materials ID#'s and assign those ID's to objects, because under no condition can I get my materials into UDK.
Question 3) Will any type of material work when properly assigned and imported or only basic non Ray type materials.
Question 4) I keep seeing tooltips about having materials with the same name as the model ie. House, House_Roof, House_Walls, House Floor, etc.
Step 3) Assign Colliders
Question 5) Is the collider mesh made in a special way, or do you just create boxes and whatnot.
Question 6) Is the mesh hidden or does it sit in the same space/file.
Step 4) Saving/Exporting
Question 7) Do you export the mesh seperately from the collider.
Question 8) Should the file of the collider be named UBX_House/UCX_house or is the Assembled Collider Mesh named that
Question 9) If for example you have a house shape, is that a box or a convex. Do you need to seperate the roof from the house and create a UBX for the walls and a UCX for the room?
Step 5) Importing
Question 10) If you've imported the .FBX saved the package and fully loaded it and the game will not play or the materials are not assigned, what is wrong.
What do you mean by assemble the model?
You only need material ID's if you are going to have one static mesh with multiple materials on it, so you could have a set of faces in your object that have a different material than the rest of the mesh.
Materials from 3ds Max do not export to UDK, so it doesn't matter what type of material you use. However, when you use material ID's, you must have a texture in the diffuse slot of that materials, otherwise you will only end up with one material ID in UDK.
The naming thing, that's just for organization.
Collider mesh must be designed so that the mesh is a convex shape. You can also do this automatically within UDK, it will create a collision mesh out of convex shapes for you.
Yes, I believe you import the mesh separately, then you would open the static mesh in UDK and there's an option to assign a collision mesh.
Convex means if there's a line going through any point on the mesh then it can't possibly go through it twice.
As for materials not being assigned, you need to import your texture files separately into UDK, then create new materials within UDK, and assign them to your static mesh.
when I import meshes into UDK, I click on on the combine meshes button so that I have a built object, is there a way to disassemble it once it is in the game ie. explode, remove parent, etc. So far I'm having a hard time convincing myself to switch to UDK from Unity3d. Unity just seem so much simpler.
If you want multiple static meshes, you'll need to import them separately. You can't explode content in UDK. The advantage to this is that if you ever update your intermediate file (the *.fbx file, for example) you can simply right click and tell the static mesh to reimport.
MSgt. Shooter Person
Sounds like you're doing a house. Is it interior, exterior or both?
1. Your model should be a single mesh when possible. There's nothing wrong with having a floor, wall, ceiling all seperate. When you export these from MAX you can have ALL objects selected and export a single FBX. The UDK will import the individual meshes just fine.
2. Avoid MSO's as a habit. I know that you will need MSO's from time to time. Just keep in mind that a single mesh with 2 materials means the mesh is drawn twice. That's bad for optimization. MSO's will not import to UDK
3. Use standard materials. DO NOT use procedural maps. All texture maps need to be power of 2. Only the diffuse channel will import. You will want to create/tweak your material in UDK anyways.
4. This seems to be more of a statement that question. What's the issue?
5 and 6. If you create a collision mesh, it will be a seperate mesh. The easy solution is to enable per-poly collision in the UDK.
7. A collider will be a seperate mesh and it's visibilty would be off in game.
8. Call you collider what you wish.
9. If you are just needing collision on walls, floor, roof, use per-poly.
10. On import, you will need to adjust and improve your material shaders. You will need to put all assets into the level to "play". You can't just import and hit play...doesn't work that way.
Last edited by Chaserm2; 04-05-2012 at 10:59 PM.
It sounds like I really need to learn how to create a UV map for my built objects. I had hoped to be able to assign materials and textures in Max and then import finished models into the engine. Everything I've read seems to say UVmap is the only way to go. Thanks for the advice Tearl.
UV mapping is what is required to be able to use textures properly, it's a second set of coordinates for your mesh to where the mesh is flattened out so you can use a 2D image as a texture. The process involves making seams on your model to flatten it out in a way to where you end up with the least amount of separate pieces (known as UV Islands) and the least amount of distortion.
A mesh can have more than one set of UV coordinates that can be used for texturing but also a set is necessary for lightmaps. Typically a mesh would have 2 UV channels, the first for your regular textures, and the second for your lightmap. Check the UDN as to what the requirements of lightmap UV's are, but sometimes your first UV channel fulfills the requirements for the lightmap UV's so sometimes you only need the one channel which would be used for both.
Hope that helps you out on UV's