Closed bitinn closed 2 years ago
The reason is just simply to match the default settings in Blender (value: 1000 W) to the default settings in Unity (value: 1.0). The light intensity in Unity also generally doesn't use physically based units (except on HDRP).
@sindharta thx, but I think there are a few problems with this approach:
If I add a Sun light in Blender, its default value is 1 (unit is watt/m^2
, not watt
), MeshSync still use the same translation, so it results in a Direction Light with 0.001 intensity, which is obviously too low.
Default value for all other light types in Blender is 10 watts, so the translation to 0.01 in Unity is also weird. (Blender default scene's point light does have 1000 watts, but i think it is just there to make sure new users can see it easily?)
I agree that with 3 render pipelines there are no good way to make everyone happy; even with HDRP I see no unit that correspond well to watt/m^2
(irradiance).
But It seems we should at least exclude Sun light from the 1/1000
conversion, so that it shows up fine for BIRP and URP?
Let us consider it. So according to your suggestion, value of 1 of Sun light in Blender should translate to value of 1 in Unity ?
So according to your suggestion, value of 1 of Sun light in Blender should translate to value of 1 in Unity ?
Yes, that would be my suggestion, it would match pretty well on BIRP and URP.
Thx! This lgtm, I will wait for the next release to try it out.
Is there a reason why Blender 3.0's light intensity is mapped to 1/1000 of unit in Unity URP?
eg. Sun light with Strength 1.0 (= 1 W/m^2) is somehow mapped to 0.001 in Unity URP when light is synced.