UNIGINE 2.14.1: Better Shading For Clouds and Water, Advanced Terrain Intersection Detection, Sandworm Tool Updates, Fox Hole Demo
- Clouds shading improvements.
- Better water shading.
- Improved intersection detection for the Landscape Terrain.
- Better rendering at screen borders including VideoGrabber and multi-monitor configurations.
- Sandworm Tool updates.
- Fox Hole demo: now for all SDK editions.
In this hotfix we resolved a number of issues introduced in 2.14 and made some improvements as well. We’d like to thank you for your valuable feedback helping us make our product better!
Clouds Shading Improvements
We have revised clouds shading adding more correct anisotropy calculation. Higher anisotropy values result in more light passing through the clouds without being scattered in various directions. The higher is the value the brighter the cloud will be when we look at the sun and the darker it will be when being looked at in the direction of the sun rays (from the sun).
A number of new parameters were added to the Shading group of the clouds_base material replacing some of the old ones.
The list of other improvements includes:
- Fixed flickering of transparent objects (Alpha Blend) having the Overlap option enabled, in case there are clouds in the scene and clouds sorting enabled (Transparent Order option is set to Sort Transparent).
- Fixed clouds interleave blue_noise reducing noise artefacts; reconstruction artefacts on geometry edges caused by clouds; as well as clouds reconstruction depth threshold scaling removing artefacts on clouds along the horizon.
Better Water Shading
We have significantly improved the Fresnel formula and the implementation of the law of conservation of energy for water shading. Thus, the diffuse component will be almost imperceptible at the horizon, while the reflections in the area will be brighter.
Advanced Intersection Detection for Terrain
We have significantly improved intersection detection for the Landscape Terrain. Along with a set of optimizations the algorithms have changed.
We have improved the algorithm of bicubic filtering with optimized data reading operations on CPU. Bicubic filtering is now controlled per Landscape Layer Map.
Intersection detection algorithm has become faster and much more accurate. The End Precision value is removed as the updated algorithm now always converges to a finite and accurate solution.
Intersections for rays cast from under the terrain surface are now detected properly. There'll be no false-positive intersection detection for rays cast perpendicularly to the terrain surface and no more false-positives along the edges of layer maps. Collision and intersection detection for the Landscape Terrain with insets using opacity masks now works the same way regardless of blending type Additive or Alpha Blend.
Please check the API Migration Guide for the list of related API changes.
Improved Rendering at Screen Borders
Render border, additional part of the image to be rendered outside the bounds of the screen to reduce artefacts of post-effects, now works correctly in the Video Grabber as well as in multi-monitor configurations.
Other Rendering Improvements
- Reflections on a surface with maximum roughness are now equal to ambient lighting when using lightmaps as well.
- Fixed an issue with ignoring the Minimum Frames By Velocity parameter of TAA making the result of anti-aliasing much better in case of slow camera motion.
- You can now override albedo color of the surface for the process of light baking for fine-tuning. Simply check the new Override Albedo Color for Baking option of the mesh_base material and specify the desired override color in Parameters.
- Fixed rendering artefacts caused by batching of surfaces in the process of alpha fading (making draw call batching for these surfaces temporarily unavailable until they fade in completely).
- Fixed incorrect fading of shadows cast by Mesh Cluster/Clutter elements, when the Distance Scale is greater than 1.
- Fixed water velocity buffer removing related rendering artefacts for all effects using it.
- Incorrect color modulation for Voxel Probes with the Use Sun Color option enabled, making the final result too dark, is fixed now.
- Fixed an issue with disabling anisotropy caused by ObjectLandscapeTerrain streaming.
- Fixed an issue with center alignment of spheres of the Voxel Probe visualizer when scaling the probe.
- SSAO Intensity Reflection and Intensity Lighted Side parameters are unbound from the SSAO Intensity value. So, you can now reduce unwanted reflections using SSAO without making the diffuse lighting too dark. This is especially important for lightmaps as they already contain correct diffuse lighting.
Other Engine Improvements
- The emitter’s normal vector is no longer taken into account when calculating directions for particles generated by a Random emitter. You can now randomly spawn particles on a surface of a mesh to be spread horizontally along the mesh triangles.
- Fixed a "Variable might not have been initialized" error generated by the Map::take() method.
- Updated C# API for the Syncker plugin as per 2.14.
- Fixed a deadlock related to Materials Manager causing UnigineEditor freezes on reloading materials.
- Fixed an issue with incorrect behavior of the Intersection option of the LandscapeLayerMap.
- You can now set a filtering type to be used for image downscaling performed for LODs of the specified file data type of the Landscape Terrain when creating a new layer map.
- Fixed an issue with nodes sorting in the Landscape::getExtremumHeight() method resulting in disappearing fragments of the Landscape Terrain at certain angles depending on the loading sequence of layer maps.
- Fixed an issue with unnecessary GPU check on windows in case of running the Engine with no rendering (-video_app null), no attempts shall be made to load the dxgi.dll file in this case.
- Added cleanup of the World‘s list of update nodes on the first frame.
- Combine by Postfixes import option is now available for skinned meshes, so now you can import an FBX-file merging skinned meshes without losing bones.
- Added Dynamic Reflections section to the Settings window.
- When importing a package, you can now force-include all dependencies for selected assets (textures used by a material, materials assigned to an object, etc.), simply check Force Import Dependencies in the Package Import dialog.
- Fixed viewport notifications (Bake Lighting and Shaders Compilation) on Linux, they are now displayed in the viewport the same way as on Windows.
- Fixed incorrect offset of icons in the Tracker tool UI.
- The Fade Color parameter is now available in the Color Correction section of the Settings window.
- Added Borderless Window mode for the application window settings in the Project Build tool.
- Fixed an issue with cloning a LightVoxelProbe resulting in resetting the Bake Quality parameter of the clone to Draft.
- Fixed an issue with the delete queue processing that sometimes resulted in crashes.
- You can now edit 2D Curves with no keys (particularly useful for properties).
- Fixed an issue with 2D Curve manipulator update sometimes resulting in splitting of curve lines.
- Removed freezes on estimation of disk space required for cache and generation. The estimates have become more correct now.
- Reduced the impact of the current zoom factor in the Export Area on the UI performance.
- Added culling for layers having no data within the Export Area making the process of generation faster.
- Added an ability to generate preview on demand instead of auto-generation as well as an ability to cancel preview generation at any time. This is especially useful for large data sources like jp2 to avoid freezes and save time when preview generation is not necessary.
- Fixed an issue with incorrect saving of the Export Area when a TMS layer is selected.
- Fixed a crash on an attempt to use invalid TMS data sources.
- Fixed an issue with setting a world currently opened in the UnigineEditor as an Output World for landscape generation.
- Fixed an issue with excessive memory consumption on loading ECW data sources.
- Fixed an issue with the tool hangs on removing data sources from the hierarchy caused by the preview image generation.
- Fixed updating of masks for Grass after re-generation.
- Fixed memory leaks on generating an ObjectTerrainGlobal.
- Fixed visible seams between the height and albedo tiles on the surface of the generated Landscape Terrain.
- Fixed seams on the surface of the ObjectTerrainGlobal generated with custom Quality parameters (density).
- Fixed an issue with partial skipping of roads in the process of Landscape Terrain generation.
- Fixed incorrect interpretation of heights data for high-density insets (1m/px).
Fox Hole Demo Available In All Editions
Introducing updated Fox Hole archviz demo for everyone. Main changes are greatly improved performance and a lot of small visual improvements.
New Excavation Sample
The CPP Samples suite now has a new Excavation sample demonstrating destructive runtime Landscape Terrain modification performed by using a tractor grader. This modification is implemented by changing the underlying textures of Landscape Layer Map.
Added a new ultrashort HowTo quick tip video on deleting unused assets from the final build in English, Chinese, and Russian:
Other Documentation Changes
- Added more autotranslated articles to Chinese and Russian versions of documentation.
- Updated the section on the Sandworm Tool.
- Fixed a number of issues in the docs based on your feedback.
- The complete list of API changes is available in the API Migration Guide.