Home Technical Talk

combine meshes to continuous mesh

walkonsky
polycounter lvl 11
Offline / Send Message
walkonsky polycounter lvl 11
I'm trying to combine several meshes of a low poly model to be better able to UV-unwrap. There are more than 100 small meshes scattered over one large mesh. See this screen (part of the whole thing):

I would like to have one continuous mesh with somewhat decent topology to only have one UV-island in the end.
I have tried several things, but was not able to get a reasonable final mesh. Does anyone of you have any suggestions?

Replies

  • ZacD
    Options
    Offline / Send Message
    ZacD ngon master
    Model one small part that you can tile/duplicate.
  • walkonsky
    Options
    Offline / Send Message
    walkonsky polycounter lvl 11
    Yeah, I tried that first, but the resulting model looked much too regular. That's why all these smaller meshes are now slightly rotated and offset randomly so that the model looks more natural. In addition, I plan on sculpting the light grey model so that it is not simply tiling as well.
  • ZacD
    Options
    Offline / Send Message
    ZacD ngon master
    If you want to break up tiling, doing it with the textures is typically a better approach. Tile roofs like that are very regular in real life, adding more variation and for for no reason is a bit silly. If you still want to add a few skewed ones, make it tiled first, and then randomly tweak a few tiles by hand.
  • walkonsky
    Options
    Offline / Send Message
    walkonsky polycounter lvl 11
    Thank you for your replies! I would agree with you for modern, well-kept roofs. However, I am going for an old, rundown look. I tried the regular, repeating pattern and it just doesn't look right.
  • Eric Chadwick
    Options
    Online / Send Message
    ZacD's method is still your best bet. Either tweak some tiles after duplicating the grid, or use a Noise modifier/deformed to deform the whole thing. Which software are you using?
  • walkonsky
    Options
    Offline / Send Message
    walkonsky polycounter lvl 11
    Coming from two guys like you thats not good news. ;)
    I'm using Blender. I have a low density subdivided plane with a particle system that spawns a tile (dark grey meshes) at every vertex of the plane. It also randomly rotates every spawned mesh. A displacement modifier offsets all vertices of the plane by a small amount for additional variation.
    I'm using the same technique for both the highpoly and lowpoly versions of that roof. By using the same particle system but a different set of spawned roof tile meshes I get the same placement and rotation for both versions.
    If I were to do it by hand, I wouldn't only have to touch as many of the 180 tiles as I think I need to once, but twice. Once for the highpoly, once for the low...
  • Eric Chadwick
    Options
    Online / Send Message
    What is the end result you're trying to achieve? Can you show some reference photos?

    How is the end result going to be viewed? In a game, third person camera, running across the roof? Looking down from high above the roofs, rendered in Blender?

    Tiles are typically overlapped, not using grout or concrete between them.


    Uncharted used pretty simple meshes:
    diebmpjpg
  • walkonsky
    Options
    Offline / Send Message
    walkonsky polycounter lvl 11
    I have a scan from a book that shows a roof that is similar to what I want to achieve.


    You can see how some of the tiles are offset a little bit. I want to push that a little farther as I want the building in my scene to be more rundown. You can also see the grout between the tiles. There are inverted tiles beneath that, but you dont see them.

    This is going to be a modular roof element for a scene in a game engine (UDK at the moment, considering switching over to UE4, although that should only affect later stages of texturing). The mesh is going to be viewed from below, but also from a flying camera on the same height as the roof. The camera's distance from the roof will be about 5-10m.
    I would like to have my mesh a little more detail than the one from uncharted. I would especially like have the thin front sides of the tiles modeled out so the mesh reads better when viewed from the ground level.
  • Eric Chadwick
    Options
    Online / Send Message
    OK so you still have memory limits to contend with. Which means using tiled textures. You can vary it up a bit by blending textures together. The concrete/grout can be a separate texture from the tiles texture. You could also add another texture which has all the tiles extremely damaged (cracked, incomplete, dirty) and blend that in randomly across the mesh using vertex paint.

    http://wiki.polycount.com/wiki/MultiTexture

    I would use a tiled mesh.
  • CharacterCarl
    Options
    Offline / Send Message
    CharacterCarl greentooth
    As Eric suggested, blending between textures using vertex paint is a valid option for adding variety.
    If you want your tiles to look skewed or just give them some variation lighting-wise you could also consider using a macro-normal. It is essentially a small texture with randomized normal colors that uses less tiling than your actual textures and, hence, by covering a bigger area, can help avoid an overly repetitive look.



    Scott Homer describes it very well in his tutorial (Vertex 2): https://ryanhawkins.gumroad.com/
  • Eric Chadwick
    Options
    Online / Send Message
    That's a cool trick. I just used it for quick tree foliage, worked really well to break up the flat planes in an architectural render.


  • LaurentiuN
    Options
    Offline / Send Message
    LaurentiuN interpolator
    Maybe this can help u in some way,

    Breakdown - Roof


    Hope this helps.
  • walkonsky
    Options
    Offline / Send Message
    walkonsky polycounter lvl 11
    Thank you for all the suggestions!
    I see the benefit of using macro normals, but I still haven't given up on the idea of one continuous mesh for grout and tiles. I have found a cool script for blender that automatically vertices at the intersection between two meshes. I'm trying to find a way to use that along with clever topoogy on my mesh.
    @s1dk: I'm not too sure if what you are demonstrating happens in-engine, or while creating modular mehses in the editor. So far, I planned on creating a much bigger module with many more tiles to prevent tiling.
    Is what you are showing in '1' actually the only one module you used for an actual scene? If so, I might get away with producing a much smaller module myself, weld all the pieces together by hand and then use vertex painting and macro normals to hide the tiling.
  • LaurentiuN
    Options
    Offline / Send Message
    LaurentiuN interpolator
    yeah the first one is a module but is made to tile if u cut the bordes, i did this in max and here is the result.


  • walkonsky
    Options
    Offline / Send Message
    walkonsky polycounter lvl 11
    it took me a while, but I managed to get a continuous mesh like I wanted.
    I ended up using a boolean operation to fuse tiles and grout. I had to clean up afterwards manually, that why I reduced the tile number to 42 (from 180).
    The overall process was this:
    - sculpt hp meshes of ~15 tiles
    - set up particle system to place tiles randomly on vertices of subdivided plane. the number and placement of vertices dictates the number and position of the tiles. A displacement modifier added some variation to the placement.
    - use the same particle system to place lp meshes for the tiles. these meshes should be air tight to enable boolean operations
    - sculpt the grout as a separate object
    - decimate the groutmesh to a density that is suitable for a lowpoly. add thickness to the mesh to make it air tight for booleans.
    - use a boolean modifier to fuse the two meshes. clean up for better topology/even mesh density/etc.
    - to make it tile, i had to go in and edit the edges of the grout highpoly mesh by hand/with the blender sculpting tools. I then adjusted the lp mesh to fit the hp again.

    this is what the result looks like:
    lowpoly mesh wires:
    GfItSOkjpg

    lowpoly uvs:
    yw81Mb5jpg

    lowpoly with normal map and AO (this mesh tiles in both directions to make it modular):
    v0jc5TSjpg

    this might not be the best way to do it in a production environment, but it worked and so far I think the result looks quite good. Next up: texturing
  • the_dlearner
    Options
    Offline / Send Message
    As Eric suggested, blending between textures using vertex paint is a valid option for adding variety.
    If you want your tiles to look skewed or just give them some variation lighting-wise you could also consider using a macro-normal. It is essentially a small texture with randomized normal colors that uses less tiling than your actual textures and, hence, by covering a bigger area, can help avoid an overly repetitive look.

    tA4pWZUjpg

    Scott Homer describes it very well in his tutorial (Vertex 2): https://ryanhawkins.gumroad.com/
    Damn, it's 2024 and the link is broken, anybody that can explain this trick? or is just a simple tiled normal map with random colors? O_O will experiment with this meanwhile, gold stuff
  • ZacD
    Options
    Offline / Send Message
    ZacD ngon master
    imgur has deleted a lot of images. If you google search a thread title from polycount, sometimes google images will have cached images from the thread. 
  • Eric Chadwick
    Options
    Online / Send Message
    Restored the images for you. They were using http: instead of https: and this became a problem recently because our forum host thought all images MUST use https: which is fucking stupid but that's what they're forcing on us. :(
Sign In or Register to comment.