Dynamic Material Expressions let you pull off a bunch of neat things, and they’re responsible for the video calls in the Alyx campaign.
The VR Monitor shader has a lot of options you can experiment with. In the interest of not slapping a bunch of Valve’s assets on the forums, I’ve put together a couple simple textures you can plug into some of its parameters.
Whichever shader you use, all you need to do is edit the dynamic expression and type in any name for the attribute, colorAttr works.
You’ll need to apply this material, either to a model or you can make a mesh in hammer and convert it to a model and place it as a prop_dynamic
In Hammer, you’ll need an info_offscreen_movie_texture. Target any dynamic entity using your material (basically avoid any prop_static entities), and plug in the name of the render attribute. In this case: colorAttr
As far as I know this won’t be something to worry about in sbox but if you’re doing this in alyx you’ll want to make sure your WEBM files are in your addon under the GAME folder, not the content folder. In my case that’s
Set it to autoplay or set up a way to trigger it ingame and it should work fine.
Experimenting with other shaders and plugging the attribute into other channels can yield some neat results.