UNIGINE 2.2.1: Orbits Demo, Water Improvements, Oculus CV1, and Bugfixes
- New orbits demo
- Water improvements (bigger waves, better reflections, better underwater mode)
- Support for Oculus CV1 (consumer version)
- Introducing export to FBX
- Improved SimLights add-on
- Other improvements and minor bugfixes
This release is mostly stabization one, however, it also brings some nice features.
New Orbits Demo
The demo shows visualization of satellites' trajectories around the Earth. It features the following:
- Visualization of dynamically generated trajectories.
- Interactive satellite models.
- 3D model of the planet.
- Custom atmosphere rendering.
- Night cities lighting.
Any trajectory can be generated in real-time by means of API (this can be useful for cases based on an external data feed). This demo is available in Sim edition only.
Screen Space Reflection (SSR) technique works well for the majority of water conditions, however we decided to make water even more realistic with optional planar reflections, which can be especially useful for calm water (0-2 Beaufort).
You can enable it in the States tab of the material.
Configurable Underwater Environment
Underwater environment now looks more physically correct: environment and Sun lighting affect the underwater color, and it is also possible to add additional turbidity, that is, make the water silty or crystal clear.
Fine tuning that is possible with the following new fog parameters: transparency, color, lighting depth, environment lighting, sun lighting. DOF distance can also be adjusted now.
Accurate Beaufort Scale
Based on your feedback, we improved our Beaufort Scale, especially for violent storms.
Support for Oculus CV1
AppOculus plugin works with the latest version of Oculus SDK (1.3). It now lets you create VR apps for recently released Oculus Rift CV1 (Consumer Version) devices. Sound subsystem has been also improved to be HMD-compatible.
FBX Workflow Improvements
Export to FBX
Introducing FBX export support: you can simply export a part of the scene from the UnigineEdtior and save it to .fbx file. This provides a wide range of use cases for artists: for example, after exporting the scene you can bake lightmaps with the 3rd-party tool (e.g. V-Ray). We're positive you're gonna come up with much more!
Export button is located in the Nodes window.
Supported node types:
- Light sources
FBX Import Optimizations
- Reduced memory consumption on import.
- Improved triangulation algorithm.
Updated SimLights Add-On
- Implemented runway sample featuring different light types: PAPI, RAIL, ALS (including rabbit lights).
- Added blinking offset parameter.
- Minor bugfixes.
Fine Control for Lighting and Reflections
Added new global parameters:
- Ambient (environment) modulation, can be greater than 1.0 (useful for some dark scenes).
- Reflection modulation.
- Sky color modulation.
Added control for reflection and ambient light intensity into EnvironmentProbe. That enables you to easily convert any EnvironmentProbe either into a pure light probe, or a pure reflection probe.
Other Improvements and Bugfixes
- Added new use_taa material state for post-processes. It provides an additional temporal anti-aliasing for the post-processing effects.
- Removed delays (and a nagging splash screen) on rendering features changes; the engine now reloads shaders on-the-fly.
- Changed ObjectBillboards fade factor calculation: all billboards will be faded simultaneously relative to the surface pivot.
- render_reflection renamed into render_reflection_dynamic.
- UUSL: added support for line primitives (LINE_IN) as geometry shader input.
- Added support for panorama grabbing.
- Fixed triplanar material.
- Fixed terrain lighting.
- Fixed ObjectGUI + WidgetSpriteVideo with logarithmic depth buffer.
- Fixed clouds rendering with logarithmic depth buffer.
- Fixed viewport and reflection masks for multi-monitor setups.
- Fixed panorama rendering.
- Fixed planar reflections for forward rendered materials.
- Fixed font color modulation in gui_base material.
- Fixed alpha test dependency from parent material settings.
- Fixed saving of render_exposure_mode setting.
- Added Sounds class to handle sound output source: you can specify the playback device via code.
- Fixed sounds, they are now disabled when the applicatoin window gets inactive, or goes out of focus.
- Fixed listener orientation for Oculus mode.
- Added runtime default playback device change support, the engine will now automatically detect that.
- Added engine.app.isActive() / App::isActive method to check if the application window is active or not.
- Added public constructors to Node based classes in C# API, you can now easily create them using the "new" operator.
- Added Node::isExtern() method that lets you check whether the node is of NodeExtern, WorldExtern, or ObjectExtern type.
- Added direct access to ObjectDynamic vertex buffer.
- Added new Environment and LightEnvironmentProbe intensity functions.
- Added example of C++ class member callback.
- Other API improvements, see details in API Migration Guide.
- Added support for NodeExtern / ObjectExtern / WorldExtern nodes in Syncker.
- ObjectGuiMesh now uses streaming.
- "dynamic" flag has been renamed to "unique" in ObjectGuiMesh, ObjectMeshCluster, ObjectMeshClutter, ObjectMeshSkinned, ObjectMeshStatic, BodyPath, WorldTransformPath nodes.
- Fixed extern node serialization.
- Fixed Gui::addChild() and Widget::addChild(), those methods now will not change widget flags if you did not pass an explicit flags argument.
- Fixed Body::setContactCallback() calls with 2 arguments.
- Fixed WidgetLabel.setFontColor() on ObjectGUI.
- Fixed loading resources stored in .ung files.
- Fixed grass placement on the geodetic ellipsoid with disabled intersection flag.
- A lot of minor bugfixes and improvements.