Home Unity

Modular Scene - Master Texture?

So I built up a bunch of modular panels in max, all baked and uv'd then assembled in Unity3d.

I had an idea to take this set piece back into max and bake it more to "unify" it.

I use the OBJExport script and I'm setup in Max again. How can I bake a proper Ambient occlusion so when wall meets floor we can get a nice shadow?

Each panel already has UV's, norm spec and diffuse, so its a matter of repacking all of these pieces right?

Anyone know of any shortcuts or best methods?

I also want to try taking it into zbrush and going nuts then re-bake. Any suggestions?

bS6c2oy.jpg

Re-Import to Max as single editable poly, Unwrap UVW modifier attached
YCCk8Pd.jpg

2nd attempt:
Imported to max as seperate objects. (Selected objects in green outline) I then added 2 Unwrap UVW, the first is channel 1 (correct UV's) the second is channel 2. (look at uv window)
8O44V0r.jpg

Replies

  • curzed
    i moved this to technical talk
  • Elyaradine
    Offline / Send Message
    Elyaradine polycounter lvl 11
    Um. So you have a bunch of modular pieces that share the same textures, and you want to add ambient occlusion to that?

    You... can't, generally. It'd be best to turn the AO on in your Beast lightmap bake settings, and let the AO get baked into your lightmap. If you want them baked into your diffuse texture or something, it might look great for one specific asset (the main one you bake the AO off of), but you'll get the AO shadows popping up on all the other pieces that are used anywhere else that use the same texture.

    Assuming I understood you correctly.
  • WarrenM
    Yes, to get a proper AO bake on this, you'd need to have all the pieces uniquely unwrapped or they will have artifacts all over them. You could also do it as a screen based post process effect as a more general solution - assuming Unity supports that, I don't know.
  • curzed
    Yeah screen space ambient occlusion would help but that's not what I'm after. Every piece has already been unwrapped its a matter of getting all of the duplicates into 0-1 UV space right?
  • WarrenM
    If you want them all to share the same texture, yes.
  • curzed
    The reason being, this set piece is 400+ drawcalls before being batched, and only 12 when batched. However if I bring it back into max, I can treat it as one piece.

    I think I have to move all the channel 1 uv's outside the 0-1 space beforehand so their not all clumped together. Then I can piece them back together and bake a "master" uv

    Here's the same picture before except this is channel 1 UV, I started moving duplicates outside 0-1 space

    Ytsup6h.png
  • curzed
    Like I'm not just trying to get a lightmap, I want to do a megatexture of some sort where I unwrap this whole set piect, then subdivide and add more detail and re-bake?

    This will also export to unity as 1 piece instead of 496 modulars - or 12 batched.

    Someone has to have some knowledge of this and best methods.

    For example I give level designer the modulars, he lays out a scene, now I'm ready to unify it and make it better as a final scene
  • Farfarer
    Why not just bake a lightmap in Unity? It'll handle all that for you.

    Then mark all your meshes as Static (top right of inspector) and Unity will combine the meshes into a static batch (or batches) for you.
  • curzed
    Lightmap is giving me good results, although I've run into another issue.

    When duplicated floor tiles like that, Unity duplicates the UV's as well. So when I combine the entire floor, I cant paint tileable textures across.

    Anyone know a workaround for this in Max? The only solutions I can think of are:

    A)Instead of duplicating, each tile must be a unique object but shares the same material (batchable)

    B)Export out the entire floor in Max and unwrap the map as one

    C)Use a terrain floor (Unity doesnt support terrain holes out of the box.)

    3jeNr93.png
  • curzed
    I'm just unwrapping the whole floor in max and painting in unity with t4m its working fine.
Sign In or Register to comment.