No announcement yet.

Trying to Understand Blender > UDK Workflow -- Baking and Combining Multiple Objects

  • Filter
  • Time
  • Show
Clear All
new posts

    Trying to Understand Blender > UDK Workflow -- Baking and Combining Multiple Objects

    I've been searching Google, watching a lot of tutorials, but all the tutorials I look at are for very basic objects. I'm trying to understand the workflow of turning a more complex mesh made up of multiple objects into something importable into UDK -- particularly when it comes to keeping the textures on individual components.

    I have a mesh for a desk that I just downloaded online. It's made up of multiple parts -- cupoboards, drawers, handles. I know how to do the following:
    - Apply a texture to each piece of the whole mesh (each piece has its own UV already built in)
    - Child each piece to an armature so that it's all considered one object in UDK (not sure if that's how I'm supposed to do that, though)
    - Bake normal maps to a decimated version of a model

    What I'm trying to understand:
    - How do I bake the normals for the entire mesh when it's made up of smaller pieces? I tried combining all the smaller pieces and then decimating and UV mapping them, but that really didn't work at all (the decimated mesh and resulting UV map was really messy -- I couldn't get this mesh to decimate properly in meshlab).
    - I can decimate each piece and make a much cleaner normal of each individual piece (because they have UVs already made for them), but then we're back to the issue of me not understanding how to combine all these together into one object for UDK.
    - I also don't understand how to do the above to bake textures (this is more a Blender-specific issue, for some reason when I try to bake textures on this object, it's just all white...which may be some kind of error specific to the object, I can't really find any material on how texture-baking works, but it's not working here).

    Sorry, I'm new to this whole thing -- I've watched a lot of tutorials, but they're all disconnected and not showing me the entire workflow I need.

    Is it simply the fact that this mesh is too complex for UDK -- as in, it shouldn't be made up of multiple objects? If I want something this complex with textures on each piece of the mesh (you know, so the desk doesn't look like it just has wood sprayed on it), I'm supposed to re-piece each of these parts together in UDK?

    Textures aside, it shows up as a single moveable object in UDK quite beautifully. I'm just trying to figure out how to bake the textures / normals onto a single file to be applied to the exterior of the mesh, I think...? I'm pretty sure this should be possible, but I can't for the life of me find tutorials explaining it.

    1. You probably don't need to use an armature for a desk. Armatures are used for skeletal meshes: objects that have some sort of animation; your desk should probably just be a basic static mesh.

    2. You can export all of the pieces of the object at once by either selecting all of the pieces and exporting them, or combining them into one singular mesh.There is a check box in UDK to combine the separate parts of the FBX together during import. In Blender you can export multiple objects at once by selecting all of the pieces in Object Mode and then exporting the file as an FBX. In the FBX export options, make sure to select the check box for "selected objects" and deselect the options for "empty," "camera," "lamp," and "armature" because they will make your FBX unnecessarily large.

    3. Decimating is usually not the best way to lower poly count, you have to get in there and manually merge or dissolve the unnecessary verts.

    4. To bake your normals, export both your high and low poly meshes, each as a separate an FBX (make sure they are triangulated) and use xNormal. It's free and there are plenty of tutorials out there on how to use xNormal, so I'm not getting into that, I will note that making a cage mesh is not necessarily required. xNormal wil

    5. You don't have to bake the textures onto the mesh. The UV map is what displays your textures on your mesh, so that's all you need. You paint your texture onto your diffuse UV map and then import your diffuse and normal maps into UDK as textures, create a material, and plug them (along with a specular map) into their respective nodes in UDK. Don't even try to create a material in Blender using the material creation nodes. These materials will NOT carry over with the FBX export like with Max or Maya in the current iteration of Blender's FBX exporter.

    This should be your texture workflow (I'm intentionally omitting collision meshes, light maps, etc.):

    a) Make your high poly mesh (or find one)

    b) Duplicate your high poly mesh and manually lower the poly count of the duplicate by welding or dissolving the vertices (if you dissolve them, you need to dissolve the edges first and then go back and dissolve the individual verts or you may distort your mesh).

    c) Unwrap your low poly mesh; you don't need to unwrap your high poly mesh. Unwrapping will give you a UV map to paint your texture onto for your diffuse (this also means that the UV maps that came with your mesh are worthless...). You can view your unwrapped mesh by opening another viewport in Blender and then changing the viewport to the UV/Image Editor. Make sure that no sections of the object are overlapping or you'll have issues in UDK. Triangulate your mesh (I tend to do this after I unwrap the regular object, but it may not be the best practice).

    d) Export your UV, edit the UV and add your textures using your favorite graphic design software, import the UV back into Blender and assign it as your low poly object's material so you can see how everything looks.

    e) Export your high and low poly meshes separately as FBX files and import each into xNormal to make your normal map.

    f) Import your low poly mesh, along with your normal and diffuse textures, into UDK

    g) Create a new material in the content browser, open the material, and import and connect your normal and diffuse maps to their respective nodes.

    h) Assign your material to your mesh and you're done!

    Alternatively, if the original mesh is already low poly, paint your textures onto the UV maps that came with the object in your graphic design software and don't even worry about making a low poly mesh. If your mesh already has UV maps, then that's probably what it was intended to be used for.

    Hopefully I didn't forget any steps there. It's been a while since I've used that workflow because I've been using Substance Designer and it takes the place of the UV editing steps. On that note, if you can afford it, I recommend getting Substance Designer. It really saves a lot of headache for texturing when you're using Blender as your 3D software.

    This turned into a book somehow. Good luck!


      Thanks so much dude. I don't fully understand every step of that just reading it, but I'll look into it and probably get it better in practice. Really surprised I couldn't find a video tutorial of this workflow (maybe I wasn't looking in the right places), but I...think I understand it? The major part I underestimated was actually applying textures to a UV -- I first learned Cycles Renderer, which can apply just a square texture to the UVs of each piece of the whole thing really nicely (since it's just wood paneling), and I thought something like that was possible in Blender Renderer.

      Overall, it's a lot more complicated than I thought, but I suppose that's why texturing and meshing and whatnot are entirely independent jobs with a lot of manpower dedicated to them.