Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Terrain detail mesh normal map

Discussion in 'Editor & General Support' started by copenhagenjazz, Apr 4, 2013.

  1. copenhagenjazz

    copenhagenjazz

    Joined:
    Oct 2, 2005
    Posts:
    45
    Hi

    Do any of you know if its possible to have a normal map applied to a terrain detail mesh? I know Unity doesnt support it out of the box but was wondering if anyone of you might have found a workaround?

    Thanks
     
  2. copenhagenjazz

    copenhagenjazz

    Joined:
    Oct 2, 2005
    Posts:
    45
    Just to elaborate; I am talking about the detail meshes you can paint out on the terrain.

    Specifically in this case I am looking to cover my ground with lots of small rocks and was hoping to use the detail meshes for this. However as detail meshes cannot be normalmapped this might not be the solution.

    Any suggestions or workarounds would be much appreciated :)
     
  3. rapidfirestudio

    rapidfirestudio

    Joined:
    Jan 31, 2013
    Posts:
    73
    It's still not clear to me what you want to do.

    If you want to normal map the terrain's splat-mapped textures check out the "ats Colormap terrain shader" and/or its free variants in the app store.

    If you want to add normal maps to the detail meshes, the standard procedure here would be to figure out if you can 1) replace the detail mesh's material/shader or 2) replace the built-in shader that handles detail meshes. As far as I know all built-in shaders can be replaced.

    You can grab the built in shaders here: http://unity3d.com/unity/download/archive. Any shader with the same name (the name as defined in the shader's code, not the filename) in your Assets folder will be used instead of the built-in shader.

    If you want to do sth else, please explain.
     
  4. copenhagenjazz

    copenhagenjazz

    Joined:
    Oct 2, 2005
    Posts:
    45
    Hi rapid

    Thanks for your answer. It is option 2 I want to do. So I guess it is the VertexLit shader that I need to overwrite with another shader that has normalmaps? Where do I find the VertexLit shader in the assets folder?

    Thanks
     
  5. rapidfirestudio

    rapidfirestudio

    Joined:
    Jan 31, 2013
    Posts:
    73
    Why don't you take a look at this. I have a feeling this is actually what you want: http://forum.unity3d.com/threads/152151-Terrain-Decal-Shader-RELEASED

    Yes, the shader you'd want to replace is this: "Hidden/TerrainEngine/Details/Vertexlit". I'm not sure you would have any way for the shader to "find" your normal map because I believe the terrain engine will ignore everything in the material you've got attached to your detail mesh apart from its main texture. Having said that, I've never tried it, so it might work.

    Hope that helps.
     
    Last edited: Apr 5, 2013