Bones - Skeletal and Pose Animations for jPCT

quake3_bones.jpg

Last update: 3 January 2016. See history

Overview

Bones is a small animation library for jPCT. It supports skeletal and pose animations. Bones is pure Java and requires at least Java version 1.5.

Bones is definitely free software with a "Do whatever with it" license. However, please note, adapted sources and sample model data may still be subject to provider's license terms.

Bones initially started as a partial/modified port of Ardor3D's animation system to jPCT. Then it evolved to match jPCT semantics and load Ogre3D skins and pose animations.

Please note: The author claims no warranty to maintain backward compatibility.

Features

Bones supports skeletal and pose animations. Pose animations can be blended with each other and with a single skin (skeletal) animation. Skeletal animations can not be blended. Scaling and rotation is supported during initial loading. API allows programmatically created animated objects, skeletons and animations.

Bones is pure Java and requires at least Java version 1.5. Bones can run on Android with Android edition of jPCT.

GPU based skeletal animation is supported via Redman's helper classes and shaders.

Supported formats

Collada: Bones can load Collada animation files via Ardor3D's Collada loader. Only mesh data, texture coordinates and skeletal animation data is loaded.

Ogre3D: Bones can load Ogre3D animation files via jME's OgreXml loader. Only mesh data, texture coordinates and skeletal and pose animation data is loaded.

After initial loading, Bones objects and animation data can be saved in a compact binary form. Saved animations can be later reloaded with loader, with no dependencies to Ardor3D or jME. Either way after loading they are ready in jPCT terms. They have mesh data, textures coordinates and skinning information. It's enough to set their textures and call build() to prepare them to be added into a jPCT world.

Command line scripts are provided to ease importing process.

Download

Bones can be downloaded from here. It contains the source code, necessary libraries, import scripts, Eclipse project files and a few sample applications.

An Android demo application can be downloaded from here. It contains the source code, jPCT Android version and Eclipse project files. Android Studio version of same project can be downloaded from here (It is maintained by community member Moodroid). It can be directly installed to an Android phone from this link.

Feedback

For discussion, questions and any kind of feedback, visit the Bones board at jPCT forums

Demos

Here are screen captures of a few sample applications:

Facial animation loaded as Ogre3D Pose animation:

Skeletal animation loaded with jME's OgreXml loader:

Collada skin procedurally animated (sample adapted from Ardor3d):

Ninja demo running on Android (captured by EgonOlsen):

Animation blending:





copy r a f t no rights reserved