我有一个多边形的顶点(x,y,z)作为输入。如何在three.js中渲染具有这些顶点的多边形? THREE.Geometry()已从three js中删除。如何使用bufferGeometry或任何其他方法绘制平面多边形?现在,当我使用顶点绘制多边形时,它会绘制不完整的网格(多边形)。以下代码用于绘制多边形。
const verticesGeometry = new THREE.BufferGeometry().setFromPoints(measurement.coordinates.map((coord) => new THREE.Vector3(coord.x, coord.y, coord.elevation)))
const polygon = new THREE.Mesh(verticesGeometry , new THREE.MeshBasicMaterial({ color: measurement.color, side: THREE.DoubleSide}))
scene.add(polygon)
屏幕截图显示了我现在面临的问题(三角形正常工作,超过三角形渲染不完整)。提前致谢。 我也尝试使用THREE.ShapeGeometry(),但是多边形会渲染到底部,因为THREE.shape()只接受VECTOR2点。我传递了vector3,但它忽略了第三个(z)点。
let polyShape = new THREE.Shape(measurement.coordinates.map((coord) =>
new THREE.Vector3(coord.x, coord.y, coord.elevation)))
const geometry = new THREE.ShapeGeometry( polyShape )
let polygon = new THREE.Mesh(geometry, new THREE.MeshBasicMaterial({ color: measurement.color, side: THREE.DoubleSide }))
参考下面的图片。
shapeGeometry.getAttribute(...)
。 - Berthur