Home Technical Talk

Texturing Workflow Question - Brick Arches

polycounter lvl 6
Offline / Send Message
Urzaz polycounter lvl 6
I need to deal with large large Roman brick arches of different radii. In this case they're set into the wall.

8-3_1.jpg

I had in my head the way to do it would be to have a "detail brick" material, part of which would be a tiling row of long vertical bricks. I'd then have the arches as geometry in the surface of the wall and UV to that row, distorting the arch to a horizontal line. There'd be some squishing but hopefully not too noticeable, right?

WRONG. I found out that really doesn't work, distortions are based on how many UVs you have, and this distortion is especially difficult. Googling led me to believe this is impossible.

AfearhM.png?1

So what should I do, Polycount? Textures full of half-arches for a bunch of different radii? I can standardize them a bit, but there are limits. How would you approach this problem?

Thanks a bunch guys, I appreciate it.

Replies

  • Martin_H
    Options
    Offline / Send Message
    Martin_H polycounter lvl 6
    Can't you just increase the polycount on the arches? I think that might help.
  • PogoP
    Options
    Offline / Send Message
    PogoP polycounter lvl 10
    Yeah add one further subdivision whenever you have a divide between 2 bricks, then you won't get any distortion! Don't be afraid of using more polys :)
  • Urzaz
    Options
    Offline / Send Message
    Urzaz polycounter lvl 6
    Thanks guys.

    I DID experiment with adding edge loops to divide the existing polygons, because of the long thin lines in the texture, it resulted in wavy zigzaggy distortions instead, but I was just eyeballing it, I'll try completely rebuilding a reprojecting a test arch.


    I think this is where my modelling skills start to fail me. 1) I'm unsure of what kind of polycount is acceptable for large environment pieces like this, so I try to be as efficient as possible. 2) You can see my handling of topology trying to navigate the arches, windows and doorways seems awkward. The way I'm building these buildings is to make a modular piece for an arch or doorway that can be used to block out the walls, then connecting them together later. In this image there are primarily two main arch pieces that go up to the roof and are just repeated.

    XWwytPZ.png

    I guess I was also trying to avoid complexity because when I weld them together I'll have loops that aren't doing anything, if that makes sense? I'm new to this environment art biz, if that wasn't apparent. :P

    So I guess my question is, if you were going to drastically increase the polycount on those arches, how would you handle the topology, OR is there another way to go about it that I'm not considering?
  • Vailias
    Options
    Offline / Send Message
    Vailias polycounter lvl 18
    A loop or edge that makes your texture interpolate right is a loop that is doing something.

    you can get away with a long tiling bit for the arch, but you'll need a correspondingly higher vertex count to control how the texture is projected onto the surface. If you notice, that discontinuity is along the internal "invisible" triangle edge for your quads. So if you make the quads align more closely to the bricks, you'll minimize your distortion.

    Another question is:
    Why are you making a watertight mesh? The thing is going to be split at its UV's in memory anyway, so why grief yourself?

    Best suggestion to get going here is to build yourself a set of modular pieces rather than making large meshes all stitched together.
  • Eric Chadwick
    Options
    Offline / Send Message
    Kevin Johnstone's modular talk offers quite a bit of detail about how to solve this problem.
    http://www.kevinjohnstone.com/Help/Modular%20Environment%20Design.rar

    More info here, including additional notes from Kevin.
    http://wiki.polycount.com/wiki/Modular_environments
  • Urzaz
    Options
    Offline / Send Message
    Urzaz polycounter lvl 6
    Okay, I'm back, did my tests, whaddaya know, you guys were right. At first I was trying to just add more radial divisions to the arch, but once I added edge loops it looks pretty much perfect on the arch with 30 divisions.

    rQPyECv.png

    Vailias: Noticing that the distortion was happening along the triangle edge was what led me to suspect what was going on and eventually google what exactly the problem was. Initially I was thinking distorting the quad UVs would distort the texture just like it would in photoshop. Obviously that doesn't make any sense when you think about it.

    Why am I making a watertight mesh? That's a good question. I wouldn't say it's EXACTLY watertight, but yeah, I was thinking my wall geometry should be joined together. I need to look more at the links Eric gave me and how those buildings are put together, but my understanding was too many unwelded exposed seams could cause problems in-engine? (Unity in my case)

    I know in our project I've seen awkward lighting issues along edges or seams of light in lightmaps where there shouldn't be. Maybe that was something else someone should have fixed, I don't know. Now, if you cover those seams with intersecting detail geometry that's a good fix, and I do have engaged columns I can use in some cases, but not everywhere.

    Thoughts on how solid/modular a environment building should/shouldn't be?
  • Eric Chadwick
    Options
    Offline / Send Message
    Urzaz wrote: »
    my understanding was too many unwelded exposed seams could cause problems in-engine? (Unity in my case)

    I know in our project I've seen awkward lighting issues along edges or seams of light in lightmaps where there shouldn't be.

    Unwelded/exposed seams are not bad. The only reason to have watertight meshes is if you have shadow-casting lights which are shining on the backsides of meshes, so you want to make sure the meshes cast proper shadows. But most of the time you don't have this problem.

    Lighting seams are usually because of bad lightmap UVs, or bad vertex normals (smoothing groups).

    Your arches are using way too many vertices, this increases the memory cost of the model, which means longer load times, longer downloads (if a web game), etc.

    You don't need 6 edge loops, again overkill.

    "noticeable waviness at full resolution"... this will never be noticed by the player.

    You're heading in the right direction though. Keep going!
  • abeha
    Options
    Offline / Send Message
    I guess I was also trying to avoid complexity because when I weld them together I'll have loops that aren't doing anything, if that makes sense? I'm new to this environment art biz, if that wasn't apparent. :P
  • retmia
    Options
    Offline / Send Message
    retmia polycounter lvl 8
    I'm following this closely, because I'm encoutering the same problem ! And I don't really get why it appears so strongly in your models like in mine, when at other's work it seems unnoticeable with the same technique ! :whyme:

    Eric, did you add new pages at the "Modular environments" wiki ? There seems to be more, and with some very interesting content and very precious informations that didn't seem to be there last time I came by, a month ago or so ! Thank you for the great work :)
  • Eric Chadwick
    Options
    Offline / Send Message
    No new links on that page, just added images, and in fact removed a couple dead ones. Glad it's helpful!

    One solution for the curved bricks problem, is to use a curved texture! Make a short section of the arch, like 1/8, map it to geom, then duplicate the geom 8x to make the full arch.
Sign In or Register to comment.