Bones - Version History

5 January 2012:

Fixed jME that it can load Ogre meshes with shared geometry. Added support to skip null texture buffers (jME bug). Switched to jPCT 1.24. Checking vertex and UV buffers length and throwing a meaningful exception.

16 December 2011:

Fixed a bug causing an NPE when Blender exported Ogre models have no texture coordinates.

4 September 2011:

Applied the micro optimization EgonOlsen provided. Thanks Egon :)

29 June 2011:

BonesImporter now skips empty PoseTrack's. Added an option to samples to enable/disable texture rendering. Modified jME to preserve animation orders from mesh and skeleton files.

5 June 2011:

Modified Quaternion.slerp(..) method to avoid Quaternion creation.

24 April 2011:

jME 2.1 has a bug in loading pose animations. Fixed that.

18 April 2011:

Animated3D names are now written to stream. This changes stream version, formerly serialized groups should be re-serialized with BonedIO or script files.

17 April 2011:

Bones now imports submesh names from Collada and Ogre3D files. Added a method to AnimatedGroup to get an Animated3D by name.

10 March 2011:

Switched to jME 2.1. Also changed some piece of jME code to throw a meaningful exception instead of NPE.

9 March 2011:

Fixed classpath issue in import script files.

22 February 2011:

Animation of vertex normals has broken Android demo application so updated it to use latest (1.23 beta) jPCT AE jar. Added a light to Android demo scene to reflect animation of vertex normals. Added wakelock to Android demo to make it more look like a game. Cleaned some unnecessary pause-stop code in to Android demo.

4 February 2011:

Fixed a bug in ProceduralAnimationSample causing animation not applied to mesh.

15 January 2011:

Added Ogre3D and jME sources to zip.

28 November 2010:

Skeletal animation now updates vertex normals for proper lighting effects. However pose animation does not update normals since it is simply too expensive. Even Ogre3D does not do it, see this post.

27 November 2010:

Converted static filler objects in JointChannel to instance fields. This will slightly use more memory but will allow multiple threads operate on different JointChannel's. Added clone() method to SkeletonPose. Fixed incorrect documentation of ComLineArgs. Skeletal animation now updates vertex normals for proper lighting effects. However pose animation does not update normals since it is simply too expensive. Even Ogre3D does not do it, see this post. Switched to jPCT 1.22.

29 September 2010:

Removed the unnecessary warning when loading a scaled Collada model. Seems as Collada's V coordinate is flipped compared to OpenGL's (see this post). Started flipping V coordinate during loading to match OpenGL's.

27 May 10:

Cloning Animated3D and AnimatedGroup copies autoApplyAnimation field. Micro optimization in Animated3D.applySkeletonPose(). Relaxed the assumption joints in jME skeleton are ordered such that parents come before children. Changed the internal mechanism joints are created out of jME bones.

1 April 10:

Added setSkeletonPose(SkeletonPose) and removeFromWorld(World) methods to AnimatedGroup. Improved Android sample to show/animate up to 8 animated groups, added touch screen support and fast restore ability when GL surface is lost and restored again.

30 March 10:

Updated documentation. Fixed a minor bug causing applying skeleton pose twice. Added a sample Android application.

29 March 10:

Added support to load Ogre3D pose animations via jME's OgreXML loader. Renamed many classes to provide some space for new animations. Pose animations can be blended within each other and with a single skin animation. Completely decoupled jME and Ardor3D importing code into new classes. This was necessary to run Bones on Android (Dalvik refuses to load classes if there are constructors/methods which has parameters of unknown classes). Added support to scale/rotate objects/skeleton/animations at import time. Exposed some constructors, methods and data structures to allow programatically created animated objects, skeletons and animations. Added some more sample applications.

07 February 10:

Updated documentation. Added support to clone SkinnedGroup.

06 February 10:

Added support to load Ogre3D animation files (mesh.xml + skeleton.xml) via jME's OgreXMl loader. Main motivation behind this was figuring out Collada exporters for 3dsMax (both Max's built-in and OpenCollada) don't support Pyhsique modifier which is kind of annoying especially considering many of ready to buy models are skinned with Pyhsique modifier. In contrast Ogre3D has very nice exporters which both support Pyhsique and Skin modifier.

01 February 10:

Ardor3D now supports loading animations and animation blending (SVN pre 0.7 version). Updated Bones accordingly without blending. This time I've significantly diverged from Ardor's implementation for sake of easy usage and to match jPCT semantics.

07 January 10:

First release of Bones. This release is a port of Ardor3D's (0.6) animation system. Collada files are loaded via Ardor3D's Collada loader and then converted into Bones data structures. Ardor3D doesn't support loading animations and so does Bones. Only procedural animation is supported.