2008-10-30
Tropics Demo 1.1
Updated version Tropics Demo is available for download. Main changes are performance boost, procedural grass and support of DirectX 10.1 multisampling features. Read more in the official press-release.
2008-10-01
1% per day
Every single day before November, 30 gives you 1% discount on licensing Unigine, so you can get a fully-capable license with 60% discount, if you are on time! Find more details in the official press-release.
2008-09-29
News on multiplayer support
Our developers have been working on a multiplayer solution in Unigine for several months now, a lot of research work has already done. We are to complete the module in 5-6 months, it will be available as a regular update for our customers.

Development Log

You can subscribe to our RSS feed.
There is also a translated LiveJournal account: unigine_devlog.
Pages: 1234567891011
2008-08-16 Link

Decals and isolation mode in editor

Recent changes:

  • Projected, orthographic and omni decals.
  • Masks and offsets for decals.
  • Added decal samples.
  • Isolation mode in UnigineEditor.
  • New "back shadow" flag for all light sources.
  • New default names for 32/64 bit libraries.
  • Spatial settings for sky material.
  • Fixed water shaders.
  • Impostors speedup.
  • MenuBox supports another MenuBoxes as children.
  • New WidgetSpinBox.
  • Fixed calling of script functions through the C++ API with external classes passed into them.
  • SDK launcher for Windows with HTML-based interface.

Our art department is reworking an old draft of tropical demo, it should be ready in September:
Water demo
Ocean waves look completely real in dynamics, unfortunately a static image can't show it:
Water demo

By the way, recently OpenGL 3.0 specification has been released, and we found that Unigine already supports its features, like geometry shaders, texture arrays and so on.

PS: There are up to 40% discounts in August for licensing Unigine technologies, so use the chance.

2008-07-29 Link

Impostors

What's new:

  • Smart dynamic impostors.
  • Capability of rendering of a single object in WidgetSpriteObject.
  • Fixed 3dsMax plugins (wrong alignments for skinned mesh).
  • setCastShadow/setReceiveShadow methods for surfaces, which allow fine tuning.
  • Support of password-protected built-in data packs.
  • Fixed selection of NodeRef by double-click.
  • New render_show_textures console variable for visualization of dynamical textures.
  • *.pak files are treated as *.zip ones by filesystem.
  • Increased precision of ObjectWater and ObjectSky on far distances.
  • Filesystem loads files in alphabetical order now.
  • A file, which is referenced by NodeRef, can be replaced by another one via UnigineEditor now.
  • An object is belong to a sector according to its bounding box.
  • Materials and properties can be set for all nodes of a multiple selection.
  • Updated Unigine_Externs pack.
  • Updated docs, added "Content Creation / Materials Overview / Optimization Tips" and "Content Creation / Level Design" articles.

Impostor is a fake 2D sprite object, which replaces a real 3D object at far distances. The engine render impostors automatically, the only thing you should do is to enable 'Impostor' flag in the node properties. There is also an 'Impostor distance' setting in UnigineEditor (see rendering settings window). It's recommended to set that parameter equal to shadow off distance or even greater to avoid artifacts. Approximate estimations of memory consumption by impostors can be found in "Content Creation / Level Design" article.

9 000 000+ polygons, 613 DIPs, 16 FPS (on 8800GT):
Impostors off
2 000 000+ polygons, 235 DIPs, 31 FPS (the same hardware):
Impostors on
FPS is doubled, resulting image is the same - this is a power of impostors!
Impostors on with wireframe

Dynamic decals are on the way.

2008-07-16 Link

Introducing hierarchy of node properties

What's new:

  • Hierarchy of node properties (read more below).
  • Underlaying material for reflections.
  • Console commands now can be created by means of UnigineScript.
  • Variables content can be accessed via [] operator, there are new __set__ and __get__ class memebers to be overloaded for [] access.
  • Adjustable precision of mesh data for 3dsMax export plugin (snap to grid).
  • Friction and restitution parameters are moved into base properties library.
  • Filesystem speedup.
  • A file inside 'data' directory can be access very fast now, if its name doesn't contain 'data/' prefix.
  • Fixed LWO format loader.
  • New format of world files: material name should be in 'material' attribute of 'surface' tag (old format will be supported for some time still; re-save world to update its format).
  • Removed 'deprecate.mat' material library, there is no more mesh_detail_base (use mesh_base instead of it).
  • Great speedup of scripts compling (it is almost 4 times faster now).
  • Fixed reflection masks.
  • Cube filtering of ambient maps.
  • Stereo launchers dynamically load DirectX libraries now.
  • Removed FreeBSD building rules due to very low demand on FreeBSD support.
  • Automatic generation of focus cycling order for UI.
  • reflection_adjust parameter for cube reflection for fine tuning.
  • Almost all memory leaks are eliminated, there are only 3 unfreed pointers left.
  • Added time.h (for correct sun position according to a given time) to the core scripts set.
  • Added sun movement into 'water' demo.
  • WorldTrigger can work with predefined set of nodes (if the list is empty, all nodes are taken into account).
  • Correct work of tabbing in WidgetEditText.
  • Simple syntax highlight in built-in text editor.
  • New ALIGN_BACKGROUND flag for separating widgets by rendering order (work only for WidgetVBox).
  • WidgetManipulator takes care about step of snap.
  • New icons in UnigineEditor.
  • Fixed annoying 'invalid operation' error in OpenGL.
  • Snap to grid for moving and rotating objects (set grid step in 'Tools' window).

Node properties is a general purpose mechanism for adding some custom properties to objects (like game-specific parameters and so on), they can be set per-surface. Properties set can be flexibly adjusted for a project, see data/core/properties/unigine.prop as an example, the system is very similar to our visual materials. Use 'o' hotkey to access properties window in UnigineEditor.

Some notes regarding changes in development environment:

  • Unigine_Externs pack is updated, all 3rd-party code is moved there
  • All .lib files provided with Unigine_Externs are for Visual Studio 2008, older ones can be found in 'vs2005' subfolders
  • Recommended SCons version is 0.97

2008-07-02 Link

Bugs hunting

Fixed bugs:

  • More accurate parallax mapping on 'high' profile.
  • Fixed ObjectWater polygons doubling after cloning.
  • Fixed match() for patterns with '*'.
  • Fixed call of user class methods with arguments in UnigineScript.
  • Correct work of garbage collector with inherited classes in UnigineScript.
  • Correct work of 'hidden' flag for all types of GUI containers.
  • No more artifacts of ObjectWater in underwater mode.
  • Fixed handling of '(' ')' '{' '}' symbols in UnigineScript.
  • Fixed node cloning dialog in UnigineEditor.

New features:

  • Saving debugger's history between sessions.
  • Added xml->isChild() function in UnigineScript.
  • ObjectTerrain can be edited and saved by means of scripts.
  • Improved brushes window in TerrainEditor.
  • Introduced 'Pair' and 'Triple' containers in UnigineScript.
  • Clean-up of UnigineEditor.
  • Removed alpha channel support from NormalCombiner.
  • Cubic filtering for lightmaps on 'high' setting profile.
  • New strget() and strset() functions in UnigineScript.
  • Updated a lot of articles in reference manual, added UnigineScript debugger documentation (see 'Programming / UnigineScript / Script Debugging').
  • Added WorlTrigger support in UnigineEditor.
  • Improved editing of vec3/vec4/mask parameters in material editor of UnigineEditor (double-click on them to edit).
  • Added 'Place here' (move to the camera) and 'Place manually' (place on a surface, right-click switch normal binding, mouse scroll adjusts height) buttons in Nodes window of UnigineEditor.
  • Support of material's parameters copy-paste in UnigineEditor.
  • Dynamical node info visualization feature in UnigineEditor (Tools -> Interface -> Dynamic info).

The hunting was fruitful, almost all of the bugs were discovered during work on our internal Unigine-based projects, which are a kind of sandbox for us.

2008-06-23 Link

MegaUpdate (c) Frustum

Basing on customers feature requests, there are a lot of hot updates in Unigine!

Recent changes:

  • Fonts outlining.
  • UnigineScript debugger (GDB style): call stack, stack dump, disassemble, view variable and array info (add breakpoints to your script and look into the system console).
  • New NodeRef node type, which refers to nodes from external node files.
  • Improved 'forloop' and 'foreach' operators in UnigineScript.
  • Added 'switch' operator into UnigineScript for faster branching.
  • WidgetEditText allows per-line editing now.
  • Holes support for terrain (first LOD only).
  • Added more settings for ResourceEditor: camera speed, FOV, wireframe color.
  • Inheritance of user-defined classes with virtual functions support in UnigineScript.
  • Context menu for nodes in UnigineEditor (Alt + right mouse button to activate).
  • Full undo/redo support for nodes and materials in UnigineEditor.
  • Updated documentation on Unigine library.
  • Heap of minor fixes.

Finally, a new Catalyst 8.6 has solved the problem with soft shadows! It's highly recommended to upgrade to it for all ATI card owners.

Here is the context menu for nodes in UnigineEditor:
Context menu for nodes in UnigineEditor

New TerrainEditor can add holes:
New TerrainEditor with support of holes

Terrain upgrade guide: save height map into DDS format by old TerrainEditor, create a new terrain by new TerrainEditor, import old height map.

Pages: 1234567891011