Volumetric fog and rendering updates!
4.16 Preview changes that can be interesting to arch-viz artists:
- Vertex & Texture Painting on Static Meshes has been overhauled to improve usability.
- Animation Modifiers are a new type of class which allow developers to apply a sequence of actions to a given animation sequence or skeleton. They should always implement OnApply and OnRevert to allow modifying data and remove previously applied changes.
- Accessing Animation Modifiers is done through a new tab in the skeleton and animation editor.
- A new set of functions to access specific animation data has been added, they’re contained by a new editor-only function library (Animation blueprint Library).
- The ‘Look At’ node has been improved to be usable relative to a bone or socket.
- Capsule collision can now be imported from an FBX file. You now use the ‘UCP’ prefix on a capsule poly mesh, and it will be removed on import, and replaced by a corresponding capsule collision shape.
- Animation Export improvements support run-time retargeting results and animation that applies Post Process Graph.
- Volumetric Fog is now supported.
- Volumetric Fog controls are on the Exponential Height Fog Component.
- Localized fog density can be controlled via particles. To do so, create a Material, set the material’s domain to Volume, and apply it to a particle emitter. The volume material describes Albedo, Emissive and Extinction for a given point in space. Albedo is in the range [0-1] while Emissive and Extinction are world space densities with any value greater than 0. Volume materials currently only work on particles, and only positions inside the particle’s radius are valid.
- Each light has a ‘Volumetric Scattering Intensity’ and ‘Cast Volumetric Shadow’ setting. (fast-changing lights like flashlights and muzzle flashes leave lighting trails. Disable volumetric fog contribution on these lights with ‘Volumetric Scattering Intensity’ set to 0)
- 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 if ‘Cast Volumetric Shadow’ is enabled.
- A single skylight, with shadowing from Distance Field Ambient Occlusion if enabled
- Particle lights, if ‘Volumetric Scattering Intensity’ is greater than 0
- Supported lights include:
- Not currently supported:
- Precomputed global illumination
- Shadowing of Stationary skylights
- IES profiles and Light Functions on point and spot lights
- Shadowing from Ray Traced Distance Field Shadows
- Shadowing from the volumetric fog itself
- The GPU cost of Volumetric Fog is primarily controlled by the volume texture resolution, which is set from the Engine Shadow Scalability level. Use ‘profilegpu’ to inspect this cost.
- Distance Field Lighting has been optimized for current generation consoles and mid-spec PC.
- The Global Distance Field is much faster to update when a Movable object changes.
- New project settings ‘Eight Bit Mesh Distance Fields’ and ‘Compress Mesh Distance Fields’ which significantly reduce memory requirements when enabled
- Runtime cost has been reduced between 30-50%
- Mesh Distance Field generation uses Intel’s Embree ray tracing library, for a 2.5x speedup
- Vertex Interpolator nodes have been added to the material graph. These nodes offer better control for value interpolation between vertex and pixel work. These are intended as a workflow improvement, there are no changes to interpolator limits nor will shaders change. The feature is compatible with Customized UVs and will pack results together.
- Post processing now supports Image-based (FFT) convolution for physically realistic bloom effects in addition to the existing bloom method. This new post processing feature is designed for use in cinematics or on high-end hardware.
- Image based Convolution adds new control parameters to the existing Lens | Bloom section found in Post Process volumes.
- In using a new texture to serve as the kernel image, it is important to ensure that the full image is present on the gpu and available at full resolution. Two settings are required to ensure this:
- Mips Gen Setting should be set to NoMipmaps
- Texture option Never Stream should be selected.
- Color Grading improvements include polished UI, a new HSV mode, dynamically changing the min/max value of sliders using Ctrl+drag, and a new Reset button.
- The Asset Audit Window, built on top of the experimental Asset Management Framework, can be used to audit disk size, memory usage, and general asset properties for many assets at once. It is a specialized version of the Content Browser, and can be accessed from the Window->Developer Tools menu, or from the right click menu in the Content Browser or Reference Viewer. Once you have opened the window assets can be added using the buttons, and platform data loaded out of cooked asset registries can be loaded using the platform drop down.
- Updates to VR Mode’s UI and interation include a new asymmetrical controller setup where you can change which controller has the interaction laser in Editor Preferences > VR Mode, and an updated Radial Menu with access to all major editor features and UI panels. Additional updates include smoothed interaction lasers and improved teleportation.
- VR Mode now has access to the Sequencer Editor
- Physics simulation is now possible in VR mode
- Shot enhancements include pre/post roll and hierarchical bias.
- UI enchancements include re-sizable tracks and audio thumbnails now render the peak samples with an inner RMS curve
- Material Parameter Collection Tracks have been added
- Various minor improvements including Binding Override improvements, additional event receivers on Level Sequence Actors, event ordering, and more.
- The new Unreal Audio Engine is available for testing on PC, Mac, iOS, and Android. It is not enabled by default in 4.16 as there is continued work on implementing backends for console platforms, Linux, and HTML5, as well as stability and performance improvements, especially on mobile platforms. It is enabled for each platform by changing the AudioDeviceModuleName ini setting in the platform’s Engine.ini file:
- For PC, in WindowsEngine.ini set AudioDeviceModuleName=AudioMixerXAudio2
- For MacOS, in MacEngine.ini set AudioDeviceModuleName=AudioMixerCoreAudio
- For iOS, in IOSEngine.ini set AudioDeviceModuleName=AudioMixerAudioUnit
- For Android, in AndroidEngine.ini set AudioDeviceModuleName=AudioMixerAndroid
- The mobile multiview path now supports GearVR. Mobile multiview is similar to instanced stereo on the desktop, and provides an optimized path for stereo rendering on the CPU. Enable this in your Project Settings under VR, and restart the editor to take effect.