Home Technical Talk

The Snow and Ice of Uncharted2?



  • Dakkon
    Offline / Send Message
    Dakkon polycounter lvl 10
    Hey guys. I was wondering, has anyone figured out how to preserve vertex colors when the mesh is changed and re-imported? Basically that kills vertex coloring every time, which would kill a lot of work.
  • Mark Dygert
    You can transfer the colors from one actor to another in UDK.

    You can also do your vertex colors in Max/Maya and import them into UDK with the mesh. That way you're not starting off with a blank mesh every time.

    You might be able to export the actors back out of UDK and it includes the vertex colors? That way if you made edits to the colors but need to make changes to the mesh you can get it back out. Haven't tested it out, just speculating...
  • Dakkon
    Offline / Send Message
    Dakkon polycounter lvl 10
    Yeah, I was thinking of that initially, but I don't think it would work. If the mesh you were using was a one off piece, exporting the mesh out of Unreal in to Max is fine. If it's a simple ground plane you've been painting on, and you've tiled that all over the place, you can't export all of those out of Unreal and store that data.

    I'm guessing what's happening is that the vert numbers are all getting re-ordered. Unreal doesn't know what to do, and it kills all the past coloring work. I think that's a pretty big issue for production. Artists really can't do detailed vert coloring until the mesh is 100% locked down. Even at that point, you'd need to hope that no one else alters the mesh.
  • claydough
    Offline / Send Message
    claydough polycounter lvl 10
  • AlecMoody
    Offline / Send Message
    AlecMoody ngon master
    that looks really good
  • ImSlightlyBored
    Offline / Send Message
    ImSlightlyBored polycounter lvl 13
    I don't see how that's new?
    Pretty simple stuff, but effective.
    What's different to that wet layer stuff? Isn't that just Unreal's light function with a shader that reads an objects normal vector?
  • karera
    Offline / Send Message
    karera polygon
    Hm guys I can't seem to get the whole Mesh paint working. Whats the secret word? :D I copied one of the materials from this thread and it seems to work. But I don't get how to get the information to the Vertex color node... Very new to all this so if someone could explain. Thanks in advance!


    And btw.
    Is there a possibility to bake out the mesh paint result into a texture? This could be useful for laying down the base textures for worn out material etc, I was thinking about it more for objects than terrain/ground/walls.

    Take a look at this chainsaw for example, if you could paint out in realtime where u wanted the worn out effects on your model that would be awesome. sure there are other ways of doing this but it would be cool to try it out.

  • Mypeople
    Man this thread is such an eye opener, so much potential with all of this.

    great youtube videos, subscribed and will chekc out more of your videos after work. is it possible to get a ...breakdown or something on how you made your shader network in udk? loved that sand painting on the floor video, such awesome technique and thread.
  • cman2k
    Offline / Send Message
    cman2k polycounter lvl 15

    Neat video from Project Offset, showing some vertex blending used on a building.

    Looks like they can paint vertex colors in-engine too. Also looks like they are using one of their RGB channels to provide some type of "darkening", probably just to make fake shadow/dirt stuff. Then they do a decal pass after that.

    Neat stuff!

    bonus, here's a relevant excerpt from their technology page;
    # Vertex Paint - Vertex paint mode allows you to paint values directly onto the vertices within your map. This is an easy way to control texture blending, adjust light intensity, or adjust color. Since this is an editor mode you can see what exactly you're doing. You can choose which surfaces to paint on, and brush details like size and smoothing radius, and channel masks. The values are saved out separately from the underlying mesh, and applied separately, so you can share the vertex paint info across multiple meshes, or have multiple instances of the same mesh with different vertex paint info.
  • Seaseme
    Offline / Send Message
    Seaseme polycounter lvl 8
    Anyone have any insight on where to start if I wanted to build this for Maya?
  • Ark
    Offline / Send Message
    Ark polycounter lvl 11
    G3L wrote: »
    Thought this post from Behrooz Roozbeh from Naughty Dog would help shed some light on this...it's pretty much what everyone has said up to this point about vertex blending. This comes from the Unhcarted 2 Art Thread on Zbrush Central, check it out here


    There is a game shader technique called vertex blending that does wonders for tile-able textures..
    The blend Shader uses two sets of textures plus an additional blend map to reveal another set of textures
    Lets say top texture set is the undamaged version(diffuse, normal, specular,...etc maps)
    and second set is the destroyed version of the tezture set, so using a blend map and painting the vertex (assume red channel of vertex is used for the blending) then depending on vertex value of red channel will reveal the second set of textures.

    Sorry for bumping this old but awesome thread.

    Can someone elaborate on this technique?

    Why do you need a blend map and vertex colours when either would allow you blend between them on there own?

    Is it the blend map what controls the 'amount' of blending and the vertex colours control where the transitions take place on the mesh?
  • Axios
    Offline / Send Message
    Axios polycounter lvl 10
    As far as I understand it, yes. You can use a blend map which is unique to the object you make it for that will control both how and and where materials will blend on a model, but I prefer using a blend mask with controls how the transitions looks (such as streaks for water stains) in combination with vertex colors to determine where on the model the varying materials are applied.
  • cryrid
    Offline / Send Message
    cryrid greentooth
    The vertex color should be able to control the weight of the blend through its value, and thus by extension where the blending occurs. I think the 'blend map' is just his way of referring to the painted vertex red channel value.
  • Mypeople
    Does anyone know how you'd create this shader but with Height as well as a normal bump? I read that on uncharted 2, they used height maps as well as normal maps for these materials. I have no clue where i'd add the height map to this shader network.

    If anyone figured out how to do that, would you mind posting a pic of your shader network? be so awesome to see how its done.
  • Bal
    Offline / Send Message
    Bal polycounter lvl 12
    Well you can use the height map as a replacement for the blend map (or combine them in some way, depends on the result you want), that can often get you the best effects, depending on what textures you are blending obviously.
    Of course you can also use the heighmap as you normally would, plugged into the bump offset stuff for instance.
  • Mark Dygert
    Mypeople wrote: »
    If anyone figured out how to do that, would you mind posting a pic of your shader network? be so awesome to see how its done.
    You mean this?:
  • Mypeople
    thats crayleon's youtube page right? i subscribe to him, but i dont think he shows how he makes his material anywhere though.
  • divi
  • Mypeople

    I followed this shader network. it looks decent, but i noticed with my height map from zbrush, when plugged into that network, my painted texture never gets in all those tiny nooks and cracks.

    in uncharted 2, you see the snow in every little crack.

    I wonder if they're using a height map as well as a normal map combined somehow to get the snow in those little cracks? any ideas?

    i wanted to do a uncharted 2 themed env, but i cant start making my textures until i can figure out how to make this shader in unreal...oy...
  • divi
    Offline / Send Message
    divi polycounter lvl 9
    i doubt they'd use the normal map in addition to a tweaked ao bake mask since that gives you all the control you need. you can use the normal map to recreate something similar to an ao bake if you are strapped for memory, but if you can afford it, just go with a proper mask.

    if your mask doesn't give you the results you want by using an automatically generated solution from a program, maybe you'll have to get in there and paint it yourself. or try another program.

    experiment. it's really not that hard to grasp the concept once you got into it and tried a few things.
  • Mypeople
    I finally got this to work. the snow fall off is a real quick map, it could look much better, i was just testing to see if this would work. The snow gets in all the little cracks and such now using a height map. SO thrilled this works.

  • MattLichy
    hmmmmmmmmm.... Very cool :)
  • copypastepixel
    There's a fantastic presentation on the art direction in Uncharted 2. I didn't read all the posts in this thread so this may have already been linked to but just in case. :)

    Art Direction in Uncharted 2

    They discuss blending techniques around slide 220 or so.
  • Autocon
    Offline / Send Message
    Autocon polycounter lvl 13
    There are pretty much 3 methods used for the snow. A slope shader and a blend shader based off a hightmap and vertex blending. Not used together as each alone is already a very expensive shader.

    The slope shader is based off Y normals (up direction) to put the coating of snow, moss what have you ontop of your asset. This way any way you rotate the object you will always get snow ontop of the object and dosnt require a unique unwrap or unique texture. You can adjust the angle of the slope and the fall off which reacts with the rocks normal map to get in the crevasse.

    The second way is a blend shader that used a high map, in this case a high map of the rock to blend the rock and snow together. A thrid small texture gradient allows you to control amount of the blend between the two textures. Great for getting details into cracks while still maintains sharpness in the textures being blended. Then using vertex colors you specify where you want what part of the blend to be where.

    The third is regular vertex blending which blends two textures together based on vertex colors. This will bend the two textures much like if you were overlapping them so where they meet your not going to get crisp sharp details popping out. Works well for terrain and bad for things with cracks and crevasse that you want dirt to be inside of the insets and not ontop of the tiles.

    The Art Direction in UC2 PDF is a great look through and I would suggest you all do so. Sucks theirs no words/explanations with it though but you can get a lot from just the images.
Sign In or Register to comment.