three.js MeshToonMaterial

2023-02-16 17:45 更新

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

示例

例子

materials / variations / toon

构造函数

MeshToonMaterial( parameters : Object )

parameters -(可选)具有定义材料外观的一个或多个属性的对象。材料的任何属性(包括从材料继承的任何属性)都可以在这里传递。

例外是属性颜色,它可以作为十六进制字符串传入,默认为 0xffffff(白色)。 Color.set( color ) 在内部被调用。

属性

请参阅基础 Material 类以了解常见属性。

.alphaMap : Texture

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

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

.aoMap : Texture

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

.aoMapIntensity : Float

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

.bumpMap : Texture

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

.bumpScale : Float

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

.color : Color

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

.displacementMap : Texture

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

.displacementScale : Float

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

.displacementBias : Float

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

.emissive : Color

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

.emissiveMap : Texture

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

.emissiveIntensity : Float

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

.fog : Boolean

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

.gradientMap : Texture

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

.lightMap : Texture

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

.lightMapIntensity : Float

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

.map : Texture

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

.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”。默认为“圆形”。

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

.wireframeLinejoin : String

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

这对应于 2D Canvas 的 lineJoin 属性,它会被 WebGL 渲染器忽略。

.wireframeLinewidth : Float

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

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

方法

有关常用方法,请参见基 Material 类。

源码

src/materials/MeshToonMaterial.js


以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号