Realtime GI from a video?

I’m looking to create the effect of a room being illuminated by a video screen. The effect I’m looking for is a lot like in this particular asset: https://assetstore.unity.com/packages/tools/video/cinema-real-time-gi-for-video-107130

The video here captures the effect nicely:

Not really sure how this works behind the scenes. I tried assigning a video texture to the material’s Emission Map, but it has no effect.

Can anyone give me any pointers on what approach might be worth pursuing?

-A

Hello! You were halfway there. In order to have realtime GI contribution from the video feed, you need to create a new script and assign in to the gameobject of your choice. The script itself is really simple (it’s just a single line of code):

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class DynamicGI : MonoBehaviour {

    // Use this for initialization
    void Start () {
       
    }
   
    // Update is called once per frame
    void Update () {
        RendererExtensions.UpdateGIMaterials(GetComponent<Renderer>());
    }
}

Here’s the result in action:

3726589--308680--2018-09-27_16-59-23.gif

You can also download this project and try it out yourself. A .zip archive is attached to this post. Don’t forget to rebake!

Let me know if you’d still run into issues. Thanks.

3726589–308683–EmissiveVideo.zip (3.78 MB)

4 Likes

Wow thanks! Can’t believe its that easy!

1 Like