Back to the Shapespark home page

Light Probes and how to best manage them

So, my current question is regarding best practices when using light probes. I’ve been told that in Unreal I need to place them regularly with in a scene, and in numerous places around highly reflective objects. So, I’m wondering a couple of things…

First, is it the same in Shapespark, do adding more photospheres help?

Also, The auto-generated bounding box, when I place a light probe should I avoid overlapping the bounding boxes, or do more overlaps help?

Thanks for any help you can provide on the subject!

1 Like

From what I recognized it seems that Shapesparks uses the light probe which is the closest to the reflecting surface. Overlapping works, but is sometimes a problem when one light probe is brighter than the other one. In that case, you can have visible seems on surfaces. Especially when they are larger, like reflective floors.

1 Like

Tim is right, for each object Shapespark uses the closest visible light probe to this object. The visibility is taken into account to exclude close light probes from different rooms. If for some object no light probe is visible, the closest one is used.

Because of this, adding many light probes around a single highly reflective object does not improve quality, only one of these light probes is used.

Overlapping bounding boxes do not introduce problems, but also do not help.

Shapespark does not store and download light probes, but generates them during the scene initialization, it takes around 0.05s-0.2s to generate one light probe (depending on a device and scene complexity).

For our scenes we try to keep the number of light probes below 10 to reduce the initialization time. We usually place a single light probe in each room, for houses with large number of rooms, we sometimes skip less prominent rooms (wardrobes, hallways).

Great, through some trial and error I have found some of this to be the case myself, its good to get verification that its true and I’m not just seen anecdotal changes. That said, I still seem to be getting some reflection edges at the stairs, and it sees to be caused by some of the probes on the second floor maybe? I’m having a terrible time getting the different light probes to interact nicely with each other. Is there a way to blend or feather edges of probes? If not maybe that could be another user request…

Here is the scene I’m referring too:

The link is missing but I’m guessing you are referring to the scene from your other post:
Your are right that blending data from several light probes should help with the reflection artifacts near the stairs, but the engine currently doesn’t support it. Better reflections are the most important TODO item for improving overall quality.

Because each object has a single light probe assigned, the whole floor in your 2 level house uses the same light probe (the one above the dining table). You can get rid of the edge artifact by extending this light probe bounding box to span the whole house floor (Min X 0.25 to reach the kitchen wall, MIN Y 5 to reach the entrance door).

An alternative is to disable parallax correction for the material covering the floor (‘Materials’ tab), this removes the artifact, but also makes reflections from the window in the salon incorrectly located.

Interesting. And yes, sorry, I edited my post and must not have saved. I just updated the link. Il’l have to experiment with this further and see where it leads. Thank’s Jan!

Also, when you have a single object consisting of multiple disjoint parts it may usually help if you split it so that each part gets its own object. In your scene the floor could be split into, say: ground floor, staircase and upper floor. This way the ground and upper floors could be assigned different light probes.

All three new objects could still have one common parent object “Floor” to make object-specific settings, like Hide in views easier.

1 Like

Sometimes I adjust the range of a light probe. The problem I am facing here from time to time is that if the max X position is for example 6.34 it is not possible to enter a digit below 6. I cannot enter 2 manually but have to use the slider beside the input box. That can take a looooong time then to achieve the position of the bounding box which I want to. Maybe this is something you can put on your to-do list. :slightly_smiling_face:

1 Like

@tim yes, this is annoying indeed, the reason is that whatever you enter is immediately modified to ensure bounding box min is lower than bounding box max, so some numbers are impossible to enter, because they are automatically increased/decreased after you enter the first digit.

We will see how this validation can be improved.

@tim, we’ve managed to include this improvement in the just released version 1.5.4.

1 Like

FAST! thank you for your excellent support.