useAnimation
封装 Three.js AnimationMixer,支持播放、停止和交叉过渡动画。
用法
ts
import { useAnimation } from '@threeuse/core'
// gltf 是 GLTFLoader 加载的结果
const { play, crossFadeTo, currentClip } = useAnimation(app, gltf.scene, gltf.animations)
play('Walk')
setTimeout(() => crossFadeTo('Run', 0.3), 2000)参数
| 参数 | 类型 | 说明 |
|---|---|---|
app | ThreeUseApp | 应用实例(用于注册渲染回调) |
root | Object3D | 动画根对象 |
clips | AnimationClip[] | 动画剪辑数组 |
返回值
| 属性 | 类型 | 说明 |
|---|---|---|
play | (name) => void | 播放指定动画 |
stop | (name?) => void | 停止(全部或指定动画) |
crossFadeTo | (name, duration?) => void | 交叉淡入目标动画 |
currentClip | Ref<string> | 当前播放的动画名 |
isPlaying | ComputedRef<boolean> | 是否在播放 |