This page has been translated automatically.
Recent news:
Table of contents:

Improved data streaming, KeyLine and new upgrade system

What's new:

  • Smart data streaming: textures shows 64x64 mipmap (those miniatures are always loaded in memory) before fully loaded, meshes are rendered when loaded.
  • Separate thread for data loading, which allows smoother data loading in the background without stalls.
  • Loading queue can be controlled by a set of filesystem_* console variables.
  • Improved warming up of shaders on world loading.
  • manager_preload_* console variables renamed to render_manager_load_*.
  • New formats of meshes: static meshes store their boundings for faster preload, plus there is a more effective data compression for both static and skinned meshes (warning: you must convert your data in order to work with this version, see notes about upgrade system below).
  • meshupgrade console tool for converting all meshes into new formats.
  • Fixed light masks for LightSpot sources.
  • Refactoring of mathlib, some Fast* functions removed.
  • Correct interpolation for negative frames in MeshSkinned (also added getFrameCurrent() function).
  • Per-bone weight normalization for animation.
  • New framework for plugins.
  • MeshSkinned import plugins for 3dsMax and Maya.
  • Contact toggle for WorldTrigger.
  • Added array.find() function with two arguments in UnigineScript, returns second argument if nothing found.
  • engine.splash.renderSplash() function renamed to engine.splash.renderInterface().
  • Added addLayer() function for MeshSkinned without flushing data on other layers.
  • Added engine.memory.* set of functions in UnigineScript library.
  • Static 2D reflections (reflection_dynamic state in water_base and mesh_reflection_2d materials, static by default).
  • MeshViewer shows basis and name for bones.
  • Removed support of Intel compiler and MinGW.
  • Quadratic exposure mode for HDR (set render_hdr console variable to "2").
  • Improved class casting in UnigineScript, Foo(input).function() syntax is supported now.
  • Support of Linux 64 bit with cross-compilation (use "scons cross=x86" or "scons cross=x64" depending on base platform).
  • Versions of XML data (world, node, mat, prop, ui) can be different from this moment.
  • New data upgrade system.
  • New KeyLine system for key sequences, see "Programming / UnigineScript / Scripts / KeyLine Script" section of the manual for more information.
  • Updated C++ API documentation and reference manual.

KeyLine system handles arbitrary key sequences and takes care of interpolation between key values, providing GUI for data manipulation as well. It is a somewhat data-driven system, meta-information is stored in the XML format. Licensees can see how this system is used in new version of Tropics demo for dynamic environment control.
KeyLine GUI

We also introduce a new one-button upgrade system, see 'scripts/Upgrade' directory in the SDK. Please note that it requires updated Unigine_Externs package installed and 'Unigine_Externs/bin' in your system's PATH variable. To perform batch meshes upgrade you should simply run "upgrade.py --target=PATH-TO-YOUR-PROJECT" from the command line.

PS: Don't forget to update your video drivers to recent ones (but be aware about some bugs in OpenGL with ATI), previous version from NVIDIA was very buggy.

Build: ()