Posts

Showing posts from February, 2019

AAA Games That use Unreal 4

Image
Dragonball FighterZ (Arc System Works) Dragonball FighterZ is a fighting game based on the DragonballZ anime. Despite the at a glance 2D appearance of the game it actually uses 3D models with the use of advanced shaders to recreate the anime look of the show. The models on their own look fairly bland with a few black lines present in the texture work being the only thing stopping the model from looking completely flat. However, in game with the cell shading and other shaders enabled the models really spring to life with dark shadows accentuating the look of the characters as well as the shader drawing the important black outlines around the edge of the character. The scope of the game means that the developers at Arc System Works had more control of how things are presented. Being a single plane fighter, the developers didn’t need to worry about the lighting interacting strangely with the shaders as the camera is almost always in the same Y axis. That being said the adherence t...

Blueprints

Image
Blueprints Blueprints are a system in Unreal that allows the user to link logic together to create functions in the game, essentially shorthand code.Blueprints are great in some respects, for someone like me who doesn’t know any coding language they allow me to create complex systems with relative ease. However, they do have their drawbacks specifically in terms of their speed. Blueprints are slower than a well optimised C++ script. Blueprints can be told to run every tick, which roughly translates to every new frame, a slow script running this frequently is going to cause performance issues. This graph shows the per tick that checks and processes Fornite does to update the animation significance manager with new information. The top shows the script as a blueprint and the bottom shows the script converted to C++ code. The Blueprint almost takes a whole millisecond to perform whilst the C++ takes just under 0.2 ms.

UE4 Environmental Builds

Image
Forest Build https://www.youtube.com/watch?v=FzoY062kY1s This forest is more focused on the presentation rather than making an interesting level for the player to explore with the environment consisting of a straight corridor. However, this small focus results in a very good-looking scene. The materials used are of a much higher level than I am used to with a lot of different nodes and displacements blending multiple textures together naturally as well as providing the illusion of depth.  Foliage is dotted around naturally via the use of the brush tool. The foliage tool is even used for things like twigs. Atmospheric fog is used to allow the lighting to bounce around the environment realistically as well as adding a slightly damp and foggy atmosphere to the scene. The modelling of all the assets used is well done too. Interestingly the designer creates the main pathway in maya rather than using the landscape tool. This is so he can have more control on how the textures...

Flag Physics

Image
Cloth Physics Flag/misc - https://www.youtube.com/watch?v=kjOq8OB_3AQ This tutorial shows how to turn a plane into a cloth and allow a wind actor to effect it. I have managed to replicate this process albeit with some changes due to an issue I encountered when importing an FBX import from 3dsmax. This tutorial briefly shows Unreal 4s ability to distinguish separate elements of an imported FBX file. Within a single mesh. In the tutorial the flag and pole both have their own individual material slots respectively to put different textures in. However, for reasons I can’t explain the FBX I exported from 3dsMax did not distinguish between the flag and the pole when imported into UE. This not only gives me a single material slot but also means I cannot select the what should be 2 parts individually, meaning that the cloth modifier and cloth paint process would affect both the flag and the pole. I attempted to resolve the issue by attaching polys orders and grouping them in dif...

Anti - Aliasing

Image
Aliasing is when jagged lines appear on edges of objects when displayed on a screen. Anti - aliasing is the post process where the engine attempts to mitigate the jaggy-ness of these edges. There are multiple different anti-aliasing solutions out there each with there own level of effectiveness usually proportional to the amount of performance resources they use. Unreal 4 uses FXAA which has a low cost on GPU resources but isn’t as effective as other solutions such as MXAA. Anti - Aliasing OFF Anti - Aliasing ON

Dynamic Resolution

Image
Games are highly variable by nature with different scenarios having different le vels of visual and behind the scenes complexity. One area might be large with very few moving parts such as enemies or NPCs and another might be a compact area with a huge amount of logic running underneath the bonnet. This variability can make it hard to optimise the game. Why compromise on the visual quality of the entire game to keep steady performance when only a few select areas or situations would benefit from visual downgrades. Dynamic resolution attempts to partially solve this issue. The resolution is the number of pixels the game renders and displays on the players screen, the more pixels the higher the performance cost. 1080p is currently the standard resolution with 4K being supported more and more as time goes on. Dynamic resolution lowers the pixel count to decrease the performance cost based on data the engine pulls. Different engines have different approaches ...