Home Technical Talk

Problem with textures turning low res in UE3

Junkie_XL
polycounter lvl 14
Offline / Send Message
Junkie_XL polycounter lvl 14
Hi,

My high res 2K textures on my character turn muddy low res when I want to reopen my scene back up in a different session. Just curious what gives with that? They still say 2048 in the generic browser, but clearly they look grainy and different from the previous time.

Does streaming have something to do with it? I let it sit for a real long time but they never became the nice and crisp look they had the previous time I had the scene open. I have to manually import them back in, i can't just right-click and say re-import either.

Any help would be appreciated. Thanks.

Replies

  • sprunghunt
    Options
    Offline / Send Message
    sprunghunt polycounter
    are you setting the textures to use the TEXTUREGROUP_character LOD group?
  • Junkie_XL
    Options
    Offline / Send Message
    Junkie_XL polycounter lvl 14
    sprunghunt wrote: »
    are you setting the textures to use the TEXTUREGROUP_character LOD group?

    Since I don't know what you're talking about I would assume I am not. :poly136:

    I was just following this tutorial.
    http://www.gameartisans.org/gamecon/tutorials/tut_1.htm

    They look great at first, but then when I close UE3 and then come back to it they go lower res...1024 I would guess but I'm not sure...

    How do I do what you are talking about? Does that keep it stuck at 2048?

    EDIT: okay I found what you are talking about. But I am having the same problem with both TEXTUREGROUP_World or TEXTUREGROUP_Character. Either way I try it starts off looking nice, but save close and come back and it is muddy.
  • vik
    Options
    Offline / Send Message
    vik polycounter lvl 13
    We just had the very same discussion over at gameartist.net (UE3 Texture Quality ), so I just copy my take on this:

    " When you assign your textures in UE3 you will see the uncompressed, unclamped original texture displayed in the editor. Once you save the texture it gets compressed so when you reopen the scene the new, compressed texture will be loaded. Compression = loss of (some) detail. As for clamping(if thats the right word): once you save it in the editor, your texture size is limited depending on which texturegroup you assign your textures to (and what LODBias you use). /To see have this exactly works pls read the link below. /

    In your case two things are happening:
    1. loss of detail becasue of compression
    2. loss of texture size as it`s assigned to the skybox LODGroup and thus clamped at 2k

    LODGroups with texture size limits (MaxLODSize)
    TEXTUREGROUP_World=(MinLODSize=256,MaxLODSize=1024 ,LODBias=1)
    TEXTUREGROUP_WorldNormalMap=(MinLODSize=256,MaxLOD Size=1024,LODBias=2)
    TEXTUREGROUP_WorldSpecular=(MinLODSize=256,MaxLODS ize=1024,LODBias=1)
    TEXTUREGROUP_Character=(MinLODSize=256,MaxLODSize= 1024,LODBias=1)
    TEXTUREGROUP_CharacterNormalMap=(MinLODSize=256,Ma xLODSize=1024,LODBias=1)
    TEXTUREGROUP_CharacterSpecular=(MinLODSize=256,Max LODSize=1024,LODBias=1)
    TEXTUREGROUP_Weapon=(MinLODSize=256,MaxLODSize=102 4,LODBias=1)
    TEXTUREGROUP_WeaponNormalMap=(MinLODSize=256,MaxLO DSize=1024,LODBias=2)
    TEXTUREGROUP_WeaponSpecular=(MinLODSize=256,MaxLOD Size=1024,LODBias=1)
    TEXTUREGROUP_Vehicle=(MinLODSize=512,MaxLODSize=20 48,LODBias=1)
    TEXTUREGROUP_VehicleNormalMap=(MinLODSize=512,MaxL ODSize=2048,LODBias=1)
    TEXTUREGROUP_VehicleSpecular=(MinLODSize=512,MaxLO DSize=2048,LODBias=1)
    TEXTUREGROUP_Effects=(MinLODSize=256,MaxLODSize=10 24,LODBias=1)
    TEXTUREGROUP_Skybox=(MinLODSize=512,MaxLODSize=2048,LODBias=0)
    TEXTUREGROUP_UI=(MinLODSize=1024,MaxLODSize=4096,L ODBias=0)
    TEXTUREGROUP_LightAndShadowMap=(MinLODSize=512,Max LODSize=4096,LODBias=0)
    TEXTUREGROUP_RenderTarget=(MinLODSize=1,MaxLODSize =4096,LODBias=0)

    You cant do much about the first one, except maybe sharpen your textures in PS a bit. As for the second, you can use another LODgroup or use smaller textures instead of one large.

    This is how I understand this anyways, since I had to deal with this issue in UE3. All this info comes from this thread (what is the maximum texture resolution for unreal engine 3 ? - Epic Games Forums), hopefully it will shed some light on things"
  • warby
    Options
    Offline / Send Message
    warby polycounter lvl 18
    major fail on epics part if you guys ask me ... i am the one that opened that thread on the epic boards btw

    you can try setting the texture group to something that allows for higher texture i always used skybox for my environment stuff because sky boxes are kind of environment graphics i figured this will not cause any problems i don't know though if the texture groups are being used for anything else but the assignment of the min and max texture resolutions.

    but after the patch this method has stopped working for me :/
    luckily all the textures i already had imported via that method remained highres and most of my map was done at that point. your best bet is to stick with 1024 textures and try to make that look good somehow ! if i was to start a new map i would use nothing but 1024 textures.

    but always think of batches don't just split your 2048 into 4x 1024 textures
  • Junkie_XL
    Options
    Offline / Send Message
    Junkie_XL polycounter lvl 14
    warby...what patch are we talking about that forced skybox to 1024? Is there a way I can rollback to a previous version to get that working like you had...
  • Scott_W
    Options
    Offline / Send Message
    Have you tried setting the LOD Bias from 0 down to -1 or -2? This should display the highest mip level of the texture in the editor and solve the issue you're seeing.

    That setting can be found right next to the texture group settings!
  • Junkie_XL
    Options
    Offline / Send Message
    Junkie_XL polycounter lvl 14
    Scott_W wrote: »
    Have you tried setting the LOD Bias from 0 down to -1 or -2? This should display the highest mip level of the texture in the editor and solve the issue you're seeing.

    That setting can be found right next to the texture group settings!

    I'm an idiot. Thank you. I just double-clicked the texture in the generic browser, heh. I kept thinking I had to look for that setting on import.

    Looks like -1 is all I need. Is setting higher damaging? Also would "NeverStream" improve anything?
  • sprunghunt
    Options
    Offline / Send Message
    sprunghunt polycounter
    warby wrote: »

    but always think of batches don't just split your 2048 into 4x 1024 textures

    Atlasing isn't so important in UE3 compared to UE2. It doesn't improve the framerate much to have multiple meshes on the same map. It's only important to put individual meshes onto the same texture. Not to group multiple meshes onto the same bitmap. So if you have 4 objects it's just as fast to have 4x1024 than 1x2048.
  • warby
    Options
    Offline / Send Message
    warby polycounter lvl 18
    well yes of course because if its a separate object than its a separate batch/drawcall by default than you might as well just have a new material too.
  • Scott_W
    Options
    Offline / Send Message
    Junkie_XL wrote: »
    Looks like -1 is all I need. Is setting higher damaging? Also would "NeverStream" improve anything?

    I believe -2 would be needed for something like a 4096 texture. On import, Unreal would display the 1024 mip, setting it to -1 would display the 2048 mip, and then -2 would display the full 4096 texture. I could be wrong, but I'm certain I've done that in the past with some textures at home.

    NeverStream will have the full mip loaded into memory when the map loads, so you won't see the pop-in effect that's so common with UE3 based games. Everything should just look sharp on load without the popping.
  • Jason Young
    Options
    Offline / Send Message
    Jason Young polycounter lvl 14
    For the compression issue, import your texture with "deferred compression" on. Once imported, double click it to open properties, and deselect deffered compression. Save your package, and it will save it uncompressed. Probably not a great idea to use uncompressed textures for an entire level, but for portfolio assets it should be ok. :)
  • Junkie_XL
    Options
    Offline / Send Message
    Junkie_XL polycounter lvl 14
    JMYoung wrote: »
    For the compression issue, import your texture with "deferred compression" on. Once imported, double click it to open properties, and deselect deffered compression. Save your package, and it will save it uncompressed. Probably not a great idea to use uncompressed textures for an entire level, but for portfolio assets it should be ok. :)

    Must this be done on the very first import before you save and close?
  • Jason Young
    Options
    Offline / Send Message
    Jason Young polycounter lvl 14
    Yep, otherwise when you save the package with the deferred compression checked, it will automatically compress the first time it's saved. If you import without deferred compression checked, it'll compress it upon initial import.
  • alexk
    Options
    Offline / Send Message
    alexk polycounter lvl 12
  • warby
    Options
    Offline / Send Message
    warby polycounter lvl 18
    you mean its mip-mapping ?
  • alexk
    Options
    Offline / Send Message
    alexk polycounter lvl 12
    warby wrote: »
    you mean its mip-mapping ?

    I retract my question lol. I loaded it up in Max and it does the same thing, so I think I'm doing something wrong in my diffuse :) sorry
Sign In or Register to comment.