threejs 补间动画Tween应用

threejs yekong

今天要学习的是threejs 补间动画Tween应用

threejs版本

使用到的threejs版本

"three": "^0.154.0",

创建一个球

创建1个球体,为补间动画做准备

// 创建1个球

const sphere1 = new THREE.Mesh(
  new THREE.SphereGeometry(1, 30, 30),
  new THREE.MeshBasicMaterial({
    color: 0x00ff00
  })
)
sphere1.position.x = -4
scene.add(sphere1)

引入tween

import * as TWEEN from "three/examples/jsm/libs/tween.module.js";

移动动画

const tween = new TWEEN.Tween(sphere1.position);

tween.to({x: 4}, 1000)
tween.start()

渲染操作更新

在渲染操作中进行更新 TWEEN.update()

function render() {
renderer.render(scene, camera); //执行渲染操作
controls.update();
requestAnimationFrame(render);
TWEEN.update()
}

其他相关配置

我们可以设置循环往复 以及无数次循环动画。

tween.to({x: 4}, 1000)

tween.onUpdate(() => {
console.log(sphere1.position.x)
})

// 设置无数次循环
tween.repeat(Infinity)

// 循环往复
tween.yoyo(true)

// 设置缓动函数
tween.easing(TWEEN.Easing.Quadratic.InOut)


tween.start()

动画1链接动画2

执行完动画1后执行动画2

const tween = new TWEEN.Tween(sphere1.position);
tween.to({x: 4}, 1000)
let tween2 = new TWEEN.Tween(sphere1.position)
tween2.to({y: -4}, 1000)
tween.chain(tween2)

相关回调函数

tween.onStart(() => {
console.log('开始')
})
tween.onComplete(() => {
console.log('结束')
})
tween.onStop(() => {
console.log('停止')
})
tween.onUpdate(() => {
console.log('更新')
})

演示实例

threejs 补间动画Tween应用

学习笔记

当前内容为 threejs视频教程 Three.js可视化企业实战WEBGL课 -Three.js开发入门与调试设置-补间动画Tween应用-学习笔记

笔记代码

笔记代码项目基于vue3 vite js nodejs16 运行

运行效果可查看演示地址:threejs 补间动画Tween应用

相关文件下载地址
此资源需支付 ¥1 后下载
支付宝购买扫右侧红包码购买更优惠,如无法下载请联系微信:17331886870
喜欢
threejs 补间动画Tween应用