Download

Update 4.7.1 - And distance field shadows

Is there any known problems with distance field shadows in the 4.7? I managed to get my project up and running in 4.7 after setting it to no distance field shadows in the settings, then re-importing into 4.7. Everything is fine until i select distance field shadows again and restart. After this point the project crashes on load, with the following error :

MachineId:20B5C62A48DF9572D7F14B91AA93C7D7
EpicAccountId:7f5de8cece6e488bb1be756133f01eeb

Unknown exception - code 00000001 (first/second chance not available)

Assertion failed: NumPlanes < 12 [File:D:\BuildFarm\buildmachine_++depot+UE4-Releases+4.7\Engine\Source\Runtime\Renderer\Private\DistanceFieldShadowing.cpp] [Line: 115]

KERNELBASE + 42141 bytes
UE4Editor_Core!FOutputDeviceWindowsError::Serialize() + 292 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\core\private\windows\windowsplatformoutputdevices.cpp:95]
UE4Editor_Core!FOutputDevice::Logf__VA() + 248 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\core\private\misc\outputdevice.cpp:144]
UE4Editor_Core!FDebug::AssertFailed() + 1079 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\core\private\misc\outputdevice.cpp:224]
UE4Editor_Renderer!FCullObjectsForShadowCS::SetParameters() + 876 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\renderer\private\distancefieldshadowing.cpp:116]
UE4Editor_Renderer!FProjectedShadowInfo::RenderRayTracedDistanceFieldProjection() + 967 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\renderer\private\distancefieldshadowing.cpp:656]
UE4Editor_Renderer!FProjectedShadowInfo::RenderProjection() + 850 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\renderer\private\shadowrendering.cpp:1787]
UE4Editor_Renderer!FDeferredShadingSceneRenderer::RenderProjections() + 758 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\renderer\private\shadowrendering.cpp:2695]
UE4Editor_Renderer!FDeferredShadingSceneRenderer::RenderProjectedShadows() + 3565 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\renderer\private\shadowrendering.cpp:3230]
UE4Editor_Renderer!FDeferredShadingSceneRenderer::RenderLights() + 4279 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\renderer\private\lightrendering.cpp:499]
UE4Editor_Renderer!FDeferredShadingSceneRenderer::Render() + 5885 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\renderer\private\deferredshadingrenderer.cpp:870]
UE4Editor_Renderer!RenderViewFamily_RenderThread() + 944 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\renderer\private\scenerendering.cpp:1118]
UE4Editor_Renderer!TGraphTask<FRendererModule::BeginRenderingViewFamily'::12’::EURCMacro_FDrawSceneCommand>::ExecuteTask() + 460 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\core\public\async askgraphinterfaces.h:667]
UE4Editor_Core!FTaskThread::ProcessTasks() + 3125 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\core\private\async askgraph.cpp:428]
UE4Editor_Core!FTaskThread::ProcessTasksUntilQuit() + 77 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\core\private\async askgraph.cpp:271]
UE4Editor_RenderCore!RenderingThreadMain() + 183 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\rendercore\private\renderingthread.cpp:282]
UE4Editor_RenderCore!FRenderingThread::Run() + 58 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\rendercore\private\renderingthread.cpp:385]
UE4Editor_Core!FRunnableThreadWin::Run() + 102 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\core\private\windows\windowsrunnablethread.cpp:73]
UE4Editor_Core!FRunnableThreadWin::GuardedRun() + 93 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\core\private\windows\windowsrunnablethread.cpp:26]
kernel32 + 91437 bytes
ntdll + 181537 bytes

Still having problems! Cant enable distance field shadows in 4.7 Is nobody else having this problem?

Hey Swilliams,

Can you post this to AnswerHub in the Bug Reports section, if you haven’t already? Once posted if you can post a link back here I can assign myself and take a look at this during the upcoming week and see what’s going on.

When you post your call stack above, please include the logs and dmp files (you can follow the link in my signature for How to Report a Bug if you don’t know where these are). Also include any relevant information about your project or steps to reproduce. Is this happening in just this project, or any project that uses Distance Fields? Etc.

I use Distance Fields a lot with projects and testing it out and I’ve not run across this in any project I’ve had, but I’ll be glad to help you out and see if we can get a resolution. :slight_smile:

Hi Thanks Tim. Now i know that others are not having a problem with this, i put some time into trying to work out the problem as it semed to be project related. I started a new test project and all was fine. Untill importing my assets. AFter hours of crashes I worked out the fault was one blueprint that was a directional light blueprint. I changed the distance back to the default for distance field shadows. It would seem that the distance was set way too high, and when building the mesh distance fields it crashed instantly with the error details above.

If anyone else comes accross this problem then it is most likeley a lighting blurprint.

There is not much documentation about distance field lighting, and as you have had a lot of experience with this maybe you could give me a few words of advice.

My Project is a space combat sim, and the levels are set in large void areas of space with a few meshes such as asteroids, bases planets etc. As the game is mainly about movable meshes, is distance field shadows the best way to go? I think GI will suit my project much better which i have read is being looked into.

There are a few things about distance field shadows im not really sure about. For example in the project settings, there is the option to turn on and off the distance field shadows, but there is also a penumbra size with a default of 0.05. What exactly is this, and what sort of settings would benefit a project like mine.

Thanks again, and I know what to do now to submit a bug report properly :slight_smile:

The basics of setup and using is up there at the moment with the known limitations at the time of posting. Distance Fields are still being actively developed along with adding additional functionality that solves some bugs and limitations.

GI is not considered an experimental feature at the moment and is still being investigated. You can read more about it over on this thread: https://forums.unrealengine.com/showthread.php?2421-Global-Illumination-alternatives&p=193884&viewfull=1#post193884

DF’s may work or may not depending on your game. Whether it’s a good solution or not will depend on the performance you’re getting and the target platform. It’s not a straight forward answer, at least not for me, because there are many other factors. Seeing that DFs give you a further distance than cascaded shadow maps this may work in your favor, but at the same time you’re now rendering shadows for this extremely huge area that doesn’t necessarily need it. If you look at many other games out there is anyone really using very detailed shadows at distances that are extremely far? Most games I personally play do not really, not to say there aren’t ones that do of course.

Distance fields need to be enabled via the project settings. A restart of the editor is needed. This is because the distance field needs to be generated for the mesh to use.

http://www.viz.tamu.edu/faculty/parke/ends375f05/notes/JOB71001.jpg

Sorry for the confusion, this is something we need to fix up. The penumbra size in Renderer project settings is referring to distance field shadowmaps, which are used by Stationary lights. This is completely different from Ray Traced Distance Field shadows, which are used on Movable lights when you enable it.

Stationary lights

Ray Traced Distance Field shadows

This crash has been fixed in latest and will be in 4.8

Can you post the change list number that fixes this so I can pull it from Git?

This was fixed with CL-24729287 and has already been fixed with the release of 4.7.3 hot fix.

Thanks Tim!

Link for convenience: https://github.com/EpicGames/UnrealEngine/commit/e391de44c27a168b4b103a6fdae77d4f93868a17