Jump to content

Unigine SDK 2012-03-30 (BETA)


photo

Recommended Posts

This is a beta version, stable SDK will be available for download next week (there will be some more demo content added also).

 

Render:

  • Added mesh_overlay_base material, which is very useful for creating procedural rust or moss on objects.
  • Optimized assigning materials to object surfaces.
  • Fixed video playback in 3D stereo mode under DX11.
  • Added 'MaxShadowSplit' option for all surfaces to skip some of higher shadow splits of LightWorld (can be useful for small objects like stones etc).
  • Fixed crash on render_manager_reload console command.
  • Environment cubemap texture doesn't use SRGB format anymore.
  • Added configurable blending modes for terrain materials. Now one can disable rendering of material or select two different blending modes: the old ine is called "overlay", the new one is called "overlap". Each terrain material has a "value" and a "threshold" parameters for overlap configuration. Overlap terrain material isn't triplanar mapped.
  • Additional noise transformation parameter for sky volume clouds.
  • Improved performance of dynamic vertex/index buffers on open source drivers in Linux.
  • Support of vertical synchronization in Linux.
  • Render checks the EXT_texture_compression_s3tc availability on startup (Mesa driver doesn't support this extension because of legal issues).
  • ObjectGrass, ObjectMeshClutter and WorldClutter have functions to change mask image, realtime mask editing is available now.
  • Changed fade post-process: fade color is a normal color with blending in the alpha component, there is no fading when the alpha values is zero. Full fade is when alpha value is one.
  • Increased default shadow bias and slope parameters for light sources.
  • Separate diffuse and specular color multipliers.

UnigineScript:

  • Correct ExternClass variables casting on inter-script calls.
  • Added inter-script calls sample: systems/system_00.
  • Added more samples on WorldExpression usage: worlds/expression_02, worlds/expression_03.
  • Configurable splash screens in core/scripts/system.h.
  • "using" keyword searches namespace in all parent namespaces up to the global one instead of looking only in the global namespace.
  • Increased the number of available namespaces to 65536.
  • WorldExpression calls __constructor__() and __destructor__() functions for correct initialization and shutdown.
  • EPSILON and NULL definitions are removed from Unigine::Skinner blocks.
  • Widgets::Dialog is placed in the external Gui, if it's available.
  • Improved interaction of Widgets::Line and Widgets::Track.
  • Added Widgets::Time class for time manipulation.
  • Added Widgets::DialogMaterial, DialogProperty, DialogNode dialogs.
  • Improved functionality of engine.world.isNode() and other similar functions, they can receive both object identifier and object pointer.

GUI:

  • ObjectGui and ObjectGuiMesh takes into the account frustum assymetry for calculation of mouse coordinates.
  • Default iFPS value for WidgetSpriteViewport and WidgetSpriteNode is changed to 0.0f (so it is updated with render FPS).
  • Fixed infinite update of WidgetSpriteViewport when the iFPS value is low.
  • Fixed incorrect vertical flipping of WidgetSpriteMaterial widget.
  • Fixed gradient texture calculation algorithm in Flash.
  • Added Widget::set[get]MouseCursor() functions to correct cursor switching across multiple GUI systems.
  • Added Widget::getParentGui() function to access parent GUI object.
  • Fixed crash inside the WidgetComboBox when the scroll space was very small.
  • Fixed texture and text arrangement for WidgetTabBox, WidgetListBox and WidgetTreeBox.

C++ API:

  • Fixed crash on multiple Unigine::removeExtern*() invocations with the same argument.
  • Added ArrayMap::Iterator class to enumerate all elements.
  • Added Variable::getTypeInfo() function which describes variable content in details.

UnigineEditor:

  • Added Tracker system (see details below).
  • Added mask editor for ObjectGrass, ObjectMeshClutter and WorldClutter.
  • Added 'create mask' button for ObjectGrass, ObjectMeshClutter and WorldClutter objects.
  • Added random seed for WorldCluster generator.
  • Added custom terrain brushes.
  • Automatic generation of terrain coarse compressed textures when source textures are placed in the "uncompressed" folder.
  • Fixed terrain lightmap grabber.
  • Added PlayerPersecutor node support.
  • Removed "Activate" button from PlayerDummy node, use camera window instead.
  • Added missing icons.
  • Changed default world settings.

Other:

  • Added new samples with fast distant vegetation for flight simulators (samples/materials/leaf_02).
  • Added city rendering sample with occluders (samples/stress/occluder_03).
  • Renamed Node::set[get]Data into Node::set[get]Variable. Old "data" is a simple string (stored in world and save files) now.
  • Changed user data path for Mac OS X projects: home_path + "Library/Application Support/" + project_name.
  • ObjectGrass, ObjectParticles, ObjectMeshCluster, ObjectMeshClutter and WorldClutter can be stored inside NodeDummy while intersecting with parent geometry on generation stage.
  • Fixed wrong boundaries of NavigationMesh after world loading.
  • Fixed path route optimization inside of a NavigationMesh.
  • Added Maya 2012 plugins.
  • All empty XML nodes are removed automatically from the world files.

Tracker

 

Tracker is a keyframe-based tool for creating sequences animated over time, which allows for adding dynamic gameplay elements or making in-game cinematic cutscenes. It gives developers ability to:

  • Easily create key frames for all nodes in the world, as well as in-game cameras and render settings.
  • Set up day-night shift and weather conditions change.
  • Switch between the cameras, change field-of-view on the fly and play sounds for creating stunning cinematics.
  • Animate interactive objects in the game, for example, lights, doors and platforms.
  • Apply post-processing effects such as deapth of field, HDR, motion blur and color filtering. All these effects can be fine-tuned for each camera view.
  • And much more.

tracker.png

 

Moreover, Tracker interface supports for saving and loading of created tracks, custom loop ranges, key clonning and snapping, as well as playback speed control. Createing a key is as easy as a single mouse click, after the node has been manipulated in the editor.

Read more in the documentation: UnigineScript / High-Level Scripts / Unigine::Tracker.

 

Download links

This is a beta version, stable SDK will be available for download next week

 

All files can be found in "Downloads" section of the portal: https://developer.un...ileserver/index

Link to comment

Ive been having some fun playing with the BETA, particularly the Tracker. A few issues ive noticed with the Tracker, but understanding this is a BETA, so wont be too critical.

- no undo a change in position etc

- will it be possible to load multiple saved tracks? as the GUI will get very cluttered.

- an out of range behaviour would be good

- will there be anyway to draw splines in 3D world rather than just in the tracker?

 

I look forward to the final release with some demos.

Link to comment

https://developer.un...lesystem-issue/ doesn't appear to be fixed in this release. As manguste declared this as fixed several weeks ago I would assume it was in this release. Can you confirm this so this issue can be resolved. Thanks.

 

It's not 'render_manager_reload mesh' related problem, so fixes are valid. Please read this topic for solution: https://developer.unigine.com/forum/topic/1094-saving-mesh-creating-node-from-mesh-and-filesystem-issue/

Link to comment
×
×
  • Create New...