I remember this project, great work! I’m happy to see that unreal 4 is good and easy to use
No problem! =)
I agree, it’s definitely totally possible to use UE4 lightmass right out of the box in most cases. I remember how my first trials with UE3 lightmass for archiviz were disappointing =P
But the problem comes when you start using movable assets and lightmass skips the interactions of the light between the objects. It’s all floating and shallow. This is hard to fix with baked lighting and SSAO doesn’t help too much. That’s why I was so excited about the SVOGI =/
I’ll post some screens later to show the difference.
Thanks! I’m sorry, but what do you mean exactly by “gold of the assets”? =P
The geometry of this scene is optimized because I got those assets from the FBX files that I had prepared for UE3, except the vases. Back in UE3, the archmodel chairs were optimized with a simple “optimize” modifier in 3DS. The vases are the same way they came from evermotion. You won’t get any mesh issues if you import everything without optimization in UE4, despite the performance degradation. If your scene is like mine (with 5 or 6 models) that is ok, but an entire house full of highpoly archmodels won’t be as smooth for sure =P.
I’ve never used real time archviz for anything but studies. It’s actually part of my master’s degree project. You could adopt that in your workflow and send the exe files for the clients if you assure that they will have a powerful machine and the time to install it. My scene generates a 300mb final file. I think a complete house won’t pass the 500mb.
That one comes with UE4 initial scene, I didn’t touch it. I just distributed a bunch of capture spheres all over the scene to get better reflections.
Here are the results of some more tests. The real problem with lighting starts when you decide to interact with the objects… If you want movable furniture, you must change those assets to “movable”. Then those meshes doesn’t receive lightmass calculations anymore, they’ll be affected only by direct lights and Indirect Lighting Cache.
The Indirect Lighting Cache should help a little with the light quality, but I can’t manage to get the right results. It looks like the points are too sparse and the information near the walls is leaking from outside:
If I bring the objects far from the wall, they get the right information:
I can’t reduce the LightMassImportanceVolume (I suppose that it would increase the indirect lightning cache density), so I put a LightMassCharacterIndirectDetail solid around the critical area, but it makes no difference:
This is the scene with 100% static meshes:
Am I missing something? The documentation doesn’t have a lot of information about this…
you mentioned a UE3 project that this was originally could you post a link to that so I can check it out. One of the guys at work is having to light a scene with very clean white walls, and lightmass is making a mess of it, and I was hoping that we could learn from that example, and take a look at your lightmass settings. Thanks!
Thanks much for sharing your research. Hope you find a workable dynamic solution (I’m afraid I have nothing to contribute), but the fully static one looks amazing!
@rabellogp, the scene is amazing on UE4, and it’s definitely more realistic than your past (UE3) render (which is also great). *Although, not saying smth critical, but personally I like indirect shadows from the stairs in UE3 render more than UE4 version. These indirect shadows are clearly more ‘obvious’ than in UE4 (perhaps you just used other light angle for the directional light and that caused indirect shadows to appear… at other light angle, too).
Anyway, keep it up, it’s already deserves ‘Realistic Rendering’ tag on it!
Thanks! The link for the UE3 version is in the end of the first post, but here it is again http://forums.epicgames.com/threads/931945-Archviz-Project
You’ll find some tips to improve the lightmass quality there.
Thank you. And I agree. To be sincere, that very difference that you’ve pointed is bugging me since I started playing with UE4. The light angle is different in these screens, but I’ve already tried the same position of the UE3 version with no success. I’m sure it’s a matter of finding the right config though.
Yeah I cried. I concur - SVOGI would make this the best engine ever. I like to think it’s a matter of time - the tech will become more efficient and the hardware more powerful, so hopefully it makes an appearance in the not to distant future.
You may already know (of it’s existence and how to enable it), but you can use Light Propagation Volumes for realtime GI at the moment (if you want some realtime gi to keep you going). It’s still in beta and won’t give anywhere near as beautiful results, but at the very least it might be handy to try out if you do work in realtime with clients (or just to play with for the sake of it haha). LPV on the forums LPV on the wiki
Yeah I’m at work so I can’t always read through something reliably (apparently) when multitasking.
I passed along the link to the artist I mentioned hopefully he will be able to make good use of it. again really nice stuff!
Yes, I’m aware of the LPV… It’s the same stuff they use in CryEngine. It’s better than nothing, but I still miss something to get more “depth” on the dynamic objects. Maybe a SSDO technique would improve a lot the visual that I can get with SSAO and Indirect Lighting Cache.
I didn’t have time to play with the beta LPV yet, but i’ll definitely look into it =)
Cool - if you manage some nice results I’m sure we’d all love to see them.
Couple of things:
you can increase the resolution of the Volume Light Samples by modifying this section of the Lightmass.ini
[DevOptions.PrecomputedDynamicObjectLighting] bVisualizeVolumeLightSamples=False bVisualizeVolumeLightInterpolation=False NumHemisphereSamplesScale=2 SurfaceLightSampleSpacing=100 FirstSurfaceSampleLayerHeight=25 SurfaceSampleLayerHeightSpacing=100 NumSurfaceSampleLayers=4 DetailVolumeSampleSpacing=300 VolumeLightSampleSpacing=3000 ; Clamp the number of volume samples generated to ~3mb MaxVolumeSamples=50000 bUseMaxSurfaceSampleNum=True ; Approximately clamp the number of surface samples generated to ~30mb (only for Landscape currently) MaxSurfaceLightSamples=500000
The Detail volume basically fills the volume with samples rather than it being a few layers on the ground. You can visualize the samples by going to Show>Visualize>VolumeLightSamples and it looks liek this:
Also, be sure to be using reflection capture actors in your scene. For dynamic objects, they impart lighting information as well as reflection information and can help with the look of exterior lighting leaking in. these ONLY capture static geometry however so if your walls, etc are dynamic they won’t help.
Last thing I’ve learned is to use post process volumes to good effect, especially if you’re using a Skylight (or just don’t use a skylight!)
Look forward to seeing an update!
Thanks for the help, Tom! It’s great to see there is an easy way to increase VLS density. I’ll give it a try and post the results here as soon as possible.
Well, after playing with the Volume Light Samples, I think I can achieve better results with dynamic meshes in this scene. Take a look:
(all the furniture is dynamic)
Unfortunately, as ReflectionCaptures ignore dynamic meshes, the contact between those meshes and reflective surfaces gets shallow. Increasing AO helps, but it’s not enough to eliminate that “floating” effect. I hope that Epic will add SSDO soon…
It’s interesting to see how the amount, position and type of ReflectionCapture actors changes the look of the scene. With some practice, I’m sure it’s possible to improve those results even more…
Wow, that’s a big improvement! You could also cheat with some decals under the objects to add faked contact shadows
But, as it is, especially in such an un-cluttered scene, it’s a great step forward for dynamic Arc-viz! If you can build a good UI for placing objects, etc it could be a very powerful design tool.
are the skeletal/Dynamic mesh’s casting shadows? or are they just getting lost in the in floor material?
Also, I can’t tell for sure, but looking at the book shelf, are you baking occlusion into your maps? If not, it might help on the more subtle lighting that isn’t happening by not making the mesh’s static.
Anyway again, great stuff, glad to see people pushing the realism aspect of the engine’s rendering capabilities, and look forward to seeing more!
Yep, they are lost, flying over the floor material =P. That’s the price we pay for backed lighting, no indirect shadows for dynamic meshes… And UE4’s dynamic AO technique is not good enough to reduce this floating effect too much. I’m playing with decals to fake indirect shadows, as Tom Shannon suggested me.
I’m not baking the occlusion… I’ve tested it a little and I couldn’t get nice results, it was dark spots artifacts and messing up with the overall quality of the lighting. Maybe I need to play with the settings a little more.
yeah baking AO comes with a trade off, typically i’ve had better results with it, than without it, though admittedly my experience is in offline rendering rather than real time.
on my current project at work in UE3 we are using it because all out objects are skeletal mesh’s, we’ve been using AO in the maps to shade recesses like in things like cabinets as a way to help they lighting, for the most part it works well, but I agree that it’s not correct in terms of how lighting works.