我成功地将纹理应用到立方体几何图形上:
var geometry = new THREE.CubeGeometry(10, 10, 10);
var meshMaterial = new THREE.MeshPhongMaterial({ transparent: false, map: THREE.ImageUtils.loadTexture('/app/images/wood.jpg') });
meshMaterial.side = THREE.DoubleSide;
var mesh = new THREE.Mesh(geometry, meshMaterial);
通过这个代码,我得到了一个很好的有纹理的立方体,如下所示:
现在我想将同样的纹理(512x512的jpg图像)应用于我从STL加载的自定义模型,在这种情况下是一个金字塔:
以下是代码:
loader.load(jsonParam.url, function (geometry) {
var meshMaterial = new THREE.MeshPhongMaterial({ transparent: false, map: THREE.ImageUtils.loadTexture('/app/images/wood.jpg') });
meshMaterial.side = THREE.DoubleSide;
var mesh = new THREE.Mesh(geometry, meshMaterial);
mesh.castShadow = false;
mesh.receiveShadow = true;
scene.add(mesh);
});
为什么纹理没有被应用,我只得到了似乎是纹理颜色的平均值?