javascript - three.js 使用颜色过渡动画网格 (tween.js)

标签 javascript three.js transition tween tween.js

我正在疯狂地尝试实现这一目标。我想在悬停时更改网格(ConvexGeometry)的颜色,直到这里我可以毫无问题地做到这一点,我可以更改网格的颜色。

当我想用从 a 到 b 的颜色过渡/插值来实现时,问题就来了,现在我正在使用 tween.js,但它不起作用。我不知道网格是否支持 Material 颜色转换,或者问题是其他的...我将不胜感激。

我找不到任何这样做的例子......只有这个 similar approach .

无论如何,当我将鼠标悬停在对象上时,我会执行以下操作:

var tween = new TWEEN.Tween(INTERSECTED.material.materials[0].color)
            .to({r: 0, g: 25, b: 155}, 5000)
            .easing(TWEEN.Easing.Quartic.In)
            .onUpdate(function() {
                INTERSECTED.material.materials[0].color.r = this.r;
                INTERSECTED.material.materials[0].color.g = this.g;
                INTERSECTED.material.materials[0].color.b = this.b;
              }).start()

最佳答案

基本上,您需要为每个请求的动画帧执行 tween.update(time)

我修改了 threejs.org 的一个例子来证明这一点:http://jsfiddle.net/up1wg1Lo/2/

请注意,我将参数添加到 animterender 以便它们可以知道滴答声。另请注意第 143 行 tween.update(time) 的用法

关于javascript - three.js 使用颜色过渡动画网格 (tween.js),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22506406/

相关文章:

javascript - THREE.js 如何在 3d 房间模型中制作透明的前墙

three.js - Blender2.8 gltf 导出带有凹凸贴图、法线贴图或粗糙度贴图的 Three.js?

html - 如何在 Accordion 上使用非固定高度和过渡

javascript - 如何在nodejs中将字符串转换为Uint8Array类型

three.js - 在 three.js 中使用 PointsMaterial 加载图像

javascript - 子组件中的函数不能在父组件中设置状态

html - 使用背景图像平滑过渡

css - 关于您的多个 css3 转换解决方案

javascript - 将复杂对象传递给 ui-sref 参数

javascript - 调整大小后如何恢复变换