Hi, I know something similar has been covered before but I couldn't find anything related to this issue.
I have 4.26 UE version, here the issue:
I want to simulate a Spotlight just like in real life. According to documentation a light bulb is 1700 lumens, my suprise was that the default unit of Spotlights are Candelas (cd) and default value is 8 cd. The big question: How can I convert 8 cd to 1700 lumens?
I tried changing it to lumens in the units but then it changes to 14,107 ld, I have no way to manually type in the 1700 lumens. I tried an online converter and for 1700 lumens resulted in 135.28 cd which is obviously wrong IN UNREAL because jumping from 8 cd to 135 cd leaves 90% of the screen white.
Also tried viceversa with 1700 ld and same issue, all blown out as excpected.
Replies
Then you won't need to guess - just set the brightness to 1700 lumens.
EDIT - when you say you "changed the units" what do you mean? Why couldn't you manually type in the lumens if you'd changed the units?
-Lumens (at least the ones that we're used to) are the same as the unit "Unitless". Typed there 1700 and did the trick, then it does convert properly in case you want to use cd
-According to Unreal, Unitless (Lumens) unit of 5000 (lumens) is the same as 8 Candelas. So therefore 1 Candela = 625 Unitless (lumens).
If you don't want to go back an forth converting them all the time in the menu units you can just divide the amount of lumens by 625 to get the value in candelas. In the case of a lightbulb it was 2.72 Candelas.
I don't know where is the ld coming from if you select in the units "lumens", it's just REALLY confusing in case you source real world values and try to introduce them there.
from the documentation:
https://docs.unrealengine.com/en-US/BuildingWorlds/LightingAndShadows/PhysicalLightUnits/index.html
Candela (cd) is a measure of luminous intensity emitted uniformly across a solid angle of one steradian (sr). For example, a light set to 1000 cd would measure 1000 lux at one meter.
Lumen (lm) is a measure of the luminous flux emitted into the angle of one steradian. In photometry, luminous flux (or luminous power) is the measure of the perceived power of light. No matter its distribution (wide or narrow spot), the total amount of energy emitted will be the same.
Unitless is an engine-specific light intensity value and maintains compatibility with engine releases prior to Unreal Engine 4.19.
625 is not a consistent number for the conversion because to go from lumens to candelas, or vice versa, you need to consider the cone angle. UE4 already handles this for you(although it changes the full equation if doing it externally due to how the spot lights work in the editor, so double the spot light outer cone angle when converting manually).
You can think of the spot light, when using lumens, as a light with a reflector and the spot light cone simply masking the intensity as if it was originally a point light. If you put a spot light with a 90° angle beside a point light with the same intensity, the spot light will be 2x as bright because it's taking the upper half of the missing intensity and reflecting it back down. As the spot light cone angle reduces, the intensity will be multiplied by a higher and higher number and it'll get brighter as all the light is being focused into a smaller beam. This is not the case with candelas because the value just is and doesn't scale with the cone size.
In my opinion, I wouldn't worry about candelas unless you have photometric data you're using, such as an IES profile. Otherwise there's no difference with the intensities and you'll get the same result. Lumens are easier to find for every day purpose.
I was just confused on how to use real life values in UE4. The engine handles the conversion just fine.
As I stated, you just have to change to "unitless", type the value you need and then switch to Lumens or Candelas, UE will handle the conversion.
Thank you both!