three.js 渲染带动画的glb模型

废话不多少上代码

 //gltf加载器 
 
    let mixer//添加一个变量来存储动画混合器
    const progressBar = document.getElementById('progress-bar-inner')
    const loader = new THREE.GLTFLoader();
    loader.setPath('./')
    loader.load('./glb/LKBB4385.glb', (gltf) => {
        gltfScene = gltf.scene
        gltfScene.rotation.set(0, 155, 0)
        gltfScene.position.set(0, -3735, 0)
        gltfScene.traverse(function (obj) {
            if (obj.isMesh) {
                // obj.material=Glfmaterial
            }
        })
        //创建动画混合器
        mixer = new THREE.AnimationMixer(gltfScene);
        //所有的动画
        gltf.animations.forEach((clip) => {
            mixer.clipAction(clip).play();
        });

        scene.add(gltf.scene);

然后你需要引入

<script type="text/javascript" src="js/GLTFLoader.js"></script>

找到动画函数

 //循环渲染 
            //添加代码
        let prevTime = performance.now(); ;//添加一个变量来存储之前的时间戳
        function animate() {
            //添加代码
            const currentTime = performance.now()
            //添加代码
            const deltaTime = (currentTime - prevTime) / 1000; // 转换为秒
            //添加代码
            prevTime = currentTime;
            //添加代码
            if (mixer) {
                mixer.update(deltaTime);
            }
            controls.update()

            renderer.render(scene, camera);
            requestAnimationFrame(animate);
        }
        animate();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值