在three.js中加载纹理

时间:2013-07-01 12:58:28

标签: three.js textures

我是three.js的新手,到目前为止我做的是:在Blender中建模几何体,将其导出为JSON,并将其放入我的three.js场景中。 它与基本的three.js材料一起使用。现在我想将颜色,镜面反射和法线贴图加载到几何体。但每当我尝试添加一个纹理时,几何图形就会在浏览器中消失。

这是我的代码:

    var jsonLoader = new THREE.JSONLoader();
    jsonLoader.load( "models/schuh.js", addModelToScene );

    var texture = new THREE.ImageUtils.loadTexture("images/test_COL.jpg");

    var ambientLight = new THREE.AmbientLight(0x111111);
    scene.add(ambientLight);

}

function addModelToScene( geometry, materials ) 
{

    var material = new THREE.MeshBasicMaterial(map:texture});
    mesh = new THREE.Mesh( geometry, material );
    mesh.scale.set(50,50,50);
    scene.add( mesh );
}

我做错了什么?

1 个答案:

答案 0 :(得分:1)

看起来你在调用addModelToScene函数后加载了纹理。

尝试更改您的代码:

function someFunction() {  
    var texture    = new THREE.ImageUtils.loadTexture("images/test_COL.jpg");
    var jsonLoader = new THREE.JSONLoader();

    jsonLoader.load('models/schuh.js', addModelToScene);        

    var ambientLight = new THREE.AmbientLight(0x111111);
    scene.add(ambientLight);

}

function addModelToScene( geometry, materials ) 
{

    var material = new THREE.MeshBasicMaterial({map:texture});
    mesh = new THREE.Mesh( geometry, material );
    mesh.scale.set(50,50,50);
    scene.add( mesh );
}