Possible to capture screenshot in game and display in engine?

It would be nice if players could take photos in-game, and then display them in the world during gameplay.

Anyone know if this is possible?

In just UnrealScript, I don’t think this is possible. But I think it might be possible if you load it into a Flash movie, and then render the movie to a texture.

I know that UDK will take a screenshot with one of the Function keys. I would have to dig deeper to find out how to call that function. Then shows how to load an image from the internet. I’m sure there must be a way to load an image from a file.

If you figure it out, I’d be interested in hearing how you did it.

Thanks for the response @Nathaniel3W. I’ve tried to load images from the internet in my scaleform flash videos, but never got it to work. Have you managed to get that to work?

Edit: Whenever i try that cope snippet in on of my scaleform movies, i get this error:

Error: Loader failed to open ''
Warning: Failed loading URL ""

Huh. I just tried it myself. Same error. But maybe there’s still hope for loading from the local file system?

I got it to work in the local filesystem! First drop an image file into the same folder as the swf. Then just change the URL to the name of the file, and the swf will load the image file. I’m not sure if it’ll work the same way in-game, but it’s a promising start.

Hmmm that’s good to know. Are you running the .swf with the scaleform launcher, or just as a flash file?

One obvious example where I would want to load an external img file, is to display player Steam avatars in the in-game player menus. Seems odd that there isn’t more documentation on how this can be done. Pretty sure most MP UE3 games show avatars in their scaleform menus.

Edit: Here is an old thread discussing just that:…t-in-scaleform

I only tried the launcher from inside Flash Pro.

I honestly haven’t done much with the Steam API. Is there a function that returns an avatar image? Is there a standard data structure for passing images the same way one would pass an int or string?