var material = new THREE.MeshBasicMaterial({
color: 0xdd00ff,
// 前面FrontSide 背面:BackSide 双面:DoubleSide
side:THREE.DoubleSide,
});
1 普通材质:MeshLambertMaterial,不受光照影响
var cubeGeometry = new THREE.BoxGeometry(1, 1, 1);
var cubeMaterial = new THREE.MeshLambertMaterial({ color: 0xff0000,opacity:0.5,transparent:true });
cube = new THREE.Mesh(cubeGeometry, cubeMaterial); //物体=几何体+材质
2 法向量材质 MeshNormalMaterial,各个面颜色都不同
var cubeGeometry2 = new THREE.BoxGeometry(1, 1, 1);
var cubeMaterial2 = new THREE.MeshNormalMaterial({flatShading: true});
cube2 = new THREE.Mesh(cubeGeometry2, cubeMaterial2);
3 高光材质:可以创建一种光亮的材质
属性名称 | 描述 | 备注 |
---|---|---|
color | 材料的颜色,默认为白色 | 常用 |
shininess | 光滑度,指定高光部分的亮度,默认值为30 | 常用 |
specular | 材料高光部分的颜色,默认值为0x111111深灰色,如果把它的颜色设置为跟color颜色一样的话,会得到类似金属一样的材质,设置成灰色,则看起来更像塑料 | |
ambient | 这是材质的环境色。它与上一章讲过的环境光源一起使用。这个颜色会与环境光源提供的颜色相乘。默认值为白色 | |
emissive | 这是该材质发射的颜色。它其实并不想一个光源,只是一种纯粹的、不受其他光照影响的颜色。默认值为黑色。 | |
metal | 如果此属性设置为true,Three.js会使用稍微不同的方式计算像素的颜色,以使物体看起来更像金属。要注意的是,这个效果非常小 | |
wrapAround | 如果这个属性设置为true,则启动半lambert光照技术。有了它,光下降得更微妙。如果网格有粗糙、黑暗的地区,启用此属性阴影将变得柔和并且分布更加均匀 | |
wrapRGB | 当wrapAround属性设置为true时,可以使用THREE.Vector3来控制光下降得速度 |
var cubeGeometry2 = new THREE.BoxGeometry(1, 1, 1);
var cubeMaterial2 = new THREE.MeshPhongMaterial({color: 0x836DED,specular:0x111111,shininess:80});
cube2 = new THREE.Mesh(cubeGeometry2, cubeMaterial2);