JSONLoader和纹理R61

时间:2013-10-02 19:36:08

标签: javascript three.js

我最近从r58更新到版本r61并且发现使用JSONLoader即使我只想返回几何体,我仍然在我的model.js文件中的着色器的纹理调用中获得404。

loadModel: function( label, domobject, callback ) {
        var model_path   = '/models/js/' + label + '.js';
        var texture_place = '/textures/' + label + '.jpg';
        var loader = new THREE.JSONLoader()


        function onLoad(event) {
            domobject.append( Set.renderer.domElement );
        }

        var texture = new THREE.ImageUtils.loadTexture( texture_place, null, onLoad );
        loader.load( model_path, function ( geometry ) {
            var material = new THREE.MeshLambertMaterial({map: texture}); 
            Set.asset = new THREE.Mesh( geometry, material );
            Set.asset.position.x = Set.asset.position.y = Set.asset.position.z = 0;
            Set.asset.scale.x = Set.asset.scale.y = Set.asset.scale.z = 1;
            if ( callback ) callback(); 
        });         
    },

我这样设置,以防止模型加载黑色然后弹出纹理,这是很好的。我期望使用JSONLoader的行为是

loader.load(model_path,函数(geometry,materials)将深入到模型文件中并查找材质和纹理,只需指定'geometry'就会忽略着色器/纹理。

此外,

有没有更简单的方法来使用JSONLoader它的texturePath参数和onLoad函数来确保我的geo在纹理加载完成之前不会被渲染?

谢谢!

0 个答案:

没有答案