关于three.js加载blender导出gltf格式模型动画要点

本文介绍了如何解决three.js加载blender导出的gltf模型动画不执行的问题。关键在于blender中正确生成动画轨道并导出,以及在three.js中使用时钟和循环函数播放动画。同时,文章提供了处理鼠标点击移动模型位置的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

研究过一次加载动画后导入three.js场景不执行动画,故此记录原因。

我判断两个方面影响动画生成,一、blender导出模型未生成动画通道 二、代码原因未执行

一、blender 制作动画后应在动画编辑器下推到动画轨道,生成片段,更改名字,导出模型动画文件。

二、three.js加载gltf模型文件和动画后,单独play()播放不能执行动画,需构造时钟clock定义,录入动画执行片段播放,还需做一个循环函数持续调用。代码如下。

function animate() {

        requestAnimationFrame(animate);

        if (mixer) mixer.update(clock.getDelta());

        if (mixer2) mixer2.update(clock.getDelta());

        controls.update(); // required if damping enabled

        renderer.render(scene, camera);

      }

通过鼠标点击移动模型位置不能直接在循环函数中,移动距离回随时间不断变大,要单独开一个函数,代码如下。

function render() {

        // renderer.render(scene, camera);

        document.addEventListener("mousedown", (event) => {

          // 判断是否是右键点击事件

          if (event.button === 2) {

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值