GET UNIGINE Table of contents: Recent news: 2019-08-16 UNIGINE 2.9: C# Component System, Better Shadows, SSSSS, Dome Screens Support, Weather Add-On 2019-04-30 UNIGINE 2.8: Improved Data Streaming, Cached Shadows, Refactored Editor, Better Vegetation 2018-12-27 UNIGINE 2.7.3: Major UnigineEditor Update, Properties and Component Systems Upgrade, IG Template, Experimental Road Tool 2018-08-10 UNIGINE 2.7.2: CAD Models Import, Improved Collaboration, Impostors and Terrain Holes 2018-06-03 UNIGINE 2.7.1: Improved Voxel GI, Forced Shaders Compilation, Water Performance Optimizations, Stabilization 2018-04-26 UNIGINE 2.7: New Voxel GI Solution, Synthetic Terrain Generation, Improved Assets System, Refactored Properties, More Dynamic Environment 2017-12-22 UNIGINE 2.6.1: Improved Multi-Channel Rendering, Runtime Grass Modification, Distributed Terrain Generation, Stabilization 2017-10-20 UNIGINE 2.6: Editor2, Improved Multi-Channel Rendering, Procedural Landscape Generation, VR Template 2017-05-31 UNIGINE 2.5: Screen-Space Ray-Traced Global Illumination, Vector Roads API, Landcover Data Support, Superposition Demo 2017-03-01 UNIGINE 2.4.1: Stabilization, Interactive BIM Demo

New shadows

Recent changes:

  • High-quality PSSM (Parallel Split Shadow Map) shadows for LightWorld.
  • Stencil shadows R.I.P.
  • Only hardware shadow maps are supported now, since they are faster and consume less memory.
  • Masks for collisions and lights (by using them one can control lighting and collision detection per-object).
  • New SANIM file format for compressed bone-based animations.
  • ResourceEditor / Viewer now can play "animation only" files, loaded in addition to a skinned mesh.
  • Export of single bind pose frame in 3ds Max plugins.
  • Normalmaps are to be compressed into ATI2 format now.
  • Double-click callbacks for EditLine and EditText widgets.
  • Support of ATI R300 has been discontinued (due to too tight limit for instruction count per shader).
  • Support of NVIDIA NV30 has been discontinued (it's too old for modern stuff).
  • mesh_detail_base material merged into mesh_base (for backward compatibility there is a material with that name in "deprecated.mat" library still, but it will be removed soon).
  • Specular is always on now.
  • New alpha_scale option, which allows continious adjustment of transparency for meshes and vegetation (see corresponding sample in "materials" serie).
  • A bunch of light samples.
  • New articles in "Content Creation" section of the manual: "Static Geometry" and "Texturing".
  • Updated UnigineScript documentation.

It's sad to acknowledge, but different techniques of avoiding shadow map aliasing like LiSPSM suck, because they are unstable and produce a lot of headache with special geometry dividing. We have wasted a lot of time to get better results with them, but splitted maps seems to be more predictable and robust. Anyway even PSSM requires tweaking for a scene: there is a number of parameters (shadow map resolution, maximal distance to the shadow caster, global "shadow off" distance), plus it's important to turn on self shadowing only where it is really needed. Another good thing about PSSM is that it loads CPU less than LiSPSM did, thus it is more scalable.

Here is an example of scene with PSSM:
Parallel Split Shadow Map

A little note about collision and lighting masks. There are 32 lighting channels available, all of them can be configured to accept some light source or not, each object can belong to a lighting channel according to its lighting mask. The same is for collision masks. By using collision and lighting channels a designer obtains more control over the scene, so we recommend to use that feature (double click on a mask field to edit it in UnigineEditor).

By the way, guys from NVIDIA have recently fixed a minor driver bug, reported by Frustum, there are 4 more still opened (it seems that we are one of the most frequent reporters in their bug tracker, hehe). ATI drivers work better now, both in Windows and Linux, we aren't experiencing major problems with them for the moment.