[page:Material] →

# 法线网格材质([name])

一种把法向量映射到RGB颜色的材质。

## 构造函数(Constructor)

### [name]( [param:Object parameters] )

[page:Object parameters] - (可选)用于定义材质外观的对象，具有一个或多个属性。材质的任何属性都可以从此处传入(包括从[page:Material]继承的任何属性)。

## 属性(Properties)

共有属性请参见其基类[page:Material]。

### [property:Texture bumpMap]

用于创建凹凸贴图的纹理。黑色和白色值映射到与光照相关的感知深度。凹凸实际上不会影响对象的几何形状，只影响光照。如果定义了法线贴图，则将忽略该贴图。

### [property:Float bumpScale]

凹凸贴图会对材质产生多大影响。典型范围是0-1。默认值为1。

### [property:Texture displacementMap]

位移贴图会影响网格顶点的位置，与仅影响材质的光照和阴影的其他贴图不同，移位的顶点可以投射阴影，阻挡其他对象， 以及充当真实的几何体。位移纹理是指：网格的所有顶点被映射为图像中每个像素的值（白色是最高的），并且被重定位。

### [property:Float displacementScale]

位移贴图对网格的影响程度（黑色是无位移，白色是最大位移）。如果没有设置位移贴图，则不会应用此值。默认值为1。

### [property:Float displacementBias]

位移贴图在网格顶点上的偏移量。如果没有设置位移贴图，则不会应用此值。默认值为0。

### [property:Boolean fog]

材质是否受雾影响。默认值为*false*。

### [property:Boolean isMeshNormalMaterial]

用于检查此类或派生类是否为法线网格材质。默认值为 *true*。
因为其通常用在内部优化，所以不应该更改该属性值。

### [property:boolean morphNormals]

定义是否使用morphNormals。设置为true可将morphNormal属性从[page:Geometry]传递到shader。默认值为*false*。

### [property:Boolean morphTargets]

定义材质是否使用morphTargets。默认值为false。

### [property:Texture normalMap]

用于创建法线贴图的纹理。RGB值会影响每个像素片段的曲面法线，并更改颜色照亮的方式。法线贴图不会改变曲面的实际形状，只会改变光照。

### [property:Integer normalMapType]

法线贴图的类型。
选项为[page:constant THREE.TangentSpaceNormalMap]（默认）和[page:constant THREE.ObjectSpaceNormalMap]。

### [property:Vector2 normalScale]

法线贴图对材质的影响程度。典型范围是0-1。默认值是[page:Vector2]设置为（1,1）。

### [property:Boolean skinning]

材质是否使用蒙皮。默认值为false。

### [property:boolean wireframe]

将几何体渲染为线框。默认值为*false*（即渲染为平滑着色）。

### [property:Float wireframeLinewidth]

控制线框宽度。默认值为1。
由于[link:https://www.khronos.org/registry/OpenGL/specs/gl/glspec46.core.pdf OpenGL Core Profile]与大多数平台上[page:WebGLRenderer WebGL]渲染器的限制，无论如何设置该值，线宽始终为1。

## 方法(Methods)

共有方法请参见其基类[page:Material]。

## 源码(Source)

[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]