Home Technical Talk

help with workflow on modular assets

polycounter lvl 7
Offline / Send Message
doeseph polycounter lvl 7
hey guys,

i have some work that requires me to model a condo space for renovation purposes and then create a fly-through, and to do this i've chosen to use the Unreal Engine and 3ds Max.

 i was asked to use cloud point data to model as accurately as possible, so i imported the cloud pts into 3ds and then quickly modeled a shell of the space floor plan. the shell currently exists as one single piece of geo (figuring this would give me more control instead of using primitives in Unreal) but i know i'll eventually have to break it up for better use of UV space. considering it was modeled as accurately as possible however, there really isn't a single modular element that i can 'reuse', so from a workflow perspective i don't know what the best way to approach this is.

i'm thinking to break each and every major architectural element into it's own asset, but this sounds tedious for such a simple space. on the other hand, it gives me complete control over finishes for each individual wall just in case any changes are requested (different color, material, pattern). i've started to break up the model based on room, which is saving me a bit of time but also seems more restrictive than the freedom of each element being its own asset.

 is there anyone who could give me some guidance or advice? 



 

Replies

  • throttlekitty
    Options
    Offline / Send Message
    In the end, will your model get more detailed? If so, you'll have a bit of modularity you can reuse in things like baseboards, doors/windows and frames. Unreal supports multiple materials per object, so there's no need to actually break it apart if you don't want or need to. So long as your textures tile, this should be fairly straightforward.

    Why use scan data instead of a floor plan, if you don't mind me asking?
  • doeseph
    Options
    Offline / Send Message
    doeseph polycounter lvl 7
     It will get considerably more detailed - a full model based on drawings with lighting, furniture, and finish info. The shell was exported to get something in Unreal as quickly as possible.

     As for the scan data its use was never stipulated, but it does allow me to at the very least say the space was modeled with real-world accuracy. I broke down the model based on the room. I need to test how Unreal treats the geo of an entire room being on the same UV and then create collision boxes.


     Would it be a better idea to also break down each room?
  • Mark Dygert
    Options
    Offline / Send Message
    For a project like that where the end goal isn't to make a game with a bunch of levels from a handful of pieces, I don't think modularity is even needed. I'm not even sure it could be use Tiling textures are going to be really helpful

    With a scene this small you pretty much have nearly unlimited resources.

    As for collision in unreal I would just use "Complex as Simple" collision
     https://docs.unrealengine.com/latest/INT/Engine/Physics/SimpleVsComplex/

    That way each face has precise collision, 1:1. If you start to get some really detailed models in there, like a high poly blender then you might want to knock out some simple collision but for your main hull you can probably get away with Complex as Simple and not suffer any performance issues.
  • doeseph
    Options
    Offline / Send Message
    doeseph polycounter lvl 7
      That collision option was helpful, thanks @Mark Dygert.

     I'm in the process of laying out and stiching together my UV's and two things crossed my mind:

     1) I needed to make a change to the geo after some of my UV's were already flattened and stitched, but after going back through I noticed the UV's got garbled as a result. I think this might have something to do with Editable Poly collapsing my entire stack in 3ds Max, but I'm not sure. 

     2) What's the best way to keep everything uniform when unwrapping a model? Take a look at the two images below, the first one is where the entire floor is attached as one single piece of geo. For this unwrap, I selected everything and did Flatten Mapping with Normalize Clusters checked off to keep the appropriate scale. However, were I to unwrap each room individually from one another, what's the best way to make sure they are all relatively the same scale? The bathroom wall is the same relative scale as the kitchen wall or bedroom wall?

     

     

  • Mark Dygert
    Options
    Offline / Send Message
    Yea, making edits to geometry after UV'ing, will mess with UV's.

    There a small handful of operations that don't mess with UV's quite so bad like making cuts or subdividing, but usually if you add geo, weld something or bridge gaps, especially along UV seams, they will almost always connect the faces to both sides of the UV shells.

    Usually you can select those messed up faces and do a quick planar map, relax everything or "Rescale Elements" it so its all the same size, stitch it and call it done.

    Note: The objects transforms affect how things relax and rescale.
    So for example you have a square cube and when you relax, it comes out as a rectangle or one room is 2000% bigger than another, you might have done some transformation on the object level (box01) at some point. Like  scaling the "object" (box01) on X 2000%, instead of the sub-object pieces (verts, edges, faces, elements) which would have left the object (box01) at 100% XYZ.

    TLDR: If all that is confusing, just know, reset scale/transform helps with a lot of weirdness (hierarchy tab, reset transform scale).

    Max does allow you to select multiple objects and unwrap them at the same time and in theory this is a great feature but practically it doesn't work, in fact in 2017 it crashes... especially when relaxing, normalizing or rescaling elements. This isn't a new issue, its been around ever since they first introduced multi-object unwrap, 7-8 years ago.

    So I normally combine them all into one mesh, that way the tools all work correctly. I unwrap it all, then break them apart again, but only if I really need them to be separate objects. Its a pain and hopefully at some point they'll finally fix their software to work as intended...


  • doeseph
    Options
    Offline / Send Message
    doeseph polycounter lvl 7
    So I normally combine them all into one mesh, that way the tools all work correctly. I unwrap it all, then break them apart again, but only if I really need them to be separate objects. Its a pain and hopefully at some point they'll finally fix their software to work as intended...
     That is essentially what I've chosen to do @Mark Dygert with only a slight modification to that workflow. I stitched all my UV's together as one model in UV space and then individually broke up the model (room by room) and then used "Pack UVs..." in the UV Editor > Tools dropdown. It did a decent job of packaging the space and seemed to keep all the rooms relatively the same scale, but so much of that has to do with how you've stitched your UV's together to begin with (a lot of upfront work). I still haven't found a great way of doing this which makes me nervous when I find myself on a bigger job. 

     I'm also not clear on how to use Relax and Rescale Elements, I'll have to do some reading in the 3ds Max Help document.

     Here's a new issue I haven't been able to figure out:

     When I'm working in Map Channel 1, my UVW scale appears to be working correctly when referncing the Texture Checker (UV_Checker.png) as seen in the first image. Once I change the Map Channel to 2 (for importing into Unreal Engine) the Texture Checker stays the same on the UV sheet but appears to be scaled waaaaay up in the viewport. I'm not sure why this is, any ideas?

     



     Thank you for all the advice thus far @Mark Dygert - it really is appreciated!

Sign In or Register to comment.