Hologram Effect

Hello there,

I’ve been wondering how one could go about making a hologram effect in UE4. Much like the effect seen in the Mass Effect games (like the one seen below).

http://static.giantbomb.com/uploads/original/0/5911/1516104-council_hologram_ambassador_meeting_5.png

What I’m mostly interested in is how I could go about achieving the translucent look of the hologram, I don’t believe it’s just a translucent material as that doesn’t tent to look too good (you can see parts of the model through itself, that’s the only way I know how to explain it). This looks more like the model was rendered normally onto a texture and then some processing was done to it before it was composited onto the frame using an additive (or screen perhaps) blending mode.

I’m not asking for a complete solution at all, I just don’t know how to go about rendering a model with translucency like that without it looking horrible.

Thank you!

It’s custom material (Shader, as material editor generates shader code).

“This looks more like the model was rendered normally onto a texture and then some processing”

Actully thats how pixel shaders works, it is not really rendering 3D space it’s still reading 2D which looks like 3D based on UV maps and vertexes processings, if you sample a texture using normalized screen position (there node for that) instead of UV map, you will see it will render texture in 2D in place whole model aligned with the screen, So there really no need for rendering to texture for such processing as shaders already work like 2D processing units. If you you add alpha (transparency) to the end of flow (right after input) in your material graph you will add transparency on all pixels used to render the model, you can modify color using add, multiply nodes (do you can make this reddish effect). Theres also back pixel sample allows to sample pixels from back of a model (you could do tha in UE3 not sure if UE4) and combine that in final result.

Ah that makes sense, I’m not entirely sure how I could go about isolating one specific model in my shader (such as to avoid the hologram effect being applied to the whole screen)

Shaders effect only space where model is, just make const vector and plug it to emissive and disable lighting in material and you will see :slight_smile:

If you want shader to effect whole screen you need to apply material to post processing

“If you you add alpha (transparency) to the end of flow (right after input) in your material graph you will add transparency on all pixels used to render the model”

How would I go about doing that? If I add alpha to the “Base Color” input it tells me it doesn’t accept a float4. Using a translucent material won’t work for me as you will be able to see parts of the model that are behind it (for example if my character puts his arm behind his back you can see the arm through his body, I don’t want that)

Hmmm try using “SceneColor”, is samples color from scene, then you don need to use alpha as you apply pixels from scene behind model. In UE3 (on which Mass Effect games run on) there was DestColor which have similar function

Did you atleast tried scenecolor with translusent if it has tha arm thing? ; p

Ah apparently only translucent materials and post processing materials can use “SceneColor”, a translucent material won’t work for me, I guess there is currently no way of isolating a model like this. Thank you for your time and help though! :slight_smile:

Yeah I did :stuck_out_tongue: But since I have no way of checking if a pixel is behind another I will still be able to see the arm through the rest of the model, it looks really horrible :stuck_out_tongue: