Ray Tracing is beyond broken in 4.23

In my project UE4.23 Ray Tracing Reflections completely ignore BSP geometry + it has weird shadows:

@shipo Why do you torture yourself man, why don’t you just stick to what works, the good old fashion way.

RT is not ready, it will not be ready for many years to come, GPU Rendering in offline renderers only just recently started working somewhat (depending on the project at hand) that is after nearly ten years of pushing hard with no realtime restrictions at all! Can you imagine what it will take to make RT for in game engines actually work on a production level?

Of course Huang is going to yell that it works he wants to sell those overpriced cards of his!

@WilliamK I dont know, while I agree with you but I have been quite successful in using raytracing for exteriors/environments. Its not perfect, but it has the things that I have been missing in the last 2 years and I am very happy. Now its not about gaming or such, I just love to use UE4 as a visualization tool too.

So I ofcourse agree that the raytracing has many problems, but the technology is still new and discovering the old/new problems that it has are going to help the developers understand the limitations and bugs. So its good thing what @shipo is doing discovering problems. I for example didnt knew that BSPs doesnt work with raytraced reflections, now I know.

I would like to challenge peoples to understand that UE4 is not only for gaming but it can also be a 3d visualization tool. So whatever doesnt work in gaming, could possibly just work for visualizations aka 2 fps and ansel screenshots/level sequencer rendering.

UE4 has very interesting future in virtual production and I cant wait to be involved in such projects in the future. :slight_smile:

I don’t want to create another thread, so I just add here.

It seems the ray-tracing cast shadows from invisible HLOD proxies.
You can see on the roof in the attached pic. Without hlod the shadow is gone.

edit: btw, I found that HLOD is broken too in 4.23.0, so maybe it’s not RT problem after all.

I can easily see RT being close to ready for VFX/Viz purposes, not for games. In fact we’re using it already at the moment to produce some high quality visualization. RT reflections combined with GPU lightmass produce results very close to offline rendering but much faster, in some specific cases.

“Why don’t you stick to what works, the good old fashioned way” is about the worst kind of mindset anyone can have when using any evolving technology. So what are you implying? That the nVidia drops RTX support and goes back to rasterization only GPUs? And that Epic immediately stops development of all the raytracing tech since it’s a blind alley? At this point you probably realize how little sense your post makes.

Any new software technology has bugs and limitations, and the way to advance the technology is to solve/overcome limitations and fix the bugs. If developers and users adapted the “let’s stick to what works” mindset, we would still be using 8086 chips waiting seconds for our 320x200 screens to redraw with 16 color characters.

In fact, RT in UE4 is already quite remarkably useful in some cases, if those cases aren’t games requiring playable framerates. Thanks to RT development, high end visualization and VFX withing Unreal engine is literally just a few dozen bugfixes away.

I get what you are saying and i’m not arguing against the fact to find bugs and move a tech forward, I disagree that UE4 ray tracing is comparable to offline render quality, to my eyes it is very very far off still, and even more time consuming to get somewhat similar results if you do, and if you want to use it for indoor renderings it is even worse. and it will be so even with many bugs fixed in the future. But if it works for your needs then great.

As for using UE4 in production I keep saying that it is not only the issue of just rendering inside the engine but also the issue of how a pipeline works with imports/exports/caches/material setups compatible with the engine, massive slowdowns and issues with alembic, lots of crashes with slightly more dense poly scenes and many other related problems with lighting and such.

Of course i am speaking of scenes other than just a few static meshes in a arch viz scenario. We concluded 2 projects using a game engine for the first time, client based projects with very tight deadlines allowed us to experiment a little, and it included characters and quality expectations were according to the budget given.
But we opted to jump into Unity halfway simply because we couldn’t import anything inside UE without the engine massively slowing down with alembic files and sequencer constantly crashing rendering 3K/4k sequences (for antialiasing purposes). We had no time to "optimize our scenes further and unity just handled it fine for what it was.

We almost missed our deadlines because of such unexpected problems and even with unity we were wishing to invest in a few more GPU’s to go back to rendering offline.

The setup times and troubleshooting for such simple scenes is just not worth the rendertime advantages. That is the case with most other teams working in larger vfx houses we know of as well.

They would rather invest in a GPU renderfarm which would cost them less than 5K even 2K and have a frame render under a minute with far superior results, less material and light hassles, no import/export issues and times wasted, lots of cheating because you can in a 3d app and lots of compositing layers output for free. fitting right into an existing pipeline.

By the time all these are “addressed” in a realtime engine of the future we would get GPU’s so fast that offline GPU rendering will be able to render far more complicated scenes with far less or comparable times as in a realtime engine and the gap will narrow down further still.

And so unless there is a very special case, investing time to make realitme raytracing in a game enigne work for production requirements is from my personal point of view a waste of time for todays needs as well as for the future.

But this doesn’t mean not finding bugs and helping it work for games of course. that is entirely different and well welcomed feature. The OP and many others though “seemed to be” trying to make an actual product out of it and I assumed that in any normal given world scenario they would have deadlines and such, which is why I told them to stick what works.

If they are just playing around features then so be it.

You were not reading my post carefully. I was saying we’ve come close to offline renderer quality by combining ray traced reflections with GPU lightmass. The lighting was mostly prebaked by GPU lightmass, so the diffuse indirect illumination was quite accurate. Previously, that would still leave you with inaccurate specular indirect illumination, since neither reflection captures nor SSR would do the trick, but GPU lightmass combined with RT reflections really looked quite close to offline render quality.

We did not fully raytrace the scene. It was not like Vray or Corona or something, but just using the reflection component of the Ray Tracing itself already proved to be useful for a practical project, even at the current, experimental stage. That was my point :slight_smile:

I was also only talking about Ray Tracing specifically, which is the topic of this thread. Yes, UE4 has a large amount of issues which generally make it questionable for use non-gaming industries, many of which I’ve broken my teeth on, but introduction of Ray Tracing and continuous development of it is actually a direction of removing at least some of those issues. All in all, it’s a good thing.

And I am the OP by the way. By the label of the thread itself you can clearly tell I am also a bit critical of the current state of Ray Tracing in UE4, but I’m not abandoning the hope. Epic is not Autodesk after all :wink:

Fair enough :slight_smile:

I’m trying to find out the true state of things. What really works. BSPs are going to convert somehow, but then I run into another RT c rap. For example, there is a discrepancy in the documentation: Real-Time Ray Tracing | Unreal Engine Documentation
Materials: Blend Mode / Masked Supported=Yes
But in the RT mirror there is no head or hands. Those things that don’t work in RT are too much. I don’t care about performance at all, but it must work first.

THIS, I’m glad someone has it working, but ya this needs shouted from rooftops we aren’t all rich, well off choose one.

EDIT: It is not obvious for many that in order for Ray Traced skylight to works, the environment sphere captured by SkyLight capture needs to have Ray Tracing disabled: < I can find no such option , not sure this would work here anyway given my current GTX 950 2gb.,does this feature require RTX ?

Every setting you will find which has a prefix or sufix “raytracing” (from UE4.22 and up) will require an environment compatible with DXR (there is a driver release, an Windows 10 release and also minimum graphics card is GTX 1060 with 6GB VRAM).

4.23.1 is out. Time to revisit this thread:

Ray tracing in 4.23.1 now seems even more broken than before. SkyLight still requires mobility to be set to static to produce any meaningful results with Ray Tracing:
Static:

Stationary:

Movable:

But unlike 4.23.0, in 4.23.1 GI no longer works. Enabling GI does have effect on scene performance but has absolutely no effect on scene look:

I was very happy to read fix for “Ray Traced reflections broken” in 4.23.1 changelog, but instead we’ve got even more things broken. I am seriously starting to question sufficiency of skill set of whoever is working on Ray Tracing at Epic. I mean even with completely trivial small set of testing scenes, something like this should not pass even the most basic of QA efforts.

@Rawalanche Do you file bug reports? Its important for the devs to know the problems you discover.

Also, it appears that SkyLight Ray Traced shadows are now way too sub-sampled, resulting in artifacts on contact points which are even worse and lower quality than low res shadowmaps:

The whole point of ray traced shadows is to get rid of visual artifacts like these. Subsampling so heavily kinda defeats the point.

Yes, I filed this one about 2 months ago. About every once in 3-4 weeks some guy mails me asking if I can still reproduce the issue in latest version, and I just keep testing and responding yes. 2 months later the bug is still not filed on the issue tracker.


It was reported mid-August, and here’s again the same question I was already asked 3 times before, and it’s end of October.

Hi @Rawalanche ,

Are you sure you have enabled Ray traced shadows from the sky settings and put it as movable? I think my shadows don’t look like yours.

Regards!

Yes, I did. This comes straight from SkyLight with Ray Tracing enabled. The skylight captures high contrast HDRI map. There’s absolutely no other light source in the scene this shadow could come from, there’s literally only skylight. But make sure you have upgraded to 4.23.1. In 4.23.0, SkyLight ray tracing was not so heavily subsampled.

Does this require RTX ? Anyway tried once and horrible lag and ya I’ve yet to enable LOD for world comp, I’ll verify my settings are accurate as per this thread. I am using 4.23.1 so good to know that. Will this work ok with directionals ? Enabling raytracing in settings does make the world look better at a large price for now given my GTX 950, wonder if 4.23.1 addresses any of that or if its my gpu only. Assuming as per post 38 that this discussion matters.

Everything relies on realistic lighting .

Hi @Rawalanche , it’s true, I have tried it and in that cube and plane situation, the ray traced shadows edges are very imprecise, except if you set only 1 sample per pixel fot he SkyLight.

About the backgrounds making some kind of “occlusion” against the infinite rays of Sky and Suns, I think I have found a way (maybe the only one, for the moment) to be able to use background without that occlusion. What do you think about it? Do you think about a certain case study to confirm if in that situation it is still working too?: https://forums.unrealengine.com/unre…and-collection

Hi @neighborlee , it’s very normal that you noticed lag. In fact, with that card I would think it’s almost imposible to use RT. I have a 1060 and it’s very very annoying, and a 950 can have the half of its power.

Regards!

I guess it’s time for “Ray tracing is still broken in 4.25 kind of thread” :slight_smile:

Since Epic are claiming RT is out of beta in 4.25, I quickly gave it a try but I am very confused as there are numerous core issues that have not changed since 4.22:

Ray traced skylight mobility setting still has an extreme effect on SkyLight accuracy, Static being the only setting which actually produces plausible results. Stationary SkyLight with ray tracing lacks shadows in secondary bounces, severely compromising the accuracy, and Movable skylight also adds specular convolution over the entire scene, completely wrecking any accuracy of ray tracing.

Shadows from ray traced skylight remain blurry to the point of being less accurate than really low res shadowmaps.

Final Gather GI mode still unfreezes Max. bounces setting despite Max. bounces having absolutely no effect on Final Gather, only Brute Force.

To me it seems Ray Tracing is still very much in beta, even in 4.25.