Home Unreal Engine

Unreal Engine 4 Lighting Units confusing, issues Candela to Lumens

Alex_the3DRookie
polycounter lvl 3
Offline / Send Message
Alex_the3DRookie polycounter lvl 3
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

  • Alex_the3DRookie
    Options
    Offline / Send Message
    Alex_the3DRookie polycounter lvl 3
    Forgot to type in the Angle in the online converter and it seems to be closer but not near. 44 angle results in 10 cd instead of the default 8 cd. Before the defult for spotlight used to be 5000 lumen. At this point I don't think it's safe to asume 5000 lumen = 8 cd in Unreal
  • sprunghunt
    Options
    Offline / Send Message
    sprunghunt polycounter
    You can change the intensity units to lumens if you expand the "light" rollout. You could also search for "units" or "intensity" in "search details". 

    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? 
  • Alex_the3DRookie
    Options
    Offline / Send Message
    Alex_the3DRookie polycounter lvl 3
    I finally found the solution. It appears lumens are not the same as regular ones? 8 cd = 12 ld not sure where Unreal is pulling that from.... so okay in case anyone has the same problem they can do 2 things:

    -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.
  • sprunghunt
    Options
    Offline / Send Message
    sprunghunt polycounter
    Ok after reading your solution I think you're using the wrong math to convert to lumens because unreal doesn't calculate lumens using the cone angle of the light - it uses a standard light angle. So a point light would have the same lumens as a narrow spot light. 

    from the documentation: 
    https://docs.unrealengine.com/en-US/BuildingWorlds/LightingAndShadows/PhysicalLightUnits/index.html
    • PointSpot, and Rect Lights can select between the following lighting units:
      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.
  • leleuxart
    Options
    Offline / Send Message
    leleuxart polycounter lvl 10
    You can't really judge the light intensity by whether or not it looks correct in the viewport until you expose for it. It being white is expected because you're using a much wider range of intensities that need to be accounted for. You can increase max exposure value to something really high like 10,000 or just enabled Extended Luminance Range in the project settings, which will express min/max exposure in EVs.

    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. 

  • Alex_the3DRookie
    Options
    Offline / Send Message
    Alex_the3DRookie polycounter lvl 3
    Sorry for the late repply, you are both correct. 
    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!
Sign In or Register to comment.