小编だらん*_*じょん的帖子

Three.js Collada - 处理()和释放内存(垃圾收集)的正确方法是什么?

我已经通过ColladaLoader成功导入了.dae场景.

问题是,我需要在几个.dae文件之间切换.

我似乎无法正确实现dispose方法.

        dae.traverse(function(obj) {

            console.log('unloading ' + obj.id);

            scene.remove(obj);

            if(obj.geometry)
                obj.geometry.dispose();
            if(obj.material)
                obj.material.dispose();
            if(obj.mesh)
                obj.mesh.dispose();
            if(obj.texture)
                obj.texture.dispose();

        });

        scene.remove(dae);
Run Code Online (Sandbox Code Playgroud)

我可能做错了什么?

非常感谢提前!


编辑:

这是整个代码.

    var renderer = null;
    var scene = null;
    var camera = null;
    var controls = null;
    var dae = null;
    //var loader = null;

    function init() {


        renderer = new THREE.WebGLRenderer( { alpha: 1, antialias: true, clearColor: 0xffffff } );
        renderer.setSize( 800, 600 );

        var elem = $('.main3d')[0];
        elem.appendChild( renderer.domElement );

        scene = new THREE.Scene();

        camera …
Run Code Online (Sandbox Code Playgroud)

blender collada three.js

8
推荐指数
2
解决办法
6260
查看次数

标签 统计

blender ×1

collada ×1

three.js ×1