💡 Introducing DynaBounce!​

Physically-inspired dynamic light sensing and re-projection! DynaBounce watches your lights, calculates how much illumination reaches a sensor, and turns it into usable VaM parameters. Fake global illumination without the usual faff!

🔊VIDEO INCLUDES AUDIO🔊

Using Dynabounce lights to simulate reflected light from the cellphone light behind her.
(HPVL used for light beam)


WITHOUT A DYNABOUNCE LIGHT:
(HPVL is used to showcase the beams of the lights)



WITH A DYNABOUNCE LIGHT:
(HPVL is used to showcase the beams of the lights)



Ever wanted an object to actually react to the lights around it? DynaBounce gives an atom a virtual light sensor that watches your scene's light sources and calculates how much light is actually reaching it. Point a light at it, move the light closer, block it with an object, move it outside the cone-- DynaBounce responds dynamically. That resulting value can then drive light intensity, colour, or any float parameter on another atom. Think of it as a tiny, configurable light sensor you can attach anywhere in your scene.

LIVE READINGS, THE COMBINED OUTPUT OF MULTIPLE LIGHTS:



DYNABOUNCE DRIVING A FLOAT:
(HPVL is used to showcase the beams of the lights)




💡 Why Use DynaBounce?​

VaM lights are great at illuminating things, but getting that illumination to drive other things or to bounce can be surprisingly difficult. DynaBounce bridges that gap. It watches up to 20 independently configured light sources, measures how much light reaches a sensor point, and turns that into a single usable value, or to 'reflect back' the same light quality. This makes it possible to create effects that feel like global illumination (in spots) without actually implementing global illumination.


Features​

Multi-light sensing​

  • Watch up to 20 individual light sources. (LOL)
  • Each light is configured independently.
  • Calculates contribution based on distance, angle and obstruction.
  • Add or remove lights dynamically.
  • Quickly edit all watched lights together with ALL LIGHTS mode.
  • Persistent light-switcher bar makes jumping between sources quick and easy.

Distance & falloff​

  • Configurable distance falloff for each light.
  • Adjustable falloff exponent.
  • Supports inverse-square falloff with an exponent of 2.
  • Configurable maximum distance / cutoff.
  • Fine-tune the response rather than being stuck with a single hardcoded curve.

Direction & cone restriction​

  • Account for the direction a light is actually facing.
  • Configurable cone restrictions.
  • Adjustable soft cone edges for smoother transitions.
  • Optional "must breach cone before activating" arming behaviour, preventing a light from gradually creeping into the response when that's not what you want. Though, I've never used this. :)

Occlusion​

  • DynaBounce can check whether the light actually has a line of sight to the sensor.
  • Supports single-ray and multi-ray sampling.
  • Multi-ray sampling allows for partial / soft blocking rather than treating an object as simply 100% blocked.
  • Sensor size controls the physical sampling area, influencing both the ray sphere and cone-hit behaviour.
Move an object between the light and sensor and the contribution changes accordingly.


Outputs​

Once DynaBounce has calculated the combined illumination, that value can be used in several ways:
  • Drive the host atom's light intensity.
  • Drive the host atom's light colour.
  • Blend the colour of watched lights based on their relative contribution.
  • Drive an external float parameter on another atom.
The default output is calibrated around VaM's real-world 0–8 light intensity range, but you've got plenty of room to tune the behaviour to your own setup.


⚙️ Custom UI & Workflow​

DynaBounce uses a tabbed interface with in-scene gizmos, split into:

Lights · Tuning · Output · Sensor · Global · Presets · Help
(HPVL is used to showcase the beams of the lights)


  • Dynamic light list with quick source switching.
  • Fuzzy atom pickers.
  • Collapsible sections.
  • Double-click sliders to reset them.
  • TWEAKGIZ sensor gizmo that appears when adjusting relevant parameters and fades when you're done.
  • Live sensor positioning and tuning.
  • Persistent controls for navigating between watched lights.
It needs some love, but it gets the job done. I don't anticipate you'll be inside the UI for hours at a time. :)

Presets​

Once you've got a sensor behaving exactly how you want it, you probably don't want to do it again. DynaBounce includes named quick-save/load presets for your configurations, along with VaM file-browser support for exporting and importing them. Useful for keeping different sensor behaviours around, or reusing a setup across scenes.


Notes​

DynaBounce is not a full global illumination or ray-tracing system! It's a simulation of bounced (or sensed) light. It's main use is as a configurable approximation designed to give you usable information about the light reaching a few points without requiring an actual GI solution. The number of samples, falloff, cone behaviour and occlusion settings can all be adjusted so you can balance the result you want against the performance you're willing to spend. And, because the output is ultimately just a value, you're not limited to using it for lighting. If you can find a float parameter in VaM, there's a pretty good chance you can make DynaBounce drive it.


🤝 Feedback & Iteration
These systems are actively evolving. If something breaks, feels unclear, or could be better– say it! The goal is to refine this into something the community can rely on. The point is usability and to work in the background. Always open to suggestions on improvements!

📋Credits:
If I am ever missing or mis-crediting someone or something please let me know so that I may correct it.

🫶Special thanks to 14Mhz and Skynet for their UI tools! 🫶

💓A little help💓

If you want to support what I’m building, even a one-time tip goes a long way and directly helps me keep improving these systems and releasing more scenes. Please see my Patreon for such a display of gratitude.
React to this content...

Share this resource

More resources from Arachnut

Back
Top Bottom