So using a scene capture entity to render icons.

I am a bit stumped on this. It feels like I am just missing one little detail that will make this fully functional. I need to be able to generate icons at run time on a shipping build. I have a special scene capture blueprint that sits below the map that allows me to place a static mesh then render it to an icon. The only thing it seems like I can really do is get a real time rendering.

How can I take a static snapshot then assign that to a UMG image? The only methods I can find seem to be editor only and they generate actual 2d images which is not what I need. My game will have a lot of icons and many of them will be for randomly generated weapons ect.

1 Like

You need to set the RenderTarget which the Texture will be written into, after CapoureScene is finished you will need to either convert the RenderTarget to a Texture or maybe its possible to use it directly in the Material or an Image Widget component.

Hope that helps.

Ok so, as far as I can tell its only possible to convert the render target to a 2dtexture if its in the editor. Its not possible as far as I can tell to do this with a shipping build of the project. I am really having a tough time figuring out how to do what I need to do. I feel like its one simple little detail I am missing that will make this super easy.

So I found a method to solve this but its probably not ideal. What I do now is whenever I need to have a bunch of icons for my hud I spawn a bunch of icon creation blueprints under the world hidden in a black box. After spawning this I feed the correct information so that it displays the correct art then I take a snapshot of it. The advantage to this is that it always works perfectly every time even when the items are player created or randomly generated. This method also gives the advantage that at any time you can switch the rendering to real time then enable the graphics to slowly rotate or move in some way.

The only catch is that it means a lot of extra blueprints being spawned in the world and its kind of a pain in the butt to setup initially. Otherwise it seems to be a super down and dirty method to get this done.

its quite common to use these far away from the Level Geometry Boxes and render Something in it.
The Rendertarget to 2D Texture has to be done in C++, its not super straight forward …

Best
Hangs

Actually the solution is super straight forward and simple. All you do is create a new render target on the fly then create a material instance based on a material with a parameter. Thus you can auto generate icons with almost no cost on the fly automatically with no real drawbacks. I can do a tutorial if you guys want.

@Castle, yes, can you please explain further?