Andrew Meadowsarchive remaining JS scriptsc0b446c10 years agoHistory
49 lines · 1.5 KB · JavaScript
RawDownload
////  dancing_bot.js//  examples////  Created by Andrzej Kapolka on 4/16/14.//  Copyright 2014 High Fidelity, Inc.////  This is an example script that demonstrates an NPC avatar running an FBX animation loop.////  Distributed under the Apache License, Version 2.0.//  See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html// var animation = AnimationCache.getAnimation("http://www.fungibleinsight.com/faces/gangnam_style_2.fbx"); Avatar.skeletonModelURL = "http://www.fungibleinsight.com/faces/beta.fst"; Agent.isAvatar = true; var jointMapping; var currentFrame = 0.0; var FRAME_RATE = 30.0; // frames per second Script.update.connect(function(deltaTime) {    if (!jointMapping) {        var avatarJointNames = Avatar.jointNames;        var animationJointNames = animation.jointNames;        if (avatarJointNames.length === 0 || animationJointNames.length === 0) {            return;        }        jointMapping = new Array(avatarJointNames.length);        for (var i = 0; i < avatarJointNames.length; i++) {            jointMapping[i] = animationJointNames.indexOf(avatarJointNames[i]);        }    }    currentFrame += deltaTime * FRAME_RATE;    var frames = animation.frames;    var rotations = frames[Math.floor(currentFrame) % frames.length].rotations;    for (var j = 0; j < jointMapping.length; j++) {        var rotationIndex = jointMapping[j];        if (rotationIndex != -1) {            Avatar.setJointData(j, rotations[rotationIndex]);        }    }});