.
Renderer
- Improved PBR (Physically-Based Rendering) and SSR (Screen-Space Reflections) materials:
- Added full support for DirectX 11.
- Migrated from the add-on format to the core material libraries. Instructions on how to upgrade your projects can be found here.
- mesh_pbr_base is the default material moving forward.
- Improved detection of AMD GPUs.
- Increased Visualizer performance.
- Fixed crashes with AMD video driver under Linux.
- Implemented smooth transitions between LightWorld shadow splits on PBR materials: render_use_shadow_lerp console option (enabled by default).
IDE Integration
Improved IDE integration: introduced solution and improved project files for Visual Studio (2010 / 2013): engine, plugins, main application (can be found in source/engine folder).
XCode project for the engine has been updated as well.
Additionally, SDK Browser now generates IDE-friendly C++/C# projects (see below).
World Management
- Fixed incorrect placement of WorldLayer nodes.
- Fixed crash on nested WorldLayers import.
- Added configurable debug logging for data streaming via console variables:
- world_log_async (0 - disabled; 1 - log loading/unloading; 2 - log all actions)
- filesystem_log_async (0 - disabled; 1 - log loading/unloading; 2 - log all actions)
GUI
- Fixed incorrect tooltip size on window resize.
- Fixed image scale defined in rich text tag.
- Fixed "show" callback defined in .UI file.
- Fixed memory leak in WidgetCanvas::setPolygonImage.
- Fixed incorrect click handling with GUI_ALIGN_OVERLAP flag on.
- Fixed black rectangles under tooltips.
Sound
- Fixed crash on audio playback from video (OGV) files.
- Fixed incorrect timing on repeated sound playback.
Editor
- Added "Import" main menu section, "Node File Reference" and "Node File Contents" items were moved there.
- FBX import plugin has been integrated into the editor core: "Import -> FBX File".
- Added "Import tangent space" option on FBX import.
- Added an option of merging multiple static meshes from FBX file into a single mesh.
- Fixed crash in FBX import if it was canceled after we selected an FBX file.
- Removed annoying prompt during FBX texture import, now default textures from core.ung will be used for missing textures.
- Added an option of choosing a workflow for the physically based materials (if any) on FBX import.
- Fixed root material & root node name import from FBX files.
- Greatly increased performance of surface selection.
- Added selection of a mesh file and "Reload" button for DecalDeferredMesh nodes.
- Fixed undo of assigning a physical body to an object.
- Fixed crash on material modification undo.
- Fixed loading of world scripts located in extern_path folders.
- Fixed wrong placement of objects contained in a NodeLayer on import.
- Removed "system_editor" option from unigine.cfg: "-extern_define EDITOR" argument is required now.
- Implemented code framework for asset browser system (without UI yet).
- Fixed bug with mouse pointer on terrain editing.
- Fixed merging of material library hierarchy in the Node Export plugin.
- Fixed creation of rudimentary .world_ files after "File -> Save World As" operations.
- Fixed black rectangle bug after closing the rendering settings window.
- Fixed crash with painting by a mask or diffuse+mask on missing materials.
- Removed obsolete file formats (sanim / smesh / spline) from file dialogs.
- Fixed crash on undo and exit from terrain editing mode.
- Animation play/pause works for multiple selected objects.
SDK Browser
- Added support for upgrades of SDKs, add-ons, demos and projects.
- Added customization of options for "Run" and "Edit" buttons of the projects.
- More compact notifications view.
- Added check on available disk space before downloading components.
- Windows installer can also install runtime for both VS 2010 and VS 2013.
- Added support for running add-on demos.
- A lot of minor bugfixes.
- Usability improvements all over the place.
- Added generation of C++ / C# projects (for Visual Studio, XCode and GNU Make) into Projects -> Create New Project.
Other Changes
- Increased build speed (x2-x3 boost) on Windows thanks to the precompiled headers.
- Increased maximal number of UnigineScript namespaces from 65536 to 262144.
- Exposed WorldIntersection, WorldIntersectionNormal, WorldIntersectionTexCoord classes into the C++ API.
- Adde ObjectMeshClusterPtr::setMeshTransform(int num, const dmat4 &transform) into the C++ API.
- Fixed flickering settings window in the GLAppQt sample.
- Removed Sixsense plugin due to the dropped support of Razer Hydra by the vendor.
- Fixed crashes on loading x86 engine plugins under x64 Linux.
- Removed -d command line argument from Archiver.
- Fixed AppWall configurator under Linux.
- Fixed resetting of ObjectParticles simulation on disabling/enabling in the Tracker.
- Fixed crash on adding new MeshSkinned animation parameter in the Tracker.
- Forced visualization of the bones in the Kinect 2 integration samples.
- Restored Windows XP compatibility.
Documentation
- Updated the Execution Sequence article.
- Updated the Memory Management article.
- Updated the Setting Up Development Environment section.
- Updated the Rebuilding the Engine and Tools section.
- Added the SDK Browser Projects article.
- Added articles on the following add-ons:
- Updated articles on the following objects:
- WorldLayer
- Sky
- Water and WaterMesh
- Grass
- Updated the following tutorials:
- Added the article on the Resource tool.
- Added the Matrix Transformations and Basic Object Movements articles.
Experimental Features to Come
This SDK update is a Release Candidate for final 2.0 release, but there are still some exciting features in the upcoming release version, including:
Improved Anti-Aliasing
Temporal AA is currently in developement, improving not only still images but also dynamic scenes. The goal is to get full-scene AA faster than with MSAA.
Editor integration into a Qt application
The goal is to provide better usability by migrating tools to Qt widgets (native look and feel, fast) and speed up the development process (so users will get more polished features faster). During the transition period there will be a hybrid UI: old windows with Unigine GUI and new UI elements based on Qt widgets.
Stay tuned for the release!