getSpacedPoints() 方法用于获取路径上等距离的离散点集合,默认情况下离散点之间的距离为路径长度的 0.1 倍。
CurvePath.getSpacedPoints(divisions)
divisions:可选参数,表示路径分段的数量,默认值为 40。返回一个存储 Vector3 类型点集合的数组,表示路径上均匀分布的点。
// 创建路径
const path = new THREE.CurvePath();
path.add(new THREE.LineCurve3(
  new THREE.Vector3(-10, 0, 0),
  new THREE.Vector3(0, 10, 0),
  new THREE.Vector3(10, 0, 0)
));
// 获取路径上等距的点集合
const spacedPoints = path.getSpacedPoints(10);
// 循环遍历点集合
for (let i = 0; i < spacedPoints.length; i++) {
  // 在该点创建一个小球表示
  const ball = new THREE.Mesh(
      new THREE.SphereGeometry(0.2, 16, 16),
      new THREE.MeshBasicMaterial({ color: 'blue' })
  );
  ball.position.copy(spacedPoints[i]);
  scene.add(ball);
}
LineCurve 和 CubicBezierCurve 组成的路径,以保证等距性更加准确。getSpacedPoints() 方法返回的点集合可以用于创建 TubeGeometry 类型的几何体,用于沿着路径建立管道或轨道等形状。