當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


JavaScript ArcGIS Mesh.vertexAttributes用法及代碼示例


基本信息

以下是所在類或對象的基本信息。

AMD: require(["esri/geometry/Mesh"], (Mesh) => { /* code goes here */ });

ESM: import Mesh from "@arcgis/core/geometry/Mesh";

類: esri/geometry/Mesh

繼承: Mesh > Geometry > Accessor

自從:用於 JavaScript 4.7 的 ArcGIS API

用法說明

Mesh.vertexAttributes函數(或屬性)的定義如下:

vertexAttributes Accessor autocast


說明網格每個頂點屬性的對象。頂點屬性是說明每個頂點的位置(強製)、法線(用於照明計算和著色)和 uv(用於將材質圖像映射到網格表麵)的平麵數值數組。

頂點屬性可以通過組件faces 屬性中指定的索引來處理。如果網格不包含任何組件,或者組件未指定任何麵,則頂點屬性被解釋為每個連續的頂點三元組組成一個三角形。

屬性:

類型說明
position Float64Array

頂點位置的平麵數組。頂點位置具有 x、y 和 z 坐標,它們應該在幾何的空間參考係中。

可選的

頂點 uv 坐標的平麵數組(每個頂點 2 個元素)。

normal Float32Array
可選的

頂點法線的平麵數組(每個頂點 3 個元素,範圍從 -1 到 1)。

color Uint8Array
可選的

自:4.9

頂點顏色的平麵數組(每個頂點 4 個元素,範圍從 0 到 255)。頂點顏色乘以組件材質顏色(如果已定義)。

tangent Float32Array
可選的

自:4.11

頂點切線的平麵數組(每個頂點 4 個元素,範圍從 -1 到 1。第 4 個元素是一個符號值(-1 或 +1),表示切線基礎的手性)。頂點切線用於法線貼圖,請參閱MeshMaterial.normalTexture

例子:

let mesh = new Mesh({ spatialReference: SpatialReference.WebMercator });

// Specify vertices for two triangles that make up a square
// around a provided point. Uv coordinates are setup to cover the square
// from (0, 0) to (1, 1) from corner to corner.
mesh.vertexAttributes = {
  position: [
    pt.x - 10, pt.y - 10, 100,
    pt.x + 10, pt.y - 10, 100,
    pt.x + 10, pt.y + 10, 100,

    pt.x - 10, pt.y - 10, 100,
    pt.x + 10, pt.y + 10, 100,
    pt.x - 10, pt.y + 10, 100
  ],
  uv: [
    0, 0,
    1, 0,
    1, 1,

    0, 0,
    1, 1,
    0, 1
  ]
};

相關用法


注:本文由純淨天空篩選整理自arcgis.com大神的英文原創作品 Mesh.vertexAttributes。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。