Skip to content

MeshToonMaterial

继承自Material

一种实现卡通着色的材质。

1.构造函数

js
const material = new THREE.MeshToonMaterial(parameters: Object);

参数:

  • parameters:(可选)用于定义材质外观的对象,具有一个或多个属性。
    • 材质的任何属性都可以从此处传入(包括从Material继承的任何属性)。
    • 属性color例外,其可以作为十六进制字符串传递,默认情况下为 0xffffff(白色),内部调用Color.set(color)。

2.属性

共有属性见其基类Material

alphaMap

类型:Texture

alpha 贴图是一种灰度纹理,可控制整个表面的不透明度(黑色:完全透明;白色:完全不透明)。默认为空。

仅使用纹理的颜色,如果存在则忽略alpha通道。对于RGB和RGBA纹理,由于在DXT压缩和未压缩的RGB565格式中为绿色提供了额外的精度,WebGL渲染器将在对该纹理进行采样时使用绿色通道。仅亮度和亮度/alpha纹理也将按预期工作。

aoMap

类型:Texture

该纹理的红色通道用作环境遮挡贴图。默认为空。aoMap需要第二组UV。

aoMapIntensity

类型:Float

环境遮挡效果的强度。默认值为1。零表示没有遮挡效果。

bumpMap

类型:Texture

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

bumpScale

类型:Float

凹凸贴图对材质的影响程度。典型范围是0-1。默认值为1。

color

类型:Color

材质的颜色Color,默认设置为白色 (0xffffff)。

displacementMap

类型:Texture

置换贴图影响网格顶点的位置。 与其他仅影响材质明暗的贴图不同,置换的顶点可以投射阴影、阻挡其他对象,并以其他方式充当真实几何体。 位移纹理是一个图像,其中每个像素的值(白色为最高)映射到网格的顶点并重新定位。

displacementScale

类型:Float

置换贴图对网格的影响程度(黑色表示无置换,白色表示最大置换)。如果没有置换贴图集,则不会应用此值。默认值为1。

displacementBias

类型:Float

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

emissive

类型:Color

材料的发射(光)颜色,本质上是一种不受其他光照影响的纯色。默认为黑色。

emissiveMap

类型:Texture

设置发射(发光)贴图。默认为空。发射贴图颜色由发射颜色和发射强度调制。如果您有自发光贴图,请务必将自发光颜色设置为黑色以外的颜色。

emissiveIntensity

类型:Float

发射光的强度。调制发光颜色。默认值为1。

fog

类型:Boolean

材质是否受雾影响。默认为true。

gradientMap

类型:Texture

卡通着色的渐变贴图。使用此类纹理时,需要将Texture.minFilterTexture.minFilter和Texture.magFilterTexture.magFilter设置为THREE.NearestFilter。默认为空。

lightMap

类型:Texture

光照贴图。默认为空。lightMap需要第二组UV。

lightMapIntensity

类型:Float

烘焙光的强度。默认值为1。

map

类型:Texture

彩色地图。可以选择包含一个alpha通道,通常与.transparent或.alphaTest结合使用。默认为空。纹理贴图颜色由漫反射.color.color调制。

normalMap

类型:Texture

创建法线贴图的纹理。RGB值影响每个像素片段的表面法线并改变颜色的点亮方式。法线贴图不会改变表面的实际形状,只会改变光照。如果材质具有使用左手惯例创作的法线贴图,则应取反normalScale的y分量以补偿不同的手性。

normalMapType

类型:Integer

法线贴图的类型。

选项为THREE.TangentSpaceNormalMap(默认)和THREE.ObjectSpaceNormalMap。

normalScale

类型:Vector2

法线贴图对材质的影响有多大。典型范围是0-1。默认是设置为(1,1)的二维向量Vector2。

wireframe

类型:Boolean

将几何渲染为线框。默认为false(即呈现为平面多边形)。

wireframeLinecap

类型:String

定义线端的外观。可能的值为“butt”、“round”和“square”。默认为“圆形”。

这对应于2DCanvas的lineCap属性,它会被WebGL渲染器忽略。

wireframeLinejoin

类型:String

定义线接头的外观。可能的值是“round”、“bevel”和“miter”。默认为“圆形”。

这对应于2DCanvas的lineCap属性,它会被WebGL渲染器忽略。

wireframeLinewidth

类型:Float

控制线框厚度。默认值为1。

由于OpenGL Core Profile与WebGL渲染器在大多数平台上的限制,无论设置值如何,线宽始终为1。

3.方法

MIT Licensed