Home Technical Talk

UDK - streaming problems

polycounter
Offline / Send Message
Davision3D polycounter
I have some ugly problems with streaming in the UDK. Because of that i had turned streaming textures completely off with the "-notexturestreaming" command. That worked all fine with preview in editor. But when i use that command and build the game with frontend it gets all messy, basically everything becomes black except some faces at the outside of meshes and unlit materials.

Here are the streaming problems i have. This is when a texture becomes first loaded, it looks like that for 3 seconds or so:
loadtex.jpg

This shows that everything in distance is kinda blurry, you can see that especially around the door:
lightmap.jpg
I guess its only the lightmap there, the textures have been streamed in before.

I think my game doesnt need streaming because the view is very limited and on fixed path anyway. But I cant figure out how i could turn it off the right way.

Replies

  • sprunghunt
    Options
    Offline / Send Message
    sprunghunt polycounter
    I would reccomend against turning off streaming.

    What size are your textures? how are you texturing these assets. It does not look like you should get blurry textures like this on any platform.
  • Davision3D
    Options
    Offline / Send Message
    Davision3D polycounter
    Well, i develop the game for PC, Mac and iOS and having no streaming on iOS is no problem. There is no streaming possible at all, though i think its all PVRTC4 compression there. There are also no normal maps for the environment.

    That graveyard environment there uses 2x 2048x2048 + 2x normal maps in the same size. Those are textures sheets to keep the draw calls low on mobile. The lightmaps are pretty high, ca 6x 512x512 visible at the same time. They are that high because they also have normal map lighting baked in it. Also unusual is that the environment is not made with static actors and instead with movers/interp actors because the world gets randomly assembled from level chunks which are also mostly big mesh chunks. All the different enviroment themes are in one map, its quite a lot.
    Here you can see what i mean with limited view and on a path: [ame="http://www.youtube.com/watch?v=5XpDCDWZ5mE"]Last Knight - Introduction to the game - YouTube[/ame](had recorded this with in editor preview and no streaming)

    I think its normal with the unreal engine that it can look very blurry on level start. That might be fixable with streaming it in when the level gets loaded. But the blurry streaming while playing is then still a problem, it can also look obvious popping in like on that door there. I guess thats then streaming out and in.
  • sprunghunt
    Options
    Offline / Send Message
    sprunghunt polycounter
    Ok the problem is most likely your lodbias settings.

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

    These are in your engine.ini and the default is usually 1024x1024. I'd try changing the default setting.

    Also something else to check is open up the texture properties for some of the textures in the editor and have a look at the numbers in the top right. It'll have different sizes for different platforms. This tells you what size the texture will display at.
  • Davision3D
    Options
    Offline / Send Message
    Davision3D polycounter
    Default here is 4096x4096 and lodbias is 0, I tried negative lod bias values but it seems it doesnt change anything. In the editor texture properties there is the imported texture size always also the ingame texture size.
    I also fiddled around with the [texturestreaming] ini settings but had no luck there either.
  • sprunghunt
    Options
    Offline / Send Message
    sprunghunt polycounter
    Davision3D wrote: »
    Default here is 4096x4096 and lodbias is 0, I tried negative lod bias values but it seems it doesnt change anything. In the editor texture properties there is the imported texture size always also the ingame texture size.
    I also fiddled around with the [texturestreaming] ini settings but had no luck there either.

    here's something else you can try. Set one of your objects, such as the ground, to have forced texture streaming and see if that helps. It's the flag "force mip streaming" in the mesh instance properties (f4). Here's info on that:

    http://udn.epicgames.com/Three/TextureStreaming.html#StreamType Forced

    there's a bunch of other things on that page you might want to try
  • Davision3D
    Options
    Offline / Send Message
    Davision3D polycounter
    sprunghunt wrote: »
    here's something else you can try. Set one of your objects, such as the ground, to have forced texture streaming and see if that helps. It's the flag "force mip streaming" in the mesh instance properties (f4). Here's info on that:

    http://udn.epicgames.com/Three/TextureStreaming.html#StreamType Forced

    there's a bunch of other things on that page you might want to try

    That did it! I just set it on all the meshes at once and it works like a charme, for the textures aswell as the lightmaps. All of the environment is now really sharp, though i guess I should still give it a test on a old PC. The only stuff that is visible streaming in now are the textures on spawned skeletal meshes but i guess i can set that up with code for them when spawned.
    Btw while looking for it i also found this setting in the static mesh component: "Streaming Distance Multiplier" a high value in it does the trick too but only for UV0 textures, so no lightmaps.
Sign In or Register to comment.