Start typing to search...

Setting Up a Virtual Screen in the Unreal Scene



A few months back we were looking for a really cool, unique way to show old archival material. So we decided to take that material, shoot it on an old monitor in a really cool cinematic way, and we were really happy with the end result. And our client absolutely loved it. So when I heard about Aximmetry had the ability to use real live textures, you know from Unreal Engine, I thought I'd give it a shot try to recreate what we did a few months ago, but digitally. And that's what you're viewing now. And it was really easy to do. And believe me, the internet compression does not do justice to the scene. This looks absolutely amazing coming out of an SDI signal. So let me show you how I set that up.

Setting Up in Unreal

So here is the base unreal project and just some assets that I got off the marketplace and built. We've already got our Aximmetry Camera in here. So one thing that we're ready to do is we want to take this monitor and we want to have the ability when we're in Aximmetry to replace what's on that monitor at any point in time. You know it could be a file, or it could be you know something from a live source. So the first thing we need to do is we need to make a new material. So we're gonna go down here and we're gonna right-click and we're gonna go Create New Material. And for the tutorial’s sake, we're just going to call this ‘AXMAT’ for Aximmetry material. We're gonna double click this and once this opens up we want to add a Texture Sample Parameter 2D. Now, before we do anything, we want to name this TVINPUT, and we've got to remember what we've named this. It can be any name, but just always remember what you've named this because we need to use this exact name down the road. So we're gonna take TVINPUT, which is a Texture Sample Parameter 2D , and we're gonna take the RGB and we're going to put it into the base color. Once we do that, we're gonna hit save and we're going to close this out. So if we look down here. Here is our new material called AXMAT and we are going to throw it into the monitor here. And there it is! So as soon as we've done that we now go to our Level Blueprint Editor. Wo we're gonna go to our Open Level Blueprint. And you'll see here is we've got to an Event BeginPlay and we've got an Event Tick. So the first thing we're going to do is we're gonna go to our Event Beginplay, and we are going to add Create Dynamic Material Instance. So after that first thing we want to do is we want to go to our parent and select the asset. And that's gonna be the material name we just made, which is called AXMAT. So if you look, there it is AXMAT. Okay, the next thing we're gonna do, Is we are going to drag in our monitor from our World Outliner. So we're gonna drag this monitor into our blueprint. We'll make this full screen again, and now we're going to select Set Material. We're gonna move this over here. We're gonna connect these pins here and we're gonna take our Return Value and we are going to put it right here into the Material. Okay now the next thing we need to add, is down here on the Event Tick, we need to add Get Aximmetry Video. So we're typing get Aximmetry video. There it is! And down here, this is going to be the name of the pin in the Aximmetry project. I started like naming it exactly the same thing as I did the texture sample parameter 2D, which was TVINPUT. You don't have to name it that. You can name it anything else but just for this example, I'm going to call it TVINPUT. Okay, now we are going to add Set Texture Parameter Value. And we've got the Return Value coming out of that, to Set Texture Parameter Value. This is very important! This has to be exactly the exact same name as the Texture Sample Parameter 2D that we made in our texture. So this has to be TVINPUT. Okay, we're going to throw this here and we're going to take the return value and put the value down there. So this is it. This is sort of our blueprint to get that texture onto that monitor in Aximmetry. So let's look here again got your Event Beginplay pointing to a Create Dynamic Material Instance. Make sure you select here, on the parent. You got to make sure! I have forgotten this a couple of times and it bites you in the butt. You've got to call this the name of the material. We then go into the Set Material, which is to our monitor. Okay and now we got a Return Value going into this Set Texture Parameter Value. And this is where you absolutely have to name this TVINPUT, or the name that you called it, your Texture Sample Parameter 2D. Very important! Okay, so this is going to our Event Tick, is going to or Get Aximmetry Video and this should do it. So we're gonna hit Compile. We're gonna hit Save. Clos eout of here. So here is everything, all we gotta do is hit Save here, and then we're going to Cook Content for Windows. We got to cook this baby for Aximmetry. So now we're cooking. This tutorial has taken into consideration that you know how to add the Aximmetry Cam or blueprint and how to get everything set up camera-wise for Aximmetry. Okay, so this is done cooking. So we're gonna pull outta here.

Setting Up in Aximmetry

And now we're gonna load up Aximmetry Composer. And let's bring this Unreal Project. And that is cooked and ready to go. I've got all of my i/o set up. Let's go ahead and hit Start. Let's make a new compound and let's drag in our Unreal Project. And look! If you look down here at the very bottom, we've got a pin now that says TVINPUT. How exciting! So now let's go to our Unreal Virtual Camera and let's add our Cam Transform, our Field of View, Out to Rendered, and then our Preview to Out. If you look down here. Let's go ahead and adjust our camera here. Just a little copy and paste action. Let's go full screen on that. If you look, there is our TV, there is our table, but look! There's nothing on the TV. So how do we fix that? So let's go back to our FLOW. If you look down here, here is our FLOW and look! Got our pin for our TVINPUT. Let's go to the Desktop here. This is a cartoon that I found on Internet Archive. Totally free, no copyright. It's a good old Woody Woodpecker cartoon. Hit that out to the end and look at that! There is our content on the monitor.

Other Ideas, Applications

And the cool thing is, at any point in time you could do moves on this. The other cool thing is like in the beginning, I used the game pose module with the HTC Vive and I was doing handheld camera moves. Really cool stuff you can do with Aximmetry. But the video input of this could be any source. It could be a file, it could be a live source, the sky is the limit. It's pretty crazy. But yeah, that's how you add a texture in Unreal and import it into Aximmetry to where at any point in time you can add a live texture, or you can add a recorded source texture. But that's how you do it. You could also trigger this to play you could... There are all sorts of stuff you can do with Aximmetry! It's so much fun, and like I said you know the ability to go in and you'll have this going all in real-time is just absolutely crazy. Now you got your reflections down here, everything. Look at that! Pretty awesome stuff. As you can see, it's really really simple to set this up in Aximmetry.

Example: Noise Kit

Now another cool thing you can do is like for example look down here at this monitor. We've got our content in here, and let's say for example: - here I'll switch fullscreen - you know, let's say for example we don't want that to be so clean. You know we want to junk it up, we want to make it look like an old archive, old television. Well, the cool thing about Aximmetry, like I said, it's just so awesome. You know they have all these pre-built compounds, that are sort of like After Effects plug-ins. So there's one here called Transmission. Transmission_Noise_Kit. And all I want to do is drag this down here. Here's the Transmission_Noise_Kit, and if you look, here's our cartoon crop movie, which is here. All I'm gonna do is I'm gonna take the Out pin. I'm gonna disconnect this. I'm gonna take that out of the CartoonCrop, put it into the Video on the Transmission_Noise_Kit, and the Out to the TVINPUT. And then, over here you've got your parameters you can play with. So the first thing I'm gonna do is I'm gonna add some Grain. So when I add some grain, here and if you look on the monitor the grain starting to come up. I'm gonna add... I'll take the grain noise up a little bit. I'm going to add some Chromatic Aberrations here. Take that up here and then I'm gonna add a little bit of Waving. Look at that! So if I hold my control key down I can go over here and just show you the flow. So this is what the original source looks like, and we're going out to Transmission_Noise_Kit and this is all real-time. It's crazy! So this is what it looked like before. This is after. Here I'll go fullscreen to show what it looks like. Isn't that crazy? I mean all in real-time so there's a lot of things you can keep on doing in Aximmetry, just to keep on tweaking to get things to look exactly the way you want. So that's how you set up a real-time interactive texture in Unreal. So you can bring it into Aximmetry and put anything to it at any point in time. You know either live or it could be a file and Aximmetry is just so exciting and so much fun and this is just another example of how you can do some neat stuff with it.

Article content