Three.js导入gltf模型和动画

本文介绍如何使用Blender创建3D模型并将其导出为GLTF格式,以便在Three.js中加载和播放动画。核心代码展示了如何通过AnimationMixer组件在场景中实现模型动画的循环播放。

核心代码

复杂的3D模型一般都是用第三方建模工具生成,然后加载到three中

three官方推荐使用gltf格式的文件,代表编辑器是blender

本文生成了自定义生成了一个blender模型,并且应用了动画效果,核心代码如下

var mixers = [];
var clock = new THREE.Clock();
(function(){
    var loader = new THREE.GLTFLoader();
    loader.load( './static/models/2.gltf', function( gltf ) {
        console.log(gltf);

        var axesHelper = new THREE.AxesHelper( 5 );
        scene.add( axesHelper );

        scene.add( gltf.scene ); // 将模型引入three


        // 调用动画
        var mixer = new THREE.AnimationMixer( gltf.scene.children[2] ); 
        mixer.clipAction( gltf.animations[ 0 ] ).setDuration( 1 ).play();
        mixers.push( mixer );
    })
})();

var time;
var animate = function () {
    requestAnimationFrame(animate);

    var delta = clock.getDelta();
    for ( var i = 0; i < mixers.length; i ++ ) { // 重复播放动画
        mixers[ i ].update( delta );
    }

    stats.begin();
    renderer.render( scene, camera );
    stats.end();
};
animate();



转载于:https://www.cnblogs.com/ye-hcj/p/9819205.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值