threejs中对于材质的选取可以是多种多样的
其中部分对光源会没有反射条件导致光源对其的存在无意义
基础网格材质对象MeshBasicMaterial
,不受带有方向光源影响,没有棱角感。
var material = new THREE.MeshBasicMaterial({
color: 0x0000ff,
})
MeshLambertMaterial
材质可以实现网格Mesh表面与光源的漫反射光照计算,有了光照计算,物体表面分界的位置才会产生棱角感。
var material = new THREE.MeshLambertMaterial({
color: 0x00ff00,
});
高光网格材质MeshPhongMaterial
除了和MeshLambertMaterial
一样可以实现光源和网格表面的漫反射光照计算,还可以产生高光效果(镜面反射)。
var material = new THREE.MeshPhongMaterial({
color: 0xff0000,
specular:0x444444,//高光部分的颜色
shininess:20,//高光部分的亮度,默认30
});