Author Topic: Tiny Light Specks in Volume Environment  (Read 1825 times)

2019-09-23, 20:32:17

Br0nto

  • Active Users
  • **
  • Posts: 46
    • View Profile
I'm working on a scene with a car and some low-level volume atmosphere fog. The tricky part is that I have some "faked" headlights (encased in a set of materials to prevent any light from leaking out) that are somehow lighting up the volume fog where I don't want them to.



If I put a plane up against the headlights, they aren't giving off any light. However, as you can see, the volume fog is causing some odd little light specks, almost like dust in the headlight beams. Any suggestions on removing them altogether? I would have thought that the same methods I was using to block the light would prevent any volume fog interaction: I have a non-visible-to-camera black material inside the headlights that stops the light.

2019-09-24, 09:09:17
Reply #1

houska

  • Corona Team
  • Active Users
  • ****
  • Posts: 1448
  • Cestmir Houska
    • View Profile
Hi Br0nto!

Is you blocker material visible to GI? It should be, because those speckles mean light that is being reflected from the fog into the headlights and that is GI.

2019-09-24, 22:03:05
Reply #2

Br0nto

  • Active Users
  • **
  • Posts: 46
    • View Profile
Hm, it currently has all checkboxes aside from "Seen by camera" checked in the corona compositing tag, including "Seen by GI". The side facing the inside light is a black 100% opaque material, and the side facing the environment is fully transparent to allow environment reflections on the chrome headlights. Each is set to their respective side only via the "Front/Back" settings. Aside from the atmospheric fog, it seems to work as expected to block all outgoing light while not making the chrome appear black.

2019-09-25, 10:49:27
Reply #3

houska

  • Corona Team
  • Active Users
  • ****
  • Posts: 1448
  • Cestmir Houska
    • View Profile
That's an interesting setup to say the least. Is the Front/Back approach needed at all? I'd expect that you should be able to achieve the same result with only the opaque black material invisible to camera. The environment should then be able to shine through. That said, it's hard to be able to give you more specific advise without seeing the scene. If you want, you can use the private uploader to upload the scene or a relevant part of it for us to check it out.

2019-09-25, 20:36:27
Reply #4

Br0nto

  • Active Users
  • **
  • Posts: 46
    • View Profile
Thanks Houska! FYI I'm using Corona 4 in R20, not any of the new daily builds.

I've run some experiments, and here's what I've learned:

First of all, you are correct, in that I can just use the black material on both sides and uncheck "Seen by camera", "Seen by reflections", and "Seen by refractions". Apparently I had never tried all 3 together for some reason, or I could have saved myself a few steps.

Here's a render using your setup, which looks basically identical to the one I first posted:


I was worried it would look like this (same thing but without "Seen by reflections" and "Seen by refractions" disabled):



I decided to try a few things to test the light speckles:

No motion blur (the speckles go away!):


Larger light blocker geometry (in case the current one was so close to the headlight glass that it was leaking light when blurred - did not fix the issue sadly, and added an ugly shadow around the headlights):



So far my best guess is that it seems to be an issue with light leaking through a motion-blurred object. I tried rendering the shot with only camera or object motion blur enabled, but both were so blurred as to be useless for seeing the light speckles (the camera is turning and the car is moving).

I've uploaded my scene to the private uploader as AutumnField_HeadlightLeak_Simplified.zip- maybe you'll see something I'm missing. I stripped out the bushes and grass, but left the trees in for consistent lighting purposes. Feel free to remove them and the cloner they're in if it makes debugging easier.

2019-09-25, 20:51:30
Reply #5

houska

  • Corona Team
  • Active Users
  • ****
  • Posts: 1448
  • Cestmir Houska
    • View Profile
Hi, I just realized - there's an issue with motion blur and render instances, which causes some objects to move to weird positions. Can you try disabling render instances and use normal instances everywhere? That might fix your issue.

The speckles are actually probably caused by the light being shifted far ahead of the car in the motion blur timeframe.

2019-09-25, 21:15:23
Reply #6

Br0nto

  • Active Users
  • **
  • Posts: 46
    • View Profile
Ah, a very good point! In this simplified scene, the only render instances are the trees. I deleted the entire tree cloner and the trees contained therein to see what would happen. Unfortunately, the light speckles are still there:



With luck the uploaded scene will be helpful.

2019-09-26, 11:16:48
Reply #7

burnin

  • Active Users
  • **
  • Posts: 891
    • View Profile
Sky-IBL-HDRI causes the fireflies.
Internally fixed already? ;)

Here's the result from most basic, simple scene where this issue is clearly visible.
Backdrop, Fog, Sky (HDRI/IBL), Light, Camera & Action.
No motion blur or any other extras involved.




PSHDRI used: https://hdrihaven.com/hdri/?h=aristea_wreck
Also note, changing IES profiles on the Light makes IR prone to crash. Not immediately but, if you play long enough ;)

2019-09-26, 13:03:55
Reply #8

houska

  • Corona Team
  • Active Users
  • ****
  • Posts: 1448
  • Cestmir Houska
    • View Profile
So I removed the fog, changed the environment, made the headlight lights visible and removed most of the objects in the scene.

From the result it seems like the lights are animated incorrectly. And indeed, if you look at the version with disabled camera blur, the lights actually don't move at all! This seems like a bug to me and we'll investigate it some more.

2019-09-26, 13:15:17
Reply #9

houska

  • Corona Team
  • Active Users
  • ****
  • Posts: 1448
  • Cestmir Houska
    • View Profile
Yes, it's as I suspected. Look at this - a polygon object with Corona Light material vs. Corona Light object. Both are animated and both should be blurred. But the Corona Light object does not blur for some reason.

Thus, before we fix the issue, I think that you could create a sphere and apply a light material to it and your issue should be solved!

2019-09-26, 22:58:44
Reply #10

Br0nto

  • Active Users
  • **
  • Posts: 46
    • View Profile
Sky-IBL-HDRI causes the fireflies.

I did notice that using radically different skies, both in the environment override settings and with multiple skies set to different corona compositing tags, results in some white lighting glitch pixels. Once I did my sky adjustments entirely in the environment override settings and made sure that I had the main override setting (the top one) enabled, things seemed smoother. In fact, that's why the lighting motion blur glitch became apparent, because I'd successfully removed the other noise.

Here are my environment settings for reference (I have a "normally" mapped HDRI for lighting and reflections, and a "shrunk" tiled directly-visible version to give the clouds some extra detail as long as I don't turn the camera too much to reveal the tiling.


Yes, it's as I suspected. Look at this - a polygon object with Corona Light material vs. Corona Light object. Both are animated and both should be blurred. But the Corona Light object does not blur for some reason.

Thus, before we fix the issue, I think that you could create a sphere and apply a light material to it and your issue should be solved!

Aha, that makes a lot of sense! I gave it a shot and sure enough the sparkles are gone! Thanks, very much appreciated.