Translucent materials. is there a ETA for getting this sorted out? or....

Ok this situation with translucent material is really starting to get annoying. Why are there so many bugs with this? why can the reflections from eh reflections buffer just be comped onto a refractive surface just like any other material? there are so many other little annoyances but the reflections seems to be the most annoying one. and for the life of me I cannot understand why it isn’t the easiest to fix. Granted I’m not a C++ programmer But I’m a 3D artist with about 15 years experience in rendering and compositing. Which for the most part is what UE4 does in its rendering. So again why can’t reflections be put on refractive materials? they should be no different than any other material. Can someone please explain to me why this is taking so long to overcome.

Second is there an ETA to over coming this? I mean please level us on this. is this something that is gonna be DX 12 only? is that what we are waiting on? is it gonna be a month? 6 months? a year? But seriously for month I have seen nothing but “Its a problem with the engine right now” Ok what is the exact problem and what is the ETA for getting it fixed? do you know how to fix it? I really like working with Unreal but I keep hitting this stupid issue and it is getting very old quickly

What kind of a problem are you having with refracting reflective translucent materials? Recently i’ve been playing around with this kind of thing and i’ve found out that it helps to use a mask to get the best of refractions. Here you can see my results:

Hey James,

It all comes down to the type of rendering solution currently implemented (deferred), to get high quality translucent materials we need a forward rendering solution, which is being worked on, as well as planar reflections for translucent surfaces.

This thread has more details on this, it is a feature I am really looking forward to as well. :slight_smile:

EDIT: I believe James is looking for an ocean material with real-time reflections on the surface from an Oil Rig in this case (I had a discussion with him previously on this), refraction does work on smaller surfaces quite well, but really large moving surfaces are much more difficult.

Hang in there James, features like this were put on hold to get parallel rendering completed, now that it is done for version 4.6 we could see this implemented very soon. :slight_smile:

@ Jacky that looks very cool. But is that using Real-time reflections. While your results look good it looks more like a false reflection - specular highlight. But still looks great. But when the surface is larger real-time reflections become more necessary and just a spec highlight doesn’t cut it.

@ DotCam: Love you water system BTW. I don’t understand this. I don’t have a problem with the quality of the refractions the way they are now. Could they be better? of course are they good enough for 90% of situations? yes. My questions is why can reflections not be added to them just like every other material. It just doesn’t make any sense.

I still haven’t heard a reason why the reflections can’t be comped in onto of the refraction pass? I mean according to the road map this isn’t even on the radar. It is a wish-list item. I mean do the votes on the trello account for anything? I mean this issue is by far the highest Vote count yet it is a wishlist item? WTF? I mean who is setting the priorities here. I mean shouldn’t the people paying for the engine set the priorities? It just seems like Fort Night seems to set all priorities and take all resources at Epic. IDK man it just seems like for the most part I have hit a impasse with this engine. I can’t spend all of this time trying to get the engine to do things that it should have done when it was released. Cant waste another 6 months without some kinda commitment from epic. This just doesn’t seem to be a priority for them. I need to go find a engine that just works. I really hate to go back to cry engine since the rest of the pipeline is so awful. But at least the obvious stuff works out of the box. wish I could have Cryengines render with everything else from unreal.

I mean I know people like DotCam and some others have worked really hard to make nice water implementations but lets face it without any support from epic on this issue it is just ******* in the wind.

I don’t understand the reflection problem really, TLM surface under the translucency tab enables captures to be added.
See this pic:
Don’t know yet if screenspace reflections gets added to captures before compositing though, i didn’t elaborate on it that much.
That being said, translucency has surely its own big set of problems, worst would be the zsorting IMO, but that’s what we get by using a non hybrid tiled deferred renderer…

Please elaborate a bit on your problem, as you’re kinda right in general, but maybe (just maybe) there could be solutions to your problems, even if they could be a bit on the hacky side.

As above, make sure you’re using TLM_Surface. SSR don’t get added yet, Translucency basically picks the nearest Reflection Capture buffer to that actor in world space (I think) and applies that.

Reflections on Translucency is hard, because Translucency involves re-drawing that pixel (for one layer only!) before it’s outputted to the screen. If you have another layer behind that, you have to do it again, and again, and again, the cycle continues. Now at what stage do you say “stop” and add in the reflected scene, should the translucent materials be part of the reflection buffer or not etc? You end up in an endless loop of constantly re-drawing pixels. Imagine having a particle system of refractive reflecting particles. Now you see the problem. At least, this is based on my understanding of it.

It is being worked on, the “solution” will be in the form of a forward shading profile for translucency. Naturally that’s hard to integrate, and the graphics programmers do have other jobs besides translucency. This isn’t like video editing, you can’t just “comp” something in, it has to be calculated mathematically first.

For the record, CryEngine has a forward renderer so it handles translucency as well as any other forward rendering engine (e.g., UE3). However, it does mean that reflections for PBR materials, and the ability to use lots of dynamic lights is exponentially destroyed by that.

I would say you do it in the same way you do in an offline renderer. You set a ray limit.

Did what you say but no reflections

UE4 isn’t an offline renderer, it’s designed to be realtime and therefore perform as fast as possible. Ray-Tracing is expensive and time-consuming, it’s not used in any realtime engine. All Refraction does is distort/move the pixels behind the refracted material, which I believe it grabs from a buffer somewhere else. It’s an approximation at best and that’s all it’ll ever for a long time.

Other than that, check your engine scalability settings are all set to ‘Epic’.