美文网首页
基于WebGL的外圆车刀在线实验平台开发(二)

基于WebGL的外圆车刀在线实验平台开发(二)

作者: MoreCode | 来源:发表于2019-12-10 17:02 被阅读0次

    一、模型动画导入

            在3dmax中制作好动画,导出为.fbx格式,动画也要导出;利用以下代码导入网页中。

    loader.load('models/animation01.FBX', function(object) {
            object.rotateX(Math.PI / 2);
            object.position.x += 3900;
            object.position.z -= 100;
            console.log(object);
            mixer = new THREE.AnimationMixer(object);
            action = mixer.clipAction(object.animations[0]);
            console.log(object);
            // action.play();
            object.traverse(function(child) {
                if (child.isMesh) {
                    child.castShadow = true;
                    // child.receiveShadow = true;
                }
    
            });
            scene.add(object);
        });
    

            同时mixer要一直刷新

    function animate() {
        requestAnimationFrame(animate);
        var delta = clock.getDelta();
        if (mixer) mixer.update(delta);
        renderer.render(scene, camera);
        stats.update();
        update();
    }
    

            示例模型的对象结构如下:


    图1 对象控制台输出

    二、动画的播放控制

            首先需要制作两个button,添加到页面上,然后控制action的paly或者stop即可。

    function animatePlay(index) {
        switch (index) {
            case 1:
                action.play();
                break;
            case 0:
                action.stop();
                break;
            default:
                alert("不存在");
        }
    }
    
    图2 动画控制界面

    三、总结

    图3 动画控制.gif

            建模大佬今天不在,自己第一次做的,这动画做的很不美观也不符合逻辑,等建模大佬回来了,做几个好看的同时导入控制看看效果,今天在摸鱼,更新的也比较早。

    相关文章

      网友评论

          本文标题:基于WebGL的外圆车刀在线实验平台开发(二)

          本文链接:https://www.haomeiwen.com/subject/cfpggctx.html