02.材質對象

同一個網格模型,若使用不同的材質,最終顯示出來的效果是不一樣的。本章將介紹5中材質

PointsMaterial(點材質)

LineDashedMaterial(線材質)

MeshBasicMaterial、MeshLambertMaterial、MeshPhongMaterial(網格材質)

 

PointsMaterial

顧名思義,若網格模型使用了點材質,最終顯示出來的模型則爲點模型。需要注意的是,若材質爲點材質,則網格模型也必須爲

點模型。主要代碼 :

 //幾何體
let geometry = new THREE.SphereGeometry(20,20,20); 

//點材質
let material = new THREE.PointsMaterial({  
    color : 'yellow',
    size : 1,
}); 

//點模型
let point = new THREE.Points(geometry, material); 
scene.add(point);    

例子

點材質、點模型

 

LineDashedMaterial

線材質也必須使用線模型。主要代碼 :

 //幾何體
let geometry = new THREE.SphereGeometry(20,20,20); 

//線材質
let material = new THREE.LineDashedMaterial({  
    color : 'yellow',
    size : 1,
}); 

//線模型
let point = new THREE.Line(geometry, material); 
scene.add(point);    

例子

線材質、線模型

 

MeshBasicMaterial

MeshBasicMaterial是一種不會對光源產生反應的材質,主要代碼 :

let geometry = new THREE.BoxGeometry(20,20,20); 

//基礎材質(不會對光有反應)
let material = new THREE.MeshBasicMaterial({  color : 'yellow'}); 

let mesh = new THREE.Mesh(geometry, material); 
mesh.rotation.set(-0.1,2,0);
scene.add(mesh);    

例子

MeshBasicMaterial

 

MeshLambertMaterial

MeshLambertMaterial是一種會對光源產生反應的材質,主要代碼 :

 //幾何體
let geometry = new THREE.BoxGeometry(20,20,20); 

//蘭伯特材質 (對光有反應)
let material = new THREE.MeshLambertMaterial({  color : 'yellow'}); 

//網格模型
let mesh = new THREE.Mesh(geometry, material); 
mesh.rotation.set(-0.1,2,0);
scene.add(mesh);    

例子

MeshLambertMaterial

 

MeshPhongMaterial

MeshPhongMaterial是一種高光材質,類似鏡面發射。主要代碼 :

//幾何體
let geometry = new THREE.BoxGeometry(20,20,20); 

//高光材質 (類似鏡面發射)
let material = new THREE.MeshPhongMaterial({  
    color : 'yellow',
    specular:0x444444,//高光部分的顏色
    shininess:50,//高光部分的亮度,默認30
}); 

//網格模型
let mesh = new THREE.Mesh(geometry, material); 
mesh.rotation.set(-0.1,2,0);
scene.add(mesh);    

例子

MeshPhongMaterial

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章