我使用threejs库创建了一个webgl动画,不久前,今天我一直试图让它在最新版本的three.js库上运行。
在最新的库中,没有pathcontrols.js。
我将pathcontrols.js从我的旧库复制到了新版本,但这还没有解决问题,
下面是无法正常工作的完整函数,但是我认为问题出现的是.add()和animation()调用:
function initAnimationPath( parent, spline, name, duration ) {
var animationData = {
name: name,
fps: 0.6,
length: duration,
hierarchy: []
};
var i,
parentAnimation, childAnimation,
path = spline.getControlPointsArray(),
sl = spline.getLength(),
pl = path.length,
t = 0,
first = 0,
last = pl - 1;
parentAnimation = { parent: -1, keys: [] };
parentAnimation.keys[ first ] = { time: 0, pos: path[ first ], rot: [ 0, 0, 0, 1 ], scl: [ 1, 1, 1 ] };
parentAnimation.keys[ last ] = { time: duration, pos: path[ last ], rot: [ 0, 0, 0, 1 ], scl: [ 1, 1, 1 ] };
for ( i = 1; i < pl - 1; i++ ) {
t = duration * sl.chunks[ i ] / sl.total;
parentAnimation.keys[ i ] = { time: t, pos: path[ i ] };
}
animationData.hierarchy[ 0 ] = parentAnimation;
THREE.AnimationHandler.add( animationData );
return new THREE.Animation( parent, name, THREE.AnimationHandler.CATMULLROM_FORWARD, false );
};
似乎对animationhandler.add()的弃用似乎是个问题,但我很难解决如何更换它。
(在许多其他事情中)我尝试用这个代替动画处理程序行和动画行:
THREE.AnimationHandler.update(delta);
return new THREE.Animation( camera, animationData);
没有快乐。我想知道如何开始动画?
由于