我试图对动画数据对象进行硬编码,以便在Three.js应用程序中使用。这是我目前在我的代码段中所拥有的内容:
scene = new THREE.Scene();
var axisHelper = new THREE.AxisHelper( 1 );
scene.add( axisHelper );
var geometry = new THREE.BoxGeometry(1,1,1);
var material = new THREE.MeshBasicMaterial( {
color: 0xffff00
} );
cube = new THREE.Mesh( geometry, material );
// Setup animation
var animationData = {
"name" : "Action",
"fps" : 25,
"length" : 2.0,
"loop" : true,
"timescale" : 1,
"hierarchy" : [
{
"parent" : -1, //root
"keys" : [
{
"time":0,
"pos" :[0,0,0],
"rot" :[0,0,0],
"scl" :[1,1,1]
},
{
"time":1.0,
"rot" :[0,Math.PI/5,0]
},
{
"time":2.0,
"rot" :[0,Math.PI/2,0]
}
]
}
]
};
rotationAnimation = new THREE.Animation(cube, animationData);
rotationAnimation.play();
scene.add(cube);
当我运行没有倒数第二行的代码(或者在它之后使用.stop())时,我得到一个非动画的多维数据集(如预期的那样)。但是,当我播放动画时,立方体完全消失而没有控制台错误。从我可以诊断的所有内容来看,这似乎是我对animationData的JSON对象结构的一个问题,但是我无法证实这一点,因为Three.js文档没有说明它,我可以找到它,但在这个例子中:http://threejs.org/examples/#misc_animation_keys
如果有人能告诉我这里的问题,我真的很感激。