1

我是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 );
}

我做错了什么?

4

1 回答 1

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 );
}
于 2013-07-02T10:39:33.730 回答