x

Search in
Sort by:

Question Status:

Search help

  • Simple searches use one or more words. Separate the words with spaces (cat dog) to search cat,dog or both. Separate the words with plus signs (cat +dog) to search for items that may contain cat but must contain dog.
  • You can further refine your search on the search results page, where you can search by keywords, author, topic. These can be combined with each other. Examples
    • cat dog --matches anything with cat,dog or both
    • cat +dog --searches for cat +dog where dog is a mandatory term
    • cat -dog -- searches for cat excluding any result containing dog
    • [cats] —will restrict your search to results with topic named "cats"
    • [cats] [dogs] —will restrict your search to results with both topics, "cats", and "dogs"

[FEATURE REQUEST] Use Lightmap from highest LOD for other LODs

I think that occasionally you come across static meshes, where you would prefer to use lightmap from LOD0 for lower LODs, instead of having unique lightmap for each LOD.

Having a checkbox for each static mesh to enable that kind of behavior would be useful.

Product Version: UE 4.13
Tags:
more ▼

asked Oct 26 '16 at 08:51 PM in Rendering

avatar image

Deathrey
7.9k 130 31 293

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

1 answer: sort voted first

Heya Death :)

I might be wrong, but afaik I dont think there is a separate lightmap for each LOD, it always uses the one generated for the main LOD, though that might be mipmapped depending on distance regardless of which LOD is active.

To quote another post: https://answers.unrealengine.com/questions/70951/how-do-i-disable-lightmap-mippingstreaming.html

You can go into the *.ini files under the TextureStreaming section and

make adjusts for lightmaps and shadowmaps. More information can be found here:

https://docs.unrealengine.com/latest/INT/Engine/Content/Types/Textures/Streaming/index.html

more ▼

answered Oct 26 '16 at 10:14 PM

avatar image

Luos
9.3k 286 65 330

avatar image Deathrey Oct 26 '16 at 11:16 PM

Oh hello Luos! Thanks for responding!

I haven't worked with static lighting in UE4 apart from some Arch Viz, that did not require LODs and for some reason I also had strong belief that LODs would use same light map, until I came to a case, where I deliberately wanted baked lighting data to propagate onto lower LODs. That is where to my entire surprise I discovered that if LOD1 has totally different unwrap, as opposed to LOD0, it would still get lightmapped properly.

I briefly looked at the source, and there is a bLODsShareStaticLighting in MeshRenderData. Gotta take more time to investigate it, but for now i'm quite positive that lightmaps are unique for each LOD.

I also faintly recall Leszek Godlewski mentioning in his blog, that he implemented it for VoEC.

avatar image Luos Oct 27 '16 at 08:41 AM

You sure you looked at the lightmap uv's and not the texture map uv's?

avatar image Deathrey Oct 27 '16 at 04:21 PM

Aye! No doubt.

avatar image Deathrey Oct 28 '16 at 01:23 PM

@Tim Hobson ♦♦ Tim, my sincere excuses for disturbing , but could You kindly clarify how exactly lightmapping for LODs is performed? While searching I've found two contradicting posts in this question, namely:

Right now every LOD is lightmapped separately. Lightmaps can be anything you want with these, as you've pointed out, but this is not ideal for a smooth LODs. This may be changed in the future but there is no timeline for this at the moment.

And:

I've responded on your other post. Simple answer is no, you can only have lightmap for LOD0 that gets applied to lower LODs.

There is roughly 2 years time frame between them, but I don't recall any changes regarding lightmapping of LODs

avatar image Tim Hobson ♦♦ STAFF Oct 28 '16 at 07:06 PM

Hi Deathrey,

As far as I understood it was in-line with what Luos said. However, after doing a quick LOD test I was finding different results. Obviously, I'll need to take a more in-depth look to give you a complete answer which I don't have time to do before I'm done for today.

Here was my test. I had a box that is horizontal and a box that is vertical for the LOD1. I would have expected the base LOD0 to have the lightmap baked (they both have the same UV layout by the way, just mesh is rotated differently) for both as a single Lightmap and the light bake to appear on the vertical LOD1 be of that from LOD0, but that didn't turn out to be the case.

alt text

However, with that being said, I know you have no control over using a LODs lightmap as the default lightmap and you don't have access to have very specific light bakes setup for each LOD in a controllable way from the users stance. Also, this test used the same mesh UV layout for each and didn't have separate UV layouts, which may lead to other issues.

Looking at the Lightmap Texture atlas that is created and stored (World Settings > Lightmaps), I can see the LOD has a separate bake stored here that is smaller, since LOD typically wouldn't need higher resolution bakes. The Lightmap Resolution originally used for the box mesh with LODs was set to 1024 just to get the higher detail. Using the default resolution of 64 shows the LOD1 having a much lower resolution as well when in comparison to the base LOD when checking that.

alt text

So, with my best guess and not researching this any further, I'd say, yes they get separate bakes for the LODs so that the build is correct. However, You don't get complete control over this for your own personal settings.

avatar image Deathrey Oct 28 '16 at 07:27 PM

Much obliged for your response, Tim. I just thought I was missing something.

avatar image Luos Oct 28 '16 at 07:57 PM

Tim is awesome, more people should be like Tim :p

avatar image Kalle-H Nov 11 '16 at 11:04 AM

What is best way to get smooth lod change. Only thing that make LOD changes visible is really visible static light changes. Is there anything that can be done?

avatar image Tim Hobson ♦♦ STAFF Nov 11 '16 at 04:36 PM

@Kalle-H

You can enable Smooth LOD Transition in the Material assigned to the static mesh with the LOD. This works similar to the LOD transition you see with Foliage and HLODs.

If you're using billboards for your lowest LOD, you can use the RenderToTexture_Level_BP to generate textures that have some pixel depth offset to get better shadowing so it doesn't look like a flat card.

https://docs.unrealengine.com/latest/INT/Engine/Content/Tools/RenderToTextureTools/index.html

(comments are locked)
10|2000 characters needed characters left
Viewable by all users
Your answer
toggle preview:

Up to 5 attachments (including images) can be used with a maximum of 5.2 MB each and 5.2 MB total.

Follow this question

Once you sign in you will be able to subscribe for any updates here

Answers to this question