将纹理放在obj文件上

时间:2018-05-02 14:59:13

标签: javascript three.js .obj

我想在我的obj文件上放一个纹理,但是我收到一条错误信息。 这是我的代码:

    new THREE.MTLLoader()
            .setPath( 'models/cool' )
                .load( 'CobbleStones.mtl', function ( mat ) {
                    mat.preload();

            var loader = new THREE.OBJLoader( loadingManager );

            loader.load( 'models/cool.obj', function ( object ) {
                object.traverse( function ( child ) {
                    if ( child instanceof THREE.Mesh ) {
                        child.material = gemBackMaterial;
                        child.material = material;

                        loader.setMaterials(mat);

                        var second = child.clone();
                        second.material = gemFrontMaterial;
                        var parent = new THREE.Group();
                        parent.add( second );
                        parent.add( child );
                        scene.add( parent );
                        objects.push( parent );
                    }
                } );
            } );
        });

错误消息是:

GET http://localhost/alpha/Alpha/models/coolCobbleStones.mtl 404 (Not Found)

如果有人能帮我解决问题,我将非常感激。

1 个答案:

答案 0 :(得分:0)

你的道路是错的。您将其设置为:

models/coolCobbleStones.mtl

但你需要

models/cool/CobbleStones.mtl

只需在/

中添加.setPath( 'models/cool/' )即可