Home Unreal Engine

Normal maps in UDK

polycounter lvl 8
Offline / Send Message
Ryandec polycounter lvl 8
Hi im fairly new to polycount forums so first hello everyone:)

Im currently trying to put a rock I made into Udk with the normal map i extracted in mudbox but the normal map doesn't seem to show in udk whereas in mudbox the normal looks fine.. heres some screenshots of both.

rock_mudbox.jpg

here is my rock with normal map appiled to my low poly in mudbox

Rock_udk.jpg

and here it is in udk with the normal map.. it doesn't seem to make a difference

Replies

  • JamesWild
    Options
    Offline / Send Message
    JamesWild polycounter lvl 8
    Please show:
    -your normal map
    -the material you have applied to the mesh.

    Should be possible to figure it out from there.
  • Ryandec
    Options
    Offline / Send Message
    Ryandec polycounter lvl 8
    well I acutally followed a Procedural rock tutorial in 3ds max

    here http://saschahenrichs.blogspot.co.uk/2010/04/3dsmax-environment-modeling-2.html

    The texture I have used in a tileable rock texture which i appiled in 3ds max and then painted some extra details in mudbox.

    here is the texture and normal map..

    normals
    rocknorms.png

    texture
    rock_texture.png
  • JamesWild
    Options
    Offline / Send Message
    JamesWild polycounter lvl 8
    I only briefly flicked through that but I don't see them making a material in UDK at any point. If you've never worked with UDK before, make a new material in your package (right click in browser->new material) and drag your textures into the window that opens. Link them up to the diffuse and normal slots and close the material editor. Then, with your material selected in the browser hit the green <- arrow where it says material under LODInfo.

    A material is a collection of textures, mathematical operations, etc. that combine to make the finished surface. You might be able to just plug the diffuse into the material slot (which is what I think you've done) but it won't know where to get its normal map data from if you do that.
  • Ryandec
    Options
    Offline / Send Message
    Ryandec polycounter lvl 8
    heres the setup of the material its fairly straight forward

    udksteup.jpg

    Should I try using multiply on the normal map?

    I have experience in UDK from self learning, I did a game design course at college, but I didn't really get taught much it was just self learning, Ive made levels in udk before using the default meshes, I wanted to start creating meshes for UDK as I think my knowledge of 3ds max is good, ive imported some meshes before and not had any problems with the normal map showing up and I did them the same way.
  • sprunghunt
    Options
    Offline / Send Message
    sprunghunt polycounter
    have you set the properties of your normalmap to be TC_normalmap when you imported it?

    http://udn.epicgames.com/Three/NormalMapFormats.html

    see how the blue in this map is really dark?

    NormalParam.png

    that's what your normalmap should look like in the editor.
  • JamesWild
    Options
    Offline / Send Message
    JamesWild polycounter lvl 8
    That looks right which is odd. I'm afraid I've never worked with Mudbox so I don't know if it has any issues with UDK. Hold 1 and click to add a 1-constant and set it to 1.0 and link that up to the spec channel. It should make the normal map more obvious if it's there. You can also hold L and drag in most viewports to test lighting.
  • Ryandec
    Options
    Offline / Send Message
    Ryandec polycounter lvl 8
    Thank you both sure your help, Sprunghunt that was the problem and i manged to fix it, it shows correctly now in UDK now I know why my normals maps never looked the strong when in udk thanks !!!:)
  • JamesWild
    Options
    Offline / Send Message
    JamesWild polycounter lvl 8
    Aha! Totally forgot about that been months since I last used UDK now.

    Glad you got the help.
  • Kurt Russell Fan Club
    Options
    Offline / Send Message
    Kurt Russell Fan Club polycounter lvl 9
    You need to do this in udk because it uses gamma correction in its image pipeline.

    Any textures that represent an object's texture or ui texture will look good by default import, but mathematical textures like normal maps and height maps and tone curves need special texture compression settings. If you forget this, the values in your image get mapped to a gamma curve, so a 50% gray won't read as the right value anymore.
  • Ryandec
    Options
    Offline / Send Message
    Ryandec polycounter lvl 8
    aswell one last thing, does this apply to specular maps and AO maps too? is there a certain setting before importing for them aswell :)?
  • Jacky
    Options
    Offline / Send Message
    Jacky polycounter lvl 6
    Wanted to share this:

    http://www.froyok.fr/blog/2011-10-textures-can-we-cheat
    You have also the V8U8 (TC_NormalmapUncompressed in UDK) which store the data not like the DXTC format does.
    “It can store a normal map by using the two components to store the X and Y axis of the normal for each texel. Since normals are unit-length (i.e. all components squared and added together equal 1) we can just use simple mathematics to figure out what the Z axis of a normal should be since we know what the X and Y axes are.
    Although this format does not technically use compression it does allow us to take an uncompressed normal map and store it using much less space by dropping a component entirely. Since we are dropping a component from each texel we are going from 3 bytes per-texel to just 2 (i.e. 1/3 less space). In a fragment shader, we can just calculate the Z axis of a normal quickly and easily. ”

    Tested this by switching between a TC_Normalmap and TC_NormalmapUncompressed import of the same normal map and it does give finer detail.

    Btw, you can import your specular maps as Grayscale. You can get that option in the same dropdown menu.
  • JamesWild
    Options
    Offline / Send Message
    JamesWild polycounter lvl 8
    Jacky wrote: »
    Btw, you can import your specular maps as Grayscale. You can get that option in the same dropdown menu.

    Should be able to get away with putting it in the alpha channel of your diffuse if you plan on using a greyscale.
  • sprunghunt
    Options
    Offline / Send Message
    sprunghunt polycounter
    JamesWild wrote: »
    Should be able to get away with putting it in the alpha channel of your diffuse if you plan on using a greyscale.

    adding an alpha channel to your diffuse is the same amount of extra memory as an extra DXT1 texture. DXT5 is about twice the memory usage as DXT1 because the alpha is uncompressed.

    The most efficient thing to do is to put your specular mask as a single channel of a DXT1 texture and then use the other two channels for other masks or other specular images.

    I think using a greyscale format is also more memory as the directX greyscale image format is uncompressed.

    There's a handy table on this page showing a memory comparison between DXT1 and DXT5:

    http://udn.epicgames.com/Three/TextureSupportAndSettings.html
  • Froyok
    Options
    Offline / Send Message
    Froyok greentooth
    Jacky wrote: »
    Btw, you can import your specular maps as Grayscale. You can get that option in the same dropdown menu.

    Don't do this (at least if you talk about the TC_Grayscale setting in the UDK import box). This will import the texture as an grayscale image BUT uncompressed [noparse](R8G8B8)[/noparse] which will take a lot of memory.


    [EDIT] I didn't see the sprunghunt's response, follow what he saids. :)
    Jacky wrote: »

    I need to rewrite this thing, this is a bad article... :poly142:
  • cptSwing
    Options
    Offline / Send Message
    cptSwing polycounter lvl 11
    Protip: When mashing together mix maps, use the green channel for the map you want most detail for. In DXT compression, the green channel gets compressed less than the other two.
  • Jacky
    Options
    Offline / Send Message
    Jacky polycounter lvl 6
    Froyok wrote: »
    I need to rewrite this thing, this is a bad article... :poly142:

    lol...didn't know the author himself was here too. :P

    Sorry if i mislead anyone. I'm not using the UDK for game making so i have been ignoring memory or performance issues. Been doing some archviz tests currently so quality is what i've been going after.
Sign In or Register to comment.