Support Biovision BVH animation. Perhaps in combination with
SceneJS.Name nodes as below.
Scene Definition
var graph = new SceneJS.Name({name:"Hips"}),
// (Hip geometry here)
new SceneJS.Name({name: "Chest"}),
// (Chest geometry here)
// ... rest of figure ...
)
),
new SceneJS.WithData({ time: "45.0" }, // Clock for animation - this would be animated, just static here for discussion
new SceneJS.BVH({
uri: "http://foo.com/files/myanimation.bvh",
time: "time" // Using the "time" property on the enclosing withData for clock
})))
BVH File
HIERARCHY
ROOT Hips
{
OFFSET 0.00 0.00 0.00
CHANNELS 6 Xposition Yposition Zposition Zrotation Xrotation Yrotation
JOINT Chest
{
OFFSET 0.00 5.21 0.00
CHANNELS 3 Zrotation Xrotation Yrotation
JOINT Neck
{
...
The BVH file is loaded and parsed when first visited during
scene traversal, during which
SceneJS.scalarInterpolator,
SceneJS.rotate, SceneJS.translate
nodes are inserted into the subgraphs under the
SceneJS.name nodes to effect the animation.
It's a little bit like the way a JQuery plugin inserts DIVs into
a page.
Since this does not address the initial pose of the animated
subgraph, the transforms could be already in place, configured with
initial parameters, and then located during parsing?
Goals
- In conjunction with OBJ import support , animate Second
Life avatars. BVH nodes would be bound to "named objects" in the
OBJ file.
Questions
- How are mesh areas around joints (ie. in avatars) made smoothed
(ie. with splines), not angular?
Links