Celestial Vault - ACelestialVaultDaySequenceActor SunLightIntensity and MoonLightIntensity are not respected

The issue is pretty self explanatory and I don’t see a fix for this on P4. We are playing around with the Celestia Vault plugin and have found that the Sun Light Intensity and Moon Light Intensity setting don’t do anything. Looking at code the issue is obvious- those values are only read in the constructor of ACelestialVaultDaySequenceActor- at which point those values with be their C++ defaults (UPROPERTYs have not been applied yet and won’t be until PostInitProperties). This means regardless of what the UPROPERTY is set to it will always use the defaults of 120000.0f and 0.1f.

There is also a ACelestialVaultDaySequenceActor::PostEditChangeProperty implementation that watches for the sun and moon light intensity changing- but the resulting logic that runs when they are changed still does not set the intensity properly on the sun and moon light components.

A fix for this would be appreciated. Thanks!

Edit: After further testing I see adjusting the moon light intensity does do something- without digging into it I suspect a sequence or something somewhere uses that to drive the moon light intensity over time. The sun light intensity however is (at least in 5.7.2) completely unrespected.

[Attachment Removed]

Steps to Reproduce

  1. Enable the Celestial Vault Plugin
  2. Add a Celestial Vault Day Sequence Actor to a map
  3. Adjust the SunIntensity or MoonIntensity setting on the actor
  4. Notice adjusting those settings did nothing, the intensity on the sun and moon light components are unchanged
    [Attachment Removed]

Hi Brandon,

Sorry about this. Indeed, the values were considered in the defaults, and they did not react to the property change.

The moonlight was refreshed because when the system is rebuilt upon property change, we update the Moon disc age, and reapply the moon Light intensity from the base intensity * disc age factor.

But the Sun did not have this treatment.

I just fixed this in main. I have a pending change list to be submitted soon (later this week). Thanks for reporting this!

For your information, I made several changes since 5.7, especially removing the Procedural sequence in the main Day Sequence Collection. This way, you can still use the DaySequence keyframing system, but all bodies’ movements are now evaluated in real time and optimized. It allows running the system for several days without the moon stepping back into the sky at midnight, and it allows changing most properties in real time (provided you call the RebuildAll function after the property changes).

If you have any other feedback, feel free to let me know. I use this Forum Thread to collect it.

Thanks!

[Attachment Removed]