David Baylis talked about the way he created authentic real-time hyper-car.
David Baylis talked about the way he created authentic real-time hypercar.
It is no secret that I love Unreal Engine, because of the potential it has, but also the great community behind it pushing its boundaries. At last year’s GDC, I discovered this crazy McLaren 570S demo, running in real-time with absolutely stunning visuals. Needless to say that as an automotive fan, I had to try this out!
First few tries were somewhat unsuccessful, I just couldn’t get that result I was looking for. Maybe not the right car?
Well, a few months later, I discovered the Bugatti Chiron, and soon started working on some environment for it. I really want to stress out the front of the car, with a dark background, so I went for a windtunnel Facility, and inspired myself from the Mercedes and Volvo. Kind of like a monster coming out of the dark with evil eyes. The car itself is so wide and low that I barely tweaked the Camera FOV to get this effect.
Creating Bugatti Chiron
I actually started modeling the wheel rim, just for fun and modeling practice. Fun fact, I rendered it with Corona at first, because I wasn’t even thinking of going further at first.
A single wheel is nice right but why not bring the whole car and give it more mood. I managed to find a decent model, but needed quite some reworking.
I added the front and rear grill, the Bugatti Logo badge, reworked the headlight, organized all the material ID’s for Unreal Engine, and reworked the UV layout.
Once everything was packed together, I exported the body with all of its Material IDs and the Wheels individually (as they were quite high poly).
For this project, I thought it would be interesting to investigate the “Automotive Materials” released by Epic Games a few months ago on the Marketplace, that were used on the McLaren 570S demo.
The car uses mostly the Automotive Materials, with a few tweaks to them (custom Roughness and Normals). They are all usable as instance materials, which could mean I could see the material change in real time.
I used the same technique to apply materials to the exterior assets. Every time I created a shader, it had to have these parameters as an instance. It’s pretty easy and I’m sure that most of you are aware of this functionality, but I did not use it all the time before, and it does save me a lot of time afterwards to avoid going back to the shader all the time and click apply.
For the assets, I used Quixel Suite. I cannot work without this tool. I have so much fun playing with the textures and getting it spot on!
The magic of lighting, probably my favorite part combined with the shaders. It is sort of mysterious in a way that you need to replicate real world physics, but sometimes need to cheat a bit because you’re in a game engine.
This is the other big aspect of this project, it wasn’t only to drool over those wheel rims in real-time (ok..ok a little), it was a way to test a closed environment lighting. I have always built archviz environments with UE4. So basically the Dir.Light + Skylight (with or without HDRI). But this time, no sun, nor skylight. I studied the reference images and checked the placement of the spotlights in real world.
Started with a 3-point light placing in mind, and slowly placed several spotlights on both top sides, almost like an arena, built lighting, and results were not bad to be honest. I had this nice area of light, and black backdrop. This scenario could have worked well with some nice volumetric lighting, but since I went for a wind tunnel facility, I added white neon lights on top. Built the lighting, and got this result that I really liked giving it some aerodynamics.
Can you talk about the possibilities of running this kind of model in an interactive game environment?
That I’d love to try! I didn’t go any further in terms of rigging the car and testing the controls, but it something definitely interesting. I do not know of any racing games made with Unreal Engine, and I’d love to see some but I think there are many technical aspects that have to be considered to have a “true” feeling of the car in-game.
Concerning polycount, well I do try to be careful, especially in real-time. It’s hard to say for this project, because I’m all about visual at first as I’m more of an archviz artist (you can cringe at what’s coming). Throwing a 300K poly wheel rim isn’t the best in terms of optimization, but this was purely showcase.
Using Unreal Engine 4
Unreal has become very popular among artists. Great community, great support. If you find yourself in difficulty, you can always look up in the forums to find your solution. It takes a bit of time to get used to it, especially if you have never used a game engine.
Main advantage of UE4 is that it makes a big change to the classic renders, you can visualize much better your product in real-time and it’s somewhat way more fun. It’s relatively user-friendly and you can find a lot of tutorials. It has this mysterious aspect that you always want to push further and discover the true power of it.
For the disadvantages, there are quite a few also, it all depends on what you want to do and the amount of time you have. It’s definitely worth spending time on UE4, but don’t get discouraged by the errors you will encounter.