Hi,
I'm looking into setting up the correct settings of all of our textures in UE4. I read through epic's documentation on settings but they explain roughly what the thing does, but don't go into specifics what settings are needed for specific projects. So I have a couple of questions about these 3 important settings.
1) Mip Gen Settings: I understand that when the object is further away from camera, it uses a smaller texture resolution. But what settings should I choose here? Probably SimpleAverage or Sharpen 0-5 in most cases. But what's the difference between SimpleAverage and Sharpen? I read that Simple average uses a 2x2 Kernel, and Sharpen settings 8x8 Kernel size. What is Kernel size and what impact has that on performance?
2) LOD Bias: It seems setting the LOD Bias to 1 makes my texture half the size (makes a 2k texture into a 1k texture) and setting it to 2 makes it a 512 texture. I thought the 2k texture would be kept, and the 1k or 512 texture would pop in when the camera is further away from the camera? What exactly does the LOD Bias setting do?
3) Power of Two mode: What should I pick here? When should I use "None" and when should I use "Padding to power of 2" and "Padding to power of 2 square"? What does the padding do?
4) Texture Group: It's set to "World" atm, when should I use a different texture group, Where can I set the settings of the texture group? I understand that LOD Bias gets added with Texture Group's LOD Bias, but where can I set the settings of the texture group?
Thanks in advance!
Stefan
Replies
All textures in unreal are streamed in. The way they are streamed in is by loading the smallest mip map level first and going up the mip maps until the textures fill up memory. What LOD bias does is limit where the loading process stops. So a value of zero means it stops at the largest version of the image. A value of 1 stops at the first mip below that - and so on. So a 2048 image with a LOD bias of 1 will display at 1024 and a value of 2 will display it at 512.
The reason why you would want to do this is because you can quickly change the size of the image in memory. This is very useful for optimising games for memory. You don't have to edit the images to be smaller - you can just adjust the LOD bias.
Texture group:
Texture groups are global settings that determine what the default compression, mip generation, and LOD bias settings are for certain textures. You can edit the global texturegroup settings in "DefaultEngine.ini" and all the textures with the same texturegroup will change their settings. For this reason you should try to set your textures to texturegroups that correspond with what they are used for. "World" should be used for environment diffuse textures, "worldspecular" should be used for your environment linear texture masks, "worldnormal" should be for environment normal maps. There are others for UI, vehicle, and character textures, etc.
https://api.unrealengine.com/INT/API/Runtime/Engine/Engine/TextureGroup/index.html