Animation changes, external GUI
Changes of this month:
- External GUI via wxWidgets (for new editor) through C++ API in progress.
- Physical contacts are accessible from PlayerSpectator and PlayerPersecutor.
- StreamRead and StreamWrite are merged into Stream class, which can be used to transfer File and Stream objects into C++ part.
- Image class added to C++ API.
- Controls are now accessible via C++ API.
- setUpdate()/setUpdate functions in C++ API, which controls whether the application will be updating when the window is hidden.
- User-defined classes can be used as keys of maps in UnigineScript.
- Alpha testing is available for mesh materials with detail.
- C++ like scoping for derived classes in UnigineScript (search inside itself, search inside parent class, search its own namespace, search inside parent namespace).
- Reduced number of allocations in call() operator of UnigineScript.
- Simple ImageView tool for viewing of all supported texture formats.
- Improved new() operator now supports the following statements: new("Foo"), new("File","file.txt","wb") in UnigineScript for objects construction of user-defined and extern classes.
- Support of dual quaternion skinning with uniform bone scaling (optional, controlled by render_use_dual_quaternions console variable, disabled by default).
- setFrameBoneTransform() / getFrameBoneTransform() members of ObjectMeshSkinned work in local space.
- Increase of bones per surface limit to 96 (non-uniform scaling isn't supported anymore, be aware).
- New format of skinned meshes (use ResourceEditor for upgrading; don't forget to update plugins), which treats all bone transformations in local space.
- Heavily refactored WidgetListBox and WidgetTreeBox widgets.
- Added multiple re-parenting for nodes in the editor.
- WorldTrigger can be activated by a contact.
- Access to a parent widget in GUI.
- Fixed FOV in camera export script for 3dsMax.
- Animation export plugin for 3dsMax supports compact sanim format.
- High-level scripts are moved into data/scripts directory.
- No more seams on splatting terrain with DX9.0 hardware.
- MeshViewer shows bones hierarchy.
- Optional support of dual quaternions in MeshViewer.
- Shaders performance optimization.
- Support of warming shaders after loading of the world (render_manager_warm_shaders console variable, disabled by default).
- SCons 1.2.0 is supported, it's highly recommended to upgrade to this version.
Here is an example of external GUI for Unigine (it will be used fornew version of UnigineEditor, which
is scheduled for this year):
Compare results of ordinary animation (note skinning distortion due to large twist angle):
...with dual quaternions one, which provides better quality:
PS: Unigine has celebrated 5th anniversary recently, it's quite a long run, wow.