常见材质选择material

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); 

                    

猜你喜欢

转载自blog.csdn.net/sichuanpb/article/details/110754780
今日推荐