How to make Virtual, Real - Using Unreal PBR Mat. System

Hi there, today I want to bring a very important theme about computer graphics and of course games: GRAPHICS!

This is a series of posts as a DevBlog of the development of VRMonkey’s new project: Minerva Labs! Check the previous blogs here and see our progress on this following video:

I still remember booting up my first Creative SoundBlaster 16 Media Kit with CD-ROOM! Seeing the graphics from the games that came in the Demo disk from the Kit were amazing! I believe most of the guys from that time said: "OH MY GOD! This is so close to reality!". And I played that Cyberia game as crazy for countless hours.

Computer graphics are amazing. Who doesn't remember watching Jurassic Park in 94? For the first time dinosaurs did not look like rubber toys. They moved and sounded real (even if the Roar of the T-Rex was basically a crazy sound mix), the interaction with the light and the environment is amazing. I got in love.

And when playing some games, I realized that some 3D graphics were very polygonal. It was easy to see cubes trying to represent things in that first generation, bodies were like triangles all together almost creating an impression of a human. Sometimes it was much easier to create robots. Honestly, I loved Quake, but it took me year to understand where was the head of the models.

Then someone came to me and told me the difference, pre-rendered movies or images versus real-time computer graphics. The first could take HOURS, sometimes days to create the 3D perception, calculating lights and achieving a much greater quality. The other had to squeeze all the processing power from computers to put that model alive and reacting in the monitor. Did not take long to people realize how great would be to create better real-time graphics. It was back them when Intel released the MMX, a set of instructions for Multi-media and the first 3D Accelerated Graphics Processors Units started to appear (R.I.P. 3Dfx Voodoo).

Generations have passed, and graphics power and quality has improved a lot. Really, I mean A LOT! We can now achieve photorealistic real-time interactions, games that makes you doubt if we are watching a movie or playing a game. Luckily, we now have access to tools that not only make it possible to create these results, but also fast and FREE! (I love this word)

Yes, that is right! FREE (as in Free Beer). For the ones who are artists, 3D modelling has became much affordable, at least for Students, since Adobe has released both 3DStudio and Maya for free. Not an student? Meet Blender, an amazing and very complete open-source 3d modeling tool, to be real Blender has a different approach that makes many modelers to complaint about it, but the truth is that if it is used properly it can create movies as this one (Next Gen):

Now, to put all these models in action: moving, jumping, running, the best way (IMHO) is to use a game engine. Today we do not need to write a graphic engine from nothing, using basic APIs such as DirectX or Open GL as many have done in the past (myself included). Of course, many have heard about Unity3D, a free to use game engine that made thousands of fans. It is easy, simple, light and has a tremendous community supporting it.

But I will talk here about Unreal Engine (or UE4). The fourth generation of an engine that was initially the core for the Unreal game (1998), a FPS sci-fi alien shooter (a great game from back on the day, special attention to its AI for bots, unique at the time). After that, Epic Games (owner of Unreal Engine) started to licensing its engine to many studios, really MANY studios, but the price was high, only AAA studios could afford to use such high-quality engine. Then, Unreal Engine 4 started to be available as a subscription (15 US$ per month) and suddenly at GDC 2015 it turned out to FREE.

Free in all aspects. Not only you can download the Engine and use it to produce, games, animations, interactions and wherever you want, but you can also download the SOURCE CODE of it. Well, in fact Epic takes a cut of 5% royalty on gross product revenue after the first $3,000 per game per calendar quarter from commercial products. One of the most amazing things when I saw Unreal engine was the way reflections and all the objects reacted to the light in the environment (Unity 4 has added that as well), which later I understood was the PBR Material System, Physics Based Render.

This new Shading model allied to very new complex Global Illumination algorithms has made Unreal Engine one of the most powerful render engines available nowadays, so much that many Architectural designer have been using it to show their Digital Blueprints and to put life in environments. For those who are unfamiliar with GI (Global Illumination) the simple explanation is not only process the light as it hits the objects, but also to process the lights that bounces out of the objects. For instance, an apple is shiny red, if a sun ray hits it, you will see a red shade on a wall next to the apple.

But, how to create such amazing scenes? This is all possible due the Material Shader editor of Unreal. If you want to take the fast route and try it first you can download the Content Examples of Unreal to check some amazing things that can be easily done with Material and Blueprints or just create a new project on Unreal adding the Starter Content Pack, which has a lot of basic materials so you can already try.

Not happy? You can access the Unreal Academy and have thousand of lessons of how to work your ways into the Engine. I must say, to learn everything can take some time, like months :P. And when you have done, more features will be available, so you can learn more! Yay!

There are some tools that help a lot to design very complex materials. These guys are not free, but they sure pay their price when you want to achieve that “next-level” on your productions. One of them is the Allegorithmic Substance, just take a look on their website and you realize this a tool for grown-ups. One thing that is nice is that Unreal works with Substance our-of-the-box, having plugins and demo projects, also Unreal Studio (a more enterprise focused version of Unreal) gives more than 100 Substance Materials for FREE!.

The other one tool that has a special place in my heart is the Quixel, just a quick look on the quality of the Megascans or the HUGE Material Library (also ready for UE4) that they have available is already an eyesore. But them you can use it on Photoshop to design your own amazing textures, your previous texture will look dull.

Hope you guys have enjoyed this post, in next one I want to talk more about animations and Marketplace, a smart way to expend money when doing projects. Of course, you will be able to see everything I am talking here at the Minerva Labs!

For more complete information about compiler optimizations, see our Optimization Notice.