AnimationAction如何在最后一帧停止而不在three.js中循环?
我想在使用变形目标创建的最后一帧停止动画动作 我试过AnimationAction如何在最后一帧停止而不在three.js中循环?,animation,three.js,morphing,Animation,Three.js,Morphing,我想在使用变形目标创建的最后一帧停止动画动作 我试过animationAction.clampWhenFinished=true但这似乎不起作用 我已经研究了一些老问题并进行了搜索,但解决方案没有奏效 var cubeTarget1 = new THREE.BoxGeometry(20, 10, 10); var cubeTarget2 = new THREE.BoxGeometry(20, 10, 50); var cubeTarget3 = new THREE.BoxGeometry(60
animationAction.clampWhenFinished=true代码>但这似乎不起作用
我已经研究了一些老问题并进行了搜索,但解决方案没有奏效
var cubeTarget1 = new THREE.BoxGeometry(20, 10, 10);
var cubeTarget2 = new THREE.BoxGeometry(20, 10, 50);
var cubeTarget3 = new THREE.BoxGeometry(60, 10, 10);
cubeGeometry.morphTargets[0] = {name: 't1', vertices: cubeTarget1.vertices};
cubeGeometry.morphTargets[1] = {name: 't2', vertices: cubeTarget2.vertices};
cubeGeometry.morphTargets[2] = {name: 't3', vertices: cubeTarget3.vertices};
有没有一种方法我可以这样做:(这不起作用,它会循环回第一个目标)
这是我的小提琴:
我查看了three.js代码。一旦涉及clampWhenFinished的部分完成,就不会被击中
目前,我将以一种非常粗糙的方式进行,直到找到更好的解决方案:
action.setDuration(5).play();
setTimeout(function()
{
action.paused = true;
},2500); // half of the duration
我一直在做的另一种方法是使用morphTargetInfluences并在动画循环中增加它:
function animate() {
if (cube.morphTargetInfluences[0] < 1)
cube.morphTargetInfluences[0] += 0.01;
controls.update();
renderer.render(scene, camera);
requestAnimationFrame(animate);
}
function animate(){
if(多维数据集morphTargetInfluences[0]<1)
cube.MorphTargetFluence[0]+=0.01;
控件更新();
渲染器。渲染(场景、摄影机);
请求动画帧(动画);
}
如果需要更多功能,请使用Tween.js。我查看了three.js代码。一旦涉及clampWhenFinished的部分完成,就不会被击中
目前,我将以一种非常粗糙的方式进行,直到找到更好的解决方案:
action.setDuration(5).play();
setTimeout(function()
{
action.paused = true;
},2500); // half of the duration
我一直在做的另一种方法是使用morphTargetInfluences并在动画循环中增加它:
function animate() {
if (cube.morphTargetInfluences[0] < 1)
cube.morphTargetInfluences[0] += 0.01;
controls.update();
renderer.render(scene, camera);
requestAnimationFrame(animate);
}
function animate(){
if(多维数据集morphTargetInfluences[0]<1)
cube.MorphTargetFluence[0]+=0.01;
控件更新();
渲染器。渲染(场景、摄影机);
请求动画帧(动画);
}
如果需要更多功能,请使用Tween.js