I’ve decided to dig deep into the Robo Recall project file to see if there are things we can learn from it, some things that we might have done differently the entire time we were building UE.
This has started as a personal project, but I’m more than happy to share this here with you, who knows it might benefit someone else and this might get some interesting discussions started.
Methodology: First I listed all most common settings that have been tweaked in Robo Recall. The benchmark here is a clean 4.15 project.
I listed all differences in Excel: Green column is the clean 4.15 project, Orange column is Robo Recall.
Followed by some loose remarks about Post Processing volumes, lights and reflection capture actors.
Bonus : I’m also reconstructing the Robo Recall HUB map (where you start in the game) in a 4.15 project. Just the outer walls , the correct settings etc, to get the same setup / look&feel. Possibly using it as a template for future project. Many of the assets - even just the outer walls cannot be easily migrated over to 4.15 since there are a lot of bindings to the Odin project (Robo Recall) - so this may take a while.
I think this is a special material trick to get rid of some unwanted MSAA edge jitter Imgur: The magic of the Internet ( -> you 'll find this in “M_Railings”)
Animated shadow of the fan on the floor is actually just a mesh
Animation to show what I mean here : Jsjd - YouTube
No Atmospheric Fog
In stead there are Cylinders (check for a mesh called “Cylinder2” for example) with a transparent material near the windows and under the fans to give the illusion of atmospheric fog.
Post Processing Volume
Compared to my usual Post Processing Volumes (which are usually full of tweaks -> not good for performance) there is really not a lot going on here for Robo Recall. Just Tonemapper > Slope and a 0.2 Bloom Intensity
I noticed a few things as well. They disabled ambient occlusion from post processing and instead baked it into the light maps. In general you’ll want to do one or the other, baking it gives better performance, but will be missing on dynamic objects. Capsule shadows can help make up for the lack of AO on dynamic objects. I think I noticed that the enemies where the only thing using capsule shadows, but I could be wrong.
Has anyone looked at the differences between the Epic and Cinematic presets they have?
Note on the planar reflections: only one is active at a time during play. Upon teleport it selects the best one to use.
On your note on draw calls, I noticed even after culling, DM_Chill.umap has over 3000 draw calls at some view points. Does it actually run smoothly without falling into reprojection in the shipping build (I could only look at it in editor)?
Has anyone else encountered issues trying to Migrate certain assets to another project. I would assume this is because it comes from a modded package. But a lot of migrated files aren’t use-able or able to be open. (Vector Fields, some particles, materials). Of course the bulk of their materials rely on custom material function which makes the migration process a little more tangled. I spent a few days having to manually rebuild a lot of the files and functions to get things running in a clean package.
Awesome!
This is probably related. I got some frametearing and spikes in my reconstructed level. Frame time goes above 11ms.
Planar reflections not supported in Forward renderer so it falls back to deferred?
(This hitch does not happen in the actual Robo Recall game or project)
Hi Sunchaser. I’ve been doing exactly the same thing. I imagine many of us VR devs are all taking a deep look at Robo Recall’s implementation.
I’ve been poking around and deconstructing what I can to try to pick out useful best practices for UE4 VR development. I created a new blank project using the latest 4.16 master branch and started migrating certain assets (art assets only) and then started coding from scratch some basic locomotion and interaction to experiment and verify I understood how the Epic devs implemented certain features.
I made sure my project settings (.ini files) and map settings were the same wherever possible. Everything looks and performs pretty much exactly the same.
Here’s a video of what I have. Again, this isn’t robo recall but a completely seperate 4.16 project just using some of the robo recall art assets and settings. If you have anything you want to discuss add me on the Unreal Slackers discord chat. Would love to talk shop with someone else interested in the inner workings of Robo Recall.
Hi guys, I know the thread hasn’t been active for a while but i’m wondering if anyone could tell me why in the ‘pearl light night’ level they have grouped point lights together? (for example on the solar panel trees). Does this help performance/baking in any way or is it just for organizing purposes?