Video Ambient Lighting

DecalPortal - Code Plugins - Nov 1, 2018

Light your Game or Architectural environments dynamically by video content!

  • Supported Platforms
  • Supported Engine Versions
    4.18 - 4.27, 5.0 - 5.3
  • Download Type
    Engine Plugin
    This product contains a code plugin, complete with pre-built binaries and all its source code that integrates with Unreal Engine, which can be installed to an engine version of your choice then enabled on a per-project basis.

• Generates Dynamic Lighting from Videos

• Supports Baked Shadows with Stationary Lights

• Highly performant implementation

• Can be shipped with Game & Architectural Visualization Projects

• Easy to connect with existing Media content


Watch Introduction Video

Watch Showcase Video


How to use

  1. Place a "Video Ambient Rect Light" from the "Place Actor" editor panel under the "Lights" tab
  2. Assign the Media Texture from your Media Player to the "Source Media Texture" input (if you don't have a Media Player yet, follow this official tutorial to set that up)
  3. Press Play!


Alternative setup for lower platforms

  1. Add a "Video Ambient Light" component and any number of lights to an Actor or Blueprint (if you followed the tutorial linked above, this would be the plane you created in step 10)
  2. Configure lighting functionality by enabling the desired features in the details panel, typing in the names of lights the plugin should connect to (they have to be part of same Actor or Blueprint), and assigning the video material to "Source Material" (if you followed the tutorial, the video material is created in step 11)
  3. Press Play!


Connected lights will pick up the colors of the video when you press play.

Make sure to read the tooltips on all of the properties in the details panel!

Technical Details

Supported LightComponents:

PointLights, SpotLights, RectLights and DirectionalLights are supported, with Stationary or Movable mobility.

Stationary lights still support baked shadows while working with this plugin.

The LightComponents are identified by their name and must be part of the same Actor as the VideoAmbientLightComponent.


Material compatibility:

The simplest possible material would just contain the MediaTexture of your MediaPlayer connected to the emissive color output of an unlit material.

The plugin calculates the light colors based on the emissive color output of the assigned SourceMaterial. This allows for any effects added in the material to be taken into account for determining the output colors.


Performance

The performance cost of this solution is generally small and scalable so it is suitable for games with tight performance constraints. The plugin is also built to support the DetailMode system, so if your project supports different graphics quality settings, you could disable the ambient lighting completely on low settings.


Feedback

Feel free to contact me at decal_portal459@simplelogin.com if you run into any issues or have any feature requests.


Code Modules:

  •  VideoAmbientLighting (Runtime) - Provides the VideoAmbientRectLight Actor and the VideoAmbientLight Component that can be used in any Actor or Blueprint and handles sampling of colors from video and communicating with connected LightComponents.
  •  VideoAmbientLightingEditor (Editor) - Module to support the presentation of the new classes in the editor.