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"

Office Holiday

Epic Games' offices will be on holiday from June 22nd to July 7th. During this period support will be limited. Our offices will reopen on Monday, July 8th. 

Outliner does not report proper uncached lighting count

There is an issue with the scene outliner display of uncached lighting info. The count provided only scores actors with uncached lighting. The problem is that an actor can report 0 for uncached lighting while having any number of components as children with all sorts of uncached lighting problems. These are rather difficult to find. The scene outliner needs to count an actor's components in addition to the parent actor when reporting uncached lighting in the scene outliner.

Product Version: Not Selected
Tags:
more ▼

asked Oct 02 '15 at 12:18 AM in Bug Reports

avatar image

Whammy
11 4 9 14

avatar image Logan Bailey ♦♦ STAFF Oct 05 '15 at 03:24 PM

Hello Whammy,

I would like some more information in order to better understand this issue.

You are saying that you have a light and then you have other lights parented under it. Whenever you profile your scene the children return a value of zero even if they have issues.

Is this correct?

If it is not could your provide some repro steps and the version you are using so I can attempt to recreate it.

Logan

avatar image Whammy Oct 05 '15 at 06:41 PM

No. That's not what's happening.

The problem was discovered when using the Spline Generated Fence from the market place. What it was doing was creating spline component meshes under a parent actor. For whatever reason, the spline meshes were not lighting properly and the engine was constantly reporting that there were unlit objects no matter how many times you ran the lighting build. The scene outliner reported that there were no unlit objects which didn't agree with the error message in the upper left of the screen. I added code to the engine to check all the actors and components to see who was unlit. That's when I discovered that actors who had problems with component lighting were being reported in the outliner as being fully lit (no uncached lighting). The outliner didn't check to see if the actor had unlit components attached to it as children.

avatar image Logan Bailey ♦♦ STAFF Oct 05 '15 at 07:10 PM

Hey Whammy,

I would like a little big more information in order to further clarify this issue.

  1. "What I was doing was creating a spline component meshes under a parent actor." Could clarify on that. How exactly are you parenting these splines to another actor.

  2. What kind of lights do you have in your scene. Are they static/stationary?

  3. The world outliner does not report anything. Where you would be seeing this is either in your viewport or your Message Logs. I am a little confused as to where exactly you are receiving these messages.

  4. Also, if you could link me your DxDiag as well.

Armed with this information I will attempt to recreate this issue.

Logan

avatar image Whammy Oct 05 '15 at 07:29 PM

1) I can't really clarify much on that. It's not my BP. I purchased it on market place, so I don't really know exactly how the author created the spline meshes other than they exist as components to a parent actor.

2) The lighting is directional light being used as a sun. It is stationary. There is also a skylight actor.

3) If you open the world outliner and select #uncached lights, it will report 0 for the count even thought the actor has components with uncached lighting. (This is the problem.)

4) The problem was found by iterating through all the actors and components and checking for a non-zero return from GetNumUncachedStaticLightingInteractions().

The real problem is item 3 above. Right now, if an actor has components with a lighting problem, there's no way to find it without resorting to adding code to the engine to get it to spill its guts. The outliner needs to check components of an actor when reporting uncached lighting.

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

1 answer: sort voted first

Hey Whammy,

I actually have this content for my personal projects, and I believe I can help clarify this issue you are experiencing. I took a read over our documentation and you might also find this section of information helpful when explaining why your fences are not generating the indirect lighting cache as you are describing. One of the main points, is to make sure you have a 'LightmassImportanceVolume' as this is needed for Indirect lighting to be calculated.

Indirect Lighting Cache

alt text

This information was drawn from our documentation below:

https://docs.unrealengine.com/latest/INT/Engine/Rendering/LightingAndShadows/IndirectLightingCache/index.html

The main thing here is how the samples are placed in the scene itself. "Since 'Lightmass places the lighting samples on top of upward facing surfaces with high density, and everywhere else with low density. The samples are limited to being within the 'LightmassImportanceVolume', and they are only placed on static surfaces."

In this case I decided to reduce the 'Volume Light Sample Placement Scale' to increase the density of the indirect lighting. In the images below you can see the difference between a small scene with a sample placement scale of 1.0 versus a scale of 0.25.

alt text

Above is the scale of 1.0 and you can see how scattered these volumes are, and the color they have adopted from the surrounding objects in the scene.

alt text

Here I have set the scale to 0.25 and the density of the samples has increased. Now the fences samples are beginning to pick up some color from the fences. The individual pickets of the fences are so narrow that their density is harder to calculate as their faces are not upwards.

This seems to be the reason as well as the objects being dynamic with not available lighting, so it interpolates the lighting from the precomputed samples.

If you have other questions, or think your issue is related to something else please let me know. Also, providing me with some reproducible steps so I can see what you are reporting on my end would be helpful.

Thank you,

Andrew Hurley

more ▼

answered Oct 06 '15 at 04:08 PM

avatar image Whammy Oct 06 '15 at 04:43 PM

I think you missed the point to this particular bug. The issue is not that the fence is having issues with lighting, The problem is that the outliner doesn't report components to actors with bad lighting making finding problem objects very difficult. Also, I do have an importance volume already set up. That's not what's causing the problems with the fence. The current theory is that the fence BP is creating duplicate splines/meshes that are overlapping which is making lighting problematic.

The info on the Volume Light Sample Placement Scale is helpful.

avatar image AndrewHurley Oct 06 '15 at 05:25 PM

Hey Whammy,

Thank you for clarifying. At this point, the most helpful thing for me to reproduce, and see what you are reporting is to have some screenshots and simple steps to follow.

I am a bit confused when you say outliner, as the 'World Outliner' to my knowledge does not have the functions you are mentioning? The 'World Outliner' is a list of objects in the current level which you can use to help select, transform, and hide specific actors.

Thank you,

Andrew Hurley

avatar image Whammy Oct 06 '15 at 05:40 PM

The screen shots are unremarkable. The lighting looks normal. However, the build reports failure. Reproducing the problem on demand is difficult. I had about 100 fences in my level and 3 of them were causing problems erratically.

If you select the World Outliner pull-down tab on the upper right, you can tell it to display '# Uncached Lights' as a display option.

avatar image AndrewHurley Oct 06 '15 at 06:09 PM

Unless I can get this to reproduce on my end, or if you provide me with a project in which this issue occurs there is no way to fix this bug. If out of 100 fences it was causing issues with three, you can try adjusting the light type to 'Movable', since you mentioned you tried force no precomputed lighting.

avatar image Whammy Oct 06 '15 at 06:45 PM

I think you're still missing the issue. It's not that a BP is having lighting issues. No, no, no. That's a whole different problem. The issue here is that the World Outliner does not report uncached lighting for an actor even when the actor has components which do. The outliner needs to report uncached lighting for the actor PLUS any uncached lighting for child components.

avatar image AndrewHurley Oct 06 '15 at 06:53 PM

I do see what you are saying, but I need to reproduce it on my end to enter a bug report.

avatar image Whammy Oct 06 '15 at 07:06 PM

Just have GetNumUncachedStaticLightingInteractions() return a non-zero value for a component and see if it shows up in the outliner.

avatar image AndrewHurley Oct 12 '15 at 07:48 PM

Hey Whammy,

I do see what you are reporting now, and I have one more question in order to clarify.

Are you able to see any of the # of Uncached Lights for other actors in your World Outliner, or are they all reporting 0?

Thanks,

Andrew Hurley

avatar image Whammy Oct 12 '15 at 08:37 PM

I added a static mesh actor, skipped lighting, and started PIE. The error message about unlit objects appeared as expected. Exiting PIE and checking the outliner showed that the new actor had 1 uncached light. So it it appears that objects without components do get reported properly.

avatar image AndrewHurley Oct 12 '15 at 08:47 PM

Okay thank you for clarifying. Would you mind answering one more question in regards to your specific issue.

What is the mobility of your Directional Light actor, or lights in your scene? i.e. Static, Stationary, or Movable?

If they are movable, there will be none reported as your scenes lighting is fully dynamic at that point.

avatar image Whammy Oct 12 '15 at 08:53 PM

Directional light is stationary. There are a few point lights as well. They are also stationary. There is no moveable lighting in the level.

(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