gpt4 book ai didi

javascript - 如何使用 TweenLite 正确地为 THREE.js 中的一行设置动画/补间?

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:48:19 24 4
gpt4 key购买 nike

我想使用 THREE.JSTweenLite 补间 3D 线。但是这种方法适用于例如球体的位置在这里不起作用。我不知道为什么。

            // add a line to the scene using THREE.js
var geometry = new THREE.Geometry();
geometry.vertices.push(new THREE.Vector3(0, 0, 0));
geometry.vertices.push(new THREE.Vector3(500, 500, 500));
var line = new THREE.Line(geometry, new THREE.LineBasicMaterial());
scene.add( line );

// using TweenLite to animate
var tl = new TimelineLite();
var target = { x: 0, y: 0, z:0 };
line.geometry.verticesNeedUpdate = true;
tl.add(TweenLite.to(line.geometry.vertices[1] , 1, target));
tl.play();

结果:没有任何反应。为什么?

附言。原因可能在 this post 中解释。 ,但我不明白。

最佳答案

我自己找到了解决方案:顶点上方被标记为需要更新,这在 line.geometry.verticesNeedUpdate = true; 行中发生一次。但是这个标志需要在顶点中每次更改后设置。这可以通过将更新行放在 onUpdate 函数中来实现。现在,将在每次更新顶点后调用该行。

target.onUpdate = function () {
line.geometry.verticesNeedUpdate = true;
};

关于javascript - 如何使用 TweenLite 正确地为 THREE.js 中的一行设置动画/补间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21665644/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com