模型边缘吸附(试验能力)。

选点器本身已经支持吸附到 THREE.Line3,five 的 Model 也提供了 getEdgesBySphere(), 这里只做两件事:

  1. 把光标附近的模型边界线取出来、按离落点的距离排序并限量;
  2. 缓存查询结果,避免每次 mousemove 都重走一遍 BVH。

取出来的线交给 PointSelector.adhereLineProvider,由选点器完成真正的吸附。

interface EdgeSnapOptions {
    cacheStep?: number;
    enabled?: boolean;
    maxEdges?: number;
    radius?: number;
    threshold?: number;
}

Properties

cacheStep?: number

光标移动超过该距离(米)才重新查询,默认 0.12

enabled?: boolean

是否启用,默认 true

maxEdges?: number

单次最多参与吸附的边数,默认 240

radius?: number

查询球半径(米),只在这个范围内找模型边线,默认 0.3

threshold?: number

面片夹角阈值(度),越小越只保留硬边,默认 30