The Unreal Engine (UE4) is the core game engine developed by Epic Games, first showcased in the 1998 first-person shooter game Unreal. This week Epic releases 4.16 which is in line with their regular release schedule, but this point release includes some great new features. Not only does the new version provide some great visual advances such as Volumetric fog, but it also provide the ability to edit SubDiv geo in the VR editor live.
It is worth remembering that not only is UE4 real time but in VR that translates to 90 fps in Stereo. Epic is proving a powerful choice for VR development. UE4 is available to everyone for free, (with a selective royalty schedule). Oculus VR since October last year (2016) has offered to cover any royalty fees for Unreal Engine VR titles shipping from the Oculus Store for up to the first $5 million of gross revenue per game. This allows VR developers a virtually free platform for development as few VR games will break $5M in revenue.
Unreal Engine 4 now offers support for Volumetric Fog, affording developers the ability to have more precise control over how their environments look in order to produce stellar visuals. This method computes participating media density and lighting at every point in the camera frustum, meaning varying densities and multiple lights affecting the fog are supported.
Localized fog density can be controlled via particles. Each light has a ‘Volumetric Scattering Intensity’ and ‘Cast Volumetric Shadow’ setting. Supported lights include:
- A single Directional Light, with shadowing from Cascaded Shadow Maps or static shadowing, with a Light Function
- Any number of point and spot lights, with dynamic or static shadowing.
- A single skylight
- Particle lights
VR Mode UI and Interaction Updates including OpenSubDiv
The teleport system has been updated to improve movement around the space and more appropriately handle scale.
This works on both Oculus and VIVE.
Each Controller emits a beam called the “laser pointer” which is used to determine with which Actor you will interact. The color of the beam indicates the interaction mode the controller is currently in.
This includes OpenSubDiv (open sourced from Pixar). The Mesh Editor mode is new with OpenSubDiv modeling inside the VR experience. The Mesh Editor Mode enables manipulating Static Meshes within Unreal Editor, including using subdivision surfaces. In addition to a low-poly toolset, Mesh Editor mode adds the ability to work with subdivision surfaces, enabling artists and designers to create smooth, organic surfaces directly in Unreal Editor.
Mesh editing can be done on a per-instance basis, which only affects the mesh of the placed Actor in the level; or editing can be applied directly to the source mesh asset, propagating changes you make to all instances of that mesh asset.
Corner sharpness enables you to control how closely the subdivision surface follows the low-poly mesh at specific locations, which provides the ability to create hard edges on subdivision surfaces.
Image-Based (FFT) Convolution for Bloom
Post-processing now supports image-based convolution allowing for physically realistic bloom effects in addition to the pre-existing bloom method. In this new approach the scattering and diffraction of light within a camera or eye that give rise to bloom is modeled by a mathematical convolution of a source image with a kernel image, providing high-quality results that mimic real world lighting effects.
NvCloth from NVIDIA
To improve both performance and quality, the NVIDIA APEX clothing solver has been replaced with a lower level solution also from NVIDIA, NvCloth. This new solver gives content creators more control over simulation and the clothing asset data rather than the clothing simulation being more restricted as with the previous releases.
UE4 now always simulate clothing in local space – this gives users the benefit of only having one transform path through the solver and allows external inertia to be tweaked in much finer detail.
Animation modifiers are a new type of native and Blueprint class, allowing users to apply a sequence of actions to a given animation sequence or skeleton. A native or Blueprint Animation modifier enables the user to change, add or remove data from the animation and revert previously applied user changes. These allow for simpler modification of existing animations and provide new layers of flexibility when building content.