Home Technical Talk

Vertex Normal Corner Decals?

polycounter lvl 6
Offline / Send Message
M-Cubed polycounter lvl 6
Hey guys. I was looking around Polycount to try and find a post I saw about a month or so ago about making polygonal decals for corners. The main example I remember was from Metal Gear Solid 5, showing a cliff edge, and a decal placed over the corner of that edge using a normal map and opacity to make it looked chipped and worn. 

That technique would be quite useful for an upcoming project, but there was a specific detail to the technique dealing with vertex normals that I just can't remember. I've searched google and the forums to try and find that thread again, but was unable to do so. Anyone know where I could find the tread, or perhaps find any other information on the technique in question? Thanks!

Replies

  • Scruples
    Options
    Offline / Send Message
    Scruples polycounter lvl 10
    The thread was deleted as the person who created it was under NDA.
  • M-Cubed
    Options
    Offline / Send Message
    M-Cubed polycounter lvl 6
    AH! Well, that's understandable I suppose. Still, you'd think this technique would have been documented elsewhere. Anyone know of any other sources of information that could help me out?
  • Internet Friend
    Options
    Offline / Send Message
    Internet Friend polycounter lvl 9
    The key is that the verts on the border of the decal must have the same normal as the vert of the edge they're on. That will make it lit like a flat plane even though it may be bent 90 degrees around the corner. 
  • huffer
  • Eric Chadwick
  • M-Cubed
    Options
    Offline / Send Message
    M-Cubed polycounter lvl 6
    Hey, thanks for the links guys! Had a look through them and what @huffer posted there seems to be the closest to what I had in mind.  The idea of floating pieces of geometry overtop with a decal applied to it. 

    I still can't quite remember why vertex normals were important for this. For more information I'd be modeling these sorts of geometry pieces in max, and then bringing them into Unity 4.X in case there is specific software reasons. 

    What @Internet Friend said seems to ring a bell though. So if I had a straight 90 degree corner, and I had a piece of decal geometry that was also 90 degrees floating over top that corner, would I have to do anything special to that piece of geometry to prevent incorrect lighting or 'seams' showing up?
  • m4dcow
    Options
    Offline / Send Message
    m4dcow interpolator
    M-Cubed said:
    Hey, thanks for the links guys! Had a look through them and what @huffer posted there seems to be the closest to what I had in mind.  The idea of floating pieces of geometry overtop with a decal applied to it. 

    I still can't quite remember why vertex normals were important for this. For more information I'd be modeling these sorts of geometry pieces in max, and then bringing them into Unity 4.X in case there is specific software reasons. 

    What @Internet Friend said seems to ring a bell though. So if I had a straight 90 degree corner, and I had a piece of decal geometry that was also 90 degrees floating over top that corner, would I have to do anything special to that piece of geometry to prevent incorrect lighting or 'seams' showing up?
    So the 45 vertex normals had to do with how the normals were projected, by having the normals at 45 degrees you are able to use them on angles other than 90 degrees. Think about it as a workaround to project the normals flat (since the edges are masked off)
  • M-Cubed
    Options
    Offline / Send Message
    M-Cubed polycounter lvl 6
    Ok, so I have some normal maps that were made on a flat plane, projected or otherwise. I use those maps to make my decal materials. If I use those materials on a decal that is only over a 90 degree corner, I don't need to change anything. If I use them on a corner that is something other than 90 degrees, that's when I need to change the vertex normals? Did I get that right?
  • m4dcow
    Options
    Offline / Send Message
    m4dcow interpolator
    M-Cubed said:
    Ok, so I have some normal maps that were made on a flat plane, projected or otherwise. I use those maps to make my decal materials. If I use those materials on a decal that is only over a 90 degree corner, I don't need to change anything. If I use them on a corner that is something other than 90 degrees, that's when I need to change the vertex normals? Did I get that right?
    While creating the high poly decals on a flat plane can be done, the cool thing about the technique was that it was more intuitive to sculpt on an actual corner of something, and be able to visualize it instantly.
    The baking setup would look something like this:

    You bake like this so that the low poly is at the normal angle of the corner.
    When you make the decal geometry that actually wraps around, editing the normal so that the outer loops match the center, because the center loop would be the optimal viewing angle for the corner decal. Also because you mask out the decal texture, you can use the method on any angle corner and it still holds up.

    You can try it with a flat high poly at first but even with that method you want to edit the normal, because I noticed if left smooth you sometimes see weird shading artifacts.
  • M-Cubed
    Options
    Offline / Send Message
    M-Cubed polycounter lvl 6
    Oooohhh I get it now! Thanks @m4dcow That was the piece I was missing I think, the baking process, and how that tied into, and in fact was the reason  behind adjust the vertex normals in the first place. That seems to make a lot more sense now. Cool, thanks again. I'll have to try this out after the holidays. Cheers!
Sign In or Register to comment.