BufferGeometry.setFromPoints()
是 three.js
中一个用于设置缓冲几何体的方法。该方法将指定的点集合转换为缓冲几何体的顶点数组,并更新相应的缓冲属性。
setFromPoints(points : Array< Vector3 >) : void
points
: 一个包含 Vector3
对象的数组。这些 Vector3
对象代表要转换为缓冲几何体的点。调用 BufferGeometry.setFromPoints()
方法后,将利用指定的点集合创建缓冲几何体,该几何体的顶点属性将从这些点中构建。每个点都将转换为浮点数的形式,并存储在几何体的 position
缓冲属性中。
该方法还会更新几何体的 attributes
和 bounding box
。此外,如果几何体在创建时未设置任何属性,则将创建一个新的 position
缓冲属性并将其添加到几何体中。
// 创建一个包含多个 Vector3 对象的数组
var points = [
new THREE.Vector3(0, 0, 0),
new THREE.Vector3(0, 1, 0),
new THREE.Vector3(1, 0, 0),
new THREE.Vector3(1, 1, 0)
];
// 创建一个 BufferGeometry 对象
var geometry = new THREE.BufferGeometry();
// 将数组转换为缓冲几何体的顶点数组
geometry.setFromPoints(points);
// 创建一个 Mesh 对象
var mesh = new THREE.Mesh(geometry, new THREE.MeshBasicMaterial());
// 将 Mesh 对象添加到场景中
scene.add(mesh);
通过 BufferGeometry.setFromPoints()
方法,我们能够将点集合转换为缓冲几何体,并且获得了自动更新缓冲属性和 bounding box 的好处。这将极大地简化了创建自定义几何体的过程。