材质结合几何体可以构成网格。材质就像是物体的皮肤,决定几何体外表的样子。可以决定一个几何体看起来是否像金属、透明与否,以及是否显示成线框。
4.1 理解共有属性
材质基类,THREE.Material。
共有属性分成了三类:
基础属性:可以控制物体的透明度、是否可见或如何引用物体。
融合属性:决定物体如何与背景融合
高级属性:可以控制底层WebGL上下渲染物体的方法
4.2 从简单的网格材质(基础、深度和面)开始
简单表面的MeshBasicMaterial:
基于深度着色的MeshDepthMaterial:
联合材质:
计算法向颜色的MeshNormalMaterial:
为每个面指定材质的MeshFaceMaterial:
4.3 学习高级材质
用于暗淡、不光亮表面的MeshLambertMaterial:
用于光亮表面的MeshPhongMaterial:
用ShaderMaterial创建自己的着色器:着色器不是用JavaScript编写的。只能用类似C的GLSL语言来写着色器。
4.4 线段几何体的材质
LineBasicMaterial:通过线段基础材质可以设置线段的颜色、宽度、端点和连接点属性。
LineDashedMaterial:跟LineBasicMaterial的属性一样,但是通过指定短划线和空格的长度,可以创建出虚线效果。