Realtime ArchViz-VR - UE4

Hi everyone,

we wanted to share some work in progress of a case study, we are currently working on. We tried to recreate an interior space from actual reference to get a workflow for ArchViz in Unreal 4 going.
Our goal is to achieve a similar look and feel to our renderings. We deliberately chose to convert one of our existing archViz-projects (which you can see here: http://www.lefx.de/referenzen/visualisierung-innenraume/) into a realtime-viz to see, how the workflow would be, what we have to change, what is reuseable…
We plan on creating a VR-experience in conjunction with the oculus rift from this scene soon.
The lighting of the room proved to be more challenging, than we first thought. Getting clean (archviz-clean) results from lightmass on plain, bright surfaces needs some tricks and work arounds. As do elongated lights…
We are currently working on filling up the scene with additional details. The scene also still lacks some sort of surroundings…but that is on our list as well.
Updates are to follow soon :slight_smile:

Feel free to check out a short captured sequence of a little fly through:

(the stuttering comes from Vimeo conversion. Don’t really know how to do this right, i created a h.264 video with 30 fps in 720p as a start, uploaded it…and then it get’s this choppy. Any ideas?) :wink:

The scene is about 3/4 done. What is missing are some additional interior details, some adjustments to clean up some errors and stuff and of course some outdoor environment.

We’d really like to know, what you think about our progress so far.

Unreal Engine 4 is a great tool to work with, though it has some shortcomings at the moment, that come into play, when building things like that. (Missing forward shading for better glass materials, problems with sorting of transparent surfaces, lack of light channels (or any form of inclusive/exclusive lighting))
We are really looking forward to what’s in the pipeline for UE4, because we plan to build a serious workflow around it for our Viz-Business.

This look greats. Definitely has that vray clean look.
Would be cool to know the trick you used on the walls

I think alot of the difference between the rendered and realtime scene is the outside scenery (trees vs bland skybox) and the interesting lighting and shadows.

Looks great Tom_LeFx. Very clean with the details. The fireplace looks awesome. Keep up the great work and hope to more in the future.

Hi Tom, I’ve been working on a very similar project trying to get come as close to a Vray render as possible. It’s funny because I’m fairly familiar with a lot of the assets that you’ve used in your scene. A lot of those cgaxis models don’t have the best topology in the world. Infact, I spent a fair amount of time working on building proper UV’s and optimizing… while trying to do a little of that process as possible to try and gauge what that pipeline is and how long it would actually take in a repeatable fashion. What I’m really curious about, is with such high-poly models what kind of hit does one end up taking with lighting over so many polygons. I’ve got a fairly complex scene and for the most part I’m still rocking a solid 120 fps on my home machine, but as soon as I started working in decent foliage using Speedtree I started experiencing fps drop to around 60-70, which isn’t going to work as well as I’ll hope when I start trying to run this on my DK2 as soon as it arrives.

I haven’t spent a ton of time on learning the in’s and out’s of optimizing the scene to the T, other than general knowledge. I guess I’m just curious if anyone has found that wall in what geometry is too much, when and where to throttle the detail. I’m not really looking to target low-end systems myself, I consider a target system situation. But as you know, it’s not exactly a walk in the park to get a lot of models that work for pre-rendered archvis ready to light properly in Unreal.

Great work!

Looking good - always great to see people use the engine for something outside of games. It’s really powerful in Real-Time Rendering applications such as this. I’ve worked on similar projects in the past - but nothing that looks this good! If you get it to 4/4 of the way done, drop us a video in here, would love to see it

Keep it up!

Hi everyone,

sorry for the delay in my reply, we got plenty of work to do (creating an outdoor-viz-scene with UE4 for example :wink: )

First of all, thank you for the positive comments on our work so far. We really liked the progress we were able to make and are eager to find our way with UE4 with every project we get going with it.

Now some detailed replies:

@Bladerskb: We separated all of the walls in the room into separate objects, so that we were able to adjust each lightmap resolution for each object. Furthermore we used the old rendering saying: "If the GI comes out unclean, add more light to your calculation)
So we added an array of directional lights (without shadows) on a weak intensity to the scene as well as “light portals” (spot lights in the windows like epic did in their Realistic rendering example) in each window. Helped cleaning things up quite a bit.

The outside is still on the list. For our current project, we were able to try out speedtree and all that and it works great, so there is going to be an actual outside world. Stay tuned :wink:

@Sean Gribbin: Thanks a lot. The fireplace (fire effect) was heavily inspired by your effects cave, but we also like the way it came out in the end.

@pixelvspixel: Yea…the topology of “external” models from libraries is heavily aimed at offline rendering. In this project, we mostly tried to just take those meshes and load them anyway, to see, when it starts hurting the engines performance. I don’t really know, where the hard limit for polygon throughput is with UE4 atm, but i am sure, we are going to find it soon :slight_smile:

For our current outdoor project, we tried a different approach and heavily optimized most of the models, baked normal maps and stuff. It really helped the scene performance and some things went faster, than we originally expected. I think for the future we are going to try to find a middle way between those two extremes. Rebuilding and optimizing everything just takes too much time (which the client won’t pay for) while just throwing everything inside the scene will make your performance drop through the ground very easily.

Anyway, the engine’s performance is still a bit…hard to grasp. It get’s slow with some things pretty fast, while it is able to handle other things quite well. Increasing the resolution is something, the engine really doesn’t seem to take very lightly. I’m a bit in fear of the DK2-Results, because you have to incorporate stereo rendering (rendering things twice - more or less) as well as upscaling the render-resolution (to gain better AA and a sharper image from oversampling) That brings you way above FullHD, which really should cause the performance to drop even on higher end systems.

@Chance Ivey: Thanks. I’ll definitely keep you all updated about the progress. The engine really is powerful and i like the progress you are making with it, keeping everything in the loop with those updates and samples. The only thing, that really is kind of a show-stopper for as atm, is the translucency rendering. Making glass objects look good is a pain in the a** (sorry) and the sorting-problem of translucent objects doesn’t really add to the charm either. I really am looking forward to your promise of introducing a forward shading pass for all those problems (as well as decent water shading). Can you give us any idea about the progress you are making with this over there? Even the tiniest bit of info is appreciated :wink:

Again, thank you all. I’ll update you as soon as i can.

Looks great good job makes me feel crappy about my project tho

Don’t feel that way - keep working at it, I’d love to see what you’ve got cooking :slight_smile:

I believe the Forward Shading Pass is on the roadmap, let me check out how it’s coming along for you :slight_smile:

Hi Tom,

Your project looks great! I am just starting out on the path to learning the UE4 workflow for Arch Viz and I had a quick question for you. Since your project started out in Vray did you texture bake the Vray lighting and then bring it into UE4 or did you recreate the lighting in UE4? I am wondering which is better baking the lights vs. recreating the lights.

Thanks for your time and I look forward to your updates.

Hey Tom, Fwd Shading is still on the way, though we don’t have a solid date for it at this time. I’ll make sure to update you when I get more info.

Kick it

Hey Chance Ivey, thanks for the feedback. Unfortunately this means, it will still take a while, until this “gap” in UE4’s feature-set gets solved. I just hope, it goes fast.
To add more to my grief, i just found some spectacular video, showing of the capabilities of another engine on utilizing the DX11-Order-independent-transparency. Something like this in UE4 would blow my mind :wink:
For everything in our business, glass and transparency is very important, thus i’m “pressing” so much on this issues. Anyway…thanks for listening into your dev-channels for me :slight_smile:

@Nicholas Eischeid: We didn’t prebake anything. In general i didn’t get very satisfying results from texture baking with V-Ray in 3ds Max. We tried this on some older project for another engine, but the results where quite a mess and it took a whole lot of work to establish a solid workflow for that. VRays GI calculation methods don’t really seem to play along nicely with the render to texture feature-set in 3ds max. If you want to go that way, have a look into mental ray, as it offers rather easy methods to achieve some fast and reliable baking-results.

For this project, we created the whole lighting in UE4, because we wanted to see, where we can go with Lightmass. We even have a prototype of this scene, that utilizes LPV-based Realtime GI. It doesn’t look to bad either, but the feature isn’t stable enough to go into production with it, so we wanted to give the “traditional” Lightmass approach a good try and it seems to get the job done :wink:

Great job! You’ve got a nice result with the “more light to less noise” technique, it’s all very clean!

Did you use any movable assets? Do you intend to use it in order to achieve some kind of interactive experience with the furniture and materials? UE4 gives us a truly Vray quality for non dynamic environment, but when you start adding some interactivity to it, the quality starts falling down… =/