#38 new
lindsay.kay (at xeolabs)

BVH Animations

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

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

Comments and changes to this ticket

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.

New-ticket Create new ticket

Create your profile

Help contribute to this project by taking a few moments to create your personal profile. Create your profile »

SceneJS provides easy access to WebGL through a simple and declarative JavaScript API. The SceneJS API is functional, which enables its scene definitions to be really compact and expressive, while hooking into other JavaScript code just that little bit more smoothly.

Shared Ticket Bins

People watching this ticket

Pages