MeshMaterial

AMD: require(["geoscene/geometry/support/MeshMaterial"], (MeshMaterial) => { /* 代码 */ });
ESM: import MeshMaterial from "@geoscene/core/geometry/support/MeshMaterial";
类: geoscene/geometry/support/MeshMaterial
继承于: MeshMaterial Accessor
起始版本: GeoScene API for JavaScript 4.22

材质决定了 MeshComponent 的可视化方式。 材质的主要特征之一是它的颜色颜色属性可用于为整个 MeshComponent 设置统一的颜色。 使用 colorTexture 属性将图像映射到格网组件上,使用为 Mesh.vertexAttributes 中的每个折点指定的 uv 坐标。

材质属性支持许多方便的自动转换类型,包括十六进制颜色字符串和众所周知的颜色字符串(自动转换为 Color),或表示 URL 的字符串影像,HTMLImageElementsHTMLCanvasElementsHTMLVideoElement,或 ImageData(自动转换为 MeshTexture)。


// 创建使用颜色的材质
const meshWithColor = new MeshComponent({ // 自动转换为 MeshMaterial material: { color: "#ff00ff" } }); // 通过链接到图像 url 创建使用纹理的材质 const meshTextureByUrl = new MeshTexture({ url: "./image.png" }); const boxMesh = Mesh.createBox(location, { material: { colorTexture: meshTextureByUrl } }); // 创建一个使用来自画布元素的纹理的材质 function createLinearGradient() { const canvas = document.createElement("canvas"); canvas.width = 32; canvas.height = 32; const ctx = canvas.getContext("2d"); // 创建用于填充画布的线性渐变 const gradient = ctx.createLinearGradient(0, 0, 0, 32); gradient.addColorStop(0, "#00ff00"); gradient.addColorStop(1, "#009900"); // 用渐变图案填充画布
ctx.fillStyle = gradient; ctx.fillRect(0, 0, 32, 32); return canvas; } const component = new MeshComponent({ material: { // 将画布元素自动转换到 MeshTexture 实例
colorTexture: createLinearGradient() } });
另参阅:

构造函数

new MeshMaterial(properties)
参数:
properties Object
optional

所有可传入构造函数的属性,请参见属性列表

属性列表

可设置、检索或监听的任何属性。参见使用属性
展示继承属性 隐藏继承属性
名称 类型 描述
Number更多信息

指定如何处理对象上的透明度。

更多信息MeshMaterial
String更多信息

指定如何处理对象上的透明度。

更多信息MeshMaterial
Color更多信息

为格网组件指定单一的统一颜色。

更多信息MeshMaterial
MeshTexture更多信息

指定要从中获取颜色信息的纹理。

更多信息MeshMaterial
String更多信息

类名。

更多信息Accessor
Boolean更多信息

指定是显示每个三角形的两边,还是仅显示正面。

更多信息MeshMaterial
MeshTexture更多信息

指定从中获取正常信息的纹理。

更多信息MeshMaterial

属性详细说明

alphaCutoff Number

指定如何处理对象的透明度。 如果 alphaMode 设置为 maskauto 此属性指定掩膜发生的截止值(即 Mesh 的对应部分被渲染为完全透明)。

默认值:0.5
alphaMode String

指定如何处理对象的透明度。 另请参阅 alphaCutoff

类型 描述
opaque Alpha 将被忽略,并且对象将渲染为完全不透明。
blend Alpha 值用于渐进透明,在对象及其背景之间混合。
mask Alpha 值用于二进制透明度,显示对象或其背景。另请参见 alphaCutoff
auto 该实现混合了 mask 和 blend 设置,在它 alphaCutoff 上面掩膜和混合。

可选值:"auto"|"blend"|"opaque"|"mask"

默认值:"auto"
自动转换自 Object|Number[]|String

为格网组件指定单一、统一的颜色。 这可以自动使用命名字符串、十六进制字符串、rgb 或 rgba 值数组、具有 rgba 属性的对象,或 Color 对象。

colorTexture MeshTextureautocast

指定从中获取颜色信息的纹理。 使用 Mesh.vertexAttributes 中为每个折点指定的 uv 坐标访问纹理。

declaredClass Stringreadonly inherited

类名。类的名称声明格式为 geoscene.folder.className

doubleSided Boolean

指定是显示每个三角形的两边,还是仅显示正面。

默认值:true
normalTexture MeshTextureautocast

指定从中获取法线信息的纹理。 使用 Mesh.vertexAttributes 中为每个折点指定的 uv 坐标访问纹理。

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.