MeshTexture

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

MeshTexture 表示要用于 MeshMaterialMeshMaterialMetallicRoughness 的影像数据。它通过其 uv 折点属性映射到格网。 MeshTexture 实例可以与 MeshComponent.material 属性一起使用,它们可以设置为 MeshMaterial.colorTextureMeshMaterial.normalTexture。影像可以通过 url 或直接通过数据( HTMLImageElement, HTMLCanvasElement, HTMLVideoElementImageData)引用。

const meshColorByUrl = new MeshTexture({
  url: "./image.png"
});

const mesh = Mesh.createBox(location, {
  material: {
    colorTexture: meshColorByUrl
  }
});

const meshColorByCanvas = new MeshTexture({
  data: canvasElement
});

const meshWithCanvasMaterial = Mesh.createBox(location, {
  material: {
    colorTexture: meshColorByCanvas
  }
});

// 支持格网材质构造函数中的自动转换
const meshWithAutocastMaterial = Mesh.createSphere(location, { material: { colorTexture: { url: "./image.png" } } }); // 格网材质还支持其他高级自动转换类型,例如 Canvas 元素。 // 在这种情况下,画布元素将在 MeshTexture.data 属性中可用。 const meshWithCanvasAutocastMaterial = Mesh.createSphere(location, { material: { colorTexture: canvasElement } }); // 当使用视频作为纹理时,需要创建一个 Video 元素 // 并将其传递给 MeshTexture.data 属性。 const video = document.createElement("video"); video.src = "./my-video.mp4"; video.crossOrigin = "anonymous"; video.autoplay = true; video.muted = true; // 视频需要添加到 DOM 并位于视口中才能播放。
document.body.appendChild(video); video.style.position = "absolute"; video.style.top = 0; // 隐藏视频元素
video.style.height = 0; video.style.visibility = "hidden"; const meshWithVideoMaterial = Mesh.createPlane(location, { material: { colorTexture: { data: video } } });
另参阅:

构造函数

new MeshTexture(properties)
参数:
properties Object
optional

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

属性列表

可以设置、检索或监听的任何属性。参见使用属性主题。
展示继承属性 隐藏继承属性
名称 类型 描述
HTMLImageElement|HTMLCanvasElement|HTMLVideoElement|ImageData更多信息

对影像或视频数据的直接引用。

更多信息MeshTexture
String更多信息

类名。

更多信息Accessor
Boolean更多信息

指示影像数据是否应解释为半透明。

更多信息MeshTexture
String更多信息

影像资源的 URL。

更多信息MeshTexture
String|SeparableWrapModes更多信息

指定如何处理 [0, 1] 范围之外的 uv 坐标。

更多信息MeshTexture

属性详细说明

直接引用影像或视频数据。 数据可以是影像元素画布元素视频元素ImageData。 如果数据设置为 视频元素,则该元素需要在 DOM 中可见。 数据属性与 url 属性互斥,设置数据会清除 url(如果有的话)。

declaredClass Stringreadonly inherited

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

transparent Boolean

指示影像数据是否应被解释为半透明。 当数据属性包含画布元素或 ImageData 对象时,会自动派生默认值。 如果改为提供 .png 文件的 url,则假定存在透明度。 在所有其他情况下,它默认为 false

默认值:undefined
url String

影像资源的url。 这可以是远程 url(绝对或相对)或数据 url。 视频资源只能使用数据 属性加载。 url 属性与数据属性互斥,设置 url 会清除数据(如果有的话)。

指定如何处理 [0, 1] 范围之外的 uv 坐标。 “重复”、“钳位”或“镜像”之一。 也可以使用一个对象分别为两个纹理轴指定:

{
  vertical: "clamp",
  horizontal: "repeat"
}

可选值:"clamp"|"repeat"|"mirror"

默认值:"repeat"

方法列表

名称 返回值类型 描述
MeshTexture更多信息

创建深度克隆。

更多信息MeshTexture

方法详细说明

clone(){MeshTexture}

创建深度克隆。

返回值:
类型 描述
MeshTexture 返回调用此方法对象的深度克隆。

类型定义

SeparableWrapModes

用于水平和垂直环绕模式的可分离环绕配置。

属性:
horizontal String

水平环绕模式。

可选值:"clamp"|"repeat"|"mirror"

vertical String

垂直环绕模式。

可选值:"clamp"|"repeat"|"mirror"

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