The animation is already in the 3D model I export from Cheetah3D.
It automatically starts so I am not doing any code to start the animation.
Is this the issue.
If I drag any of my test models into the sandbox I see the left hand side the animations ( eg Take1 - Take2 )
In the sandbox I can stop the animations and select each on and start them.
sample 3Dmodel here
www.toolfolks.com/babylon3/kidHouse1.glb
Code:
var scene;
var engine;
var meshesForAnimation;
doSomeInitWork=function(){
// get the canvas DOM element
var canvas = document.getElementById('renderCanvas');
// load the 3D engine
engine = new BABYLON.Engine(canvas, true);
// createScene function that creates and return the scene
var createScene = function(){
// create a basic BJS Scene object
scene = new BABYLON.Scene(engine);
// create a FreeCamera, and set its position to (x:0, y:5, z:-10)
//var camera = new BABYLON.FreeCamera('camera1', new BABYLON.Vector3(0, 5,-10), scene);
// var box = BABYLON.Mesh.CreateBox('Box',1,0,scene);
// glb or gltf exports the animation. Can we trigger this
var box = BABYLON.SceneLoader.Append("", "models/kidHouse1.glb", scene, function (scene) {
// do something with the scene
});
// var camera = new BABYLON.UniversalCamera("UniversalCamera", new BABYLON.Vector3(0, 0, box.position), scene);
var camera = new BABYLON.ArcRotateCamera('arcCamera1', BABYLON.Tools.ToRadians(45),BABYLON.Tools.ToRadians(45),10.0,box.position, scene);
// target the camera to scene origin
camera.setTarget(BABYLON.Vector3.Zero());
//camera.lowerRadiusLimit =2; // how close to zoom in
//camera.upperRadiusLimit = 50; // how far away we can zoom out
camera.wheelPrecision = 100;
//camera.collisionRadius = new BABYLON.Vector3(0.5, 0.5, 0.5)
//scene.collisionsEnabled = true;
// camera.checkCollisions = true;
// box.checkCollisions = true;
// attach the camera to the canvas
camera.attachControl(canvas, false);
// create a basic light, aiming 0,1,0 - meaning, to the sky
var light = new BABYLON.HemisphericLight('light1', new BABYLON.Vector3(0,1,0), scene);
// create a built-in "sphere" shape; its constructor takes 6 params: name, segment, diameter, scene, updatable, sideOrientation
// var sphere = BABYLON.Mesh.CreateSphere('sphere1', 16, 2, scene);
// move the sphere upward 1/2 of its height
//sphere.position.y = 1;
// create a built-in "ground" shape;
var ground = BABYLON.Mesh.CreateGround('ground1', 6, 6, 2, scene);
// return the created scene
return scene;
}
// call the createScene function
var scene = createScene();
// run the render loop
engine.runRenderLoop(function(){
scene.render();
});
// the canvas/window resize event handler
window.addEventListener('resize', function(){
engine.resize();
});
}