Lighthouse has a new layout. Prefer the old one? Return to the old layout, and switch back any time from the link at the top of each page.

BVH Animations

#38

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

Reported by lindsay.kay (at xeolabs) · April 28th, 2010 @ 11:47 PM

State: new
Milestone: none

Activity

Please Sign in or create a free account to add a new ticket.

With your very own profile, you can contribute to projects, track your activity, watch tickets, receive and update tickets through your email and much more.