我想使用three.sj 3D librairie在立方体上应用纹理但是它没有用,我没有发现我的错误。 我成功地在后台申请了一个计划,但没有在立方体上申请,我不知道为什么
var material = new THREE.MeshLambertMaterial({
map: THREE.ImageUtils.loadTexture('assets/images/texture/ciel.jpg')
});
var cube = new THREE.Mesh(new THREE.CubeGeometry(200, 200, 200), material);
cube.overdraw = true;
cube.rotation.x = Math.PI * 0.1;
scene.add(cube);
答案 0 :(得分:0)
你的场景是动画的吗?
有时候,如果场景没有动画,加载纹理可能会有问题,因为你现在没有任何代码在完成加载纹理后重新渲染场景,或者至少等待渲染场景前要加载的纹理。
在这两种方式中,在加载完成后重新绘制场景可能是最好的,所以你需要在加载后附加回调函数。
var material = new THREE.MeshLambertMaterial({
map:
THREE.ImageUtils.loadTexture('assets/images/texture/ciel.jpg', undefined, function() {
renderer.render(scene, camera);
});
});
请参阅ImageUtils docs了解loadTexture
功能的参数是什么。