My current project requires 3D animated objects rendered on the HUD, that is, instead of having simple scoreboards or icons we’d like to have skeletal meshes representing the state of the game.
We need 2 things which make it more complicated than it looks at first glance:
1- The lighting on this HUD objects has to be independent of the scene. They will have their own independent lighting and they should always appear on top of any other scene object and never intersect one even if the camera goes inside a scene object. HUD objects are always on top of everything.
2- They shouldn’t appear to be rendered inside a separate rectangular viewport, but their outlines should be completely integrated and have continuity with the rest of the scene. Furthermore, if a HUD object has a hole in it, the scene should be seen through it. I think this has to be implemented with alpha blending.
I have experimented with SceneCapture2D, which doesn’t seem to support alpha channels, and UMG’s viewport widget but I can’t figure out a way to make it satisfy requirement 2.
Can you be specific as to exact what you are trying to have the 3d object be and do in the HUD? I believe I have a possible solution but would like to test it before I post it.
The two hud meters will be fully animated skeletal meshes, including shaking and deformations when they go to eleven… with particle effects such as steam.
Sorry for the delay getting back in touch with you. I was trying to see if there is a current workaround for this effect in UMG, but there is not. However, our UMG team is working on this exact implementation and if you look at our most recent UMG Twitch screen they directly address this very issue, - YouTube
The good old bluescreen/greenscreen trick allows to achieve 3D object rendering with transparency in a UMG widget.
I recently wrote a blog post/step by step tutorial precisely about this. Here it is.