纹理
纹理用来表现物体的细节。理论上可以将物体的每个细节建模出来,但是这样时间成本和性能成本都太高,因此,将物体的一些细节用纹理来表示。
图片纹理
图片纹理直接在物体表面应用图片。可以使用TextureLoader类的load方法来加载纹理。
function loadImgTexture(){
var loader = new THREE.TextureLoader();
loader.load("metal-rust.jpg",function(texture){
var geometry = new THREE.BoxGeometry(10,10,10);
var material = new THREE.MeshBasicMaterial({color:0x739783,map:texture});
mesh = new THREE.Mesh(geometry,material);
scene.add(mesh);
})
}
注意加载图片是异步的,所以这里我们使用render循环来渲染:
function render(){
requestAnimationFrame(render);
renderer.render(scene,camera);
}
凹凸贴图
凹凸贴图可以使纹理也有厚度,看起来更立体。凹凸贴图一般使用一张灰度图,设置成材料的bumpMap属性