SuperAPI AI 工具集

threejs-interaction

通用与其它

查看项目

更新于 10-15 23:40

技能介绍

用途:为 Three.js 项目补充指针拾取(picking)与交互控制,包括运行轨道控制器、对象拖拽、选择状态维护,以及与 HTML 控件同步。该技能作为用户任务的补充说明,不授权进行无关改动或外部操作。

主要能力:按任务选择控制器并保留交互区域外的普通页面滚动;为重要操作定义指针、触摸、键盘和 HTML 等价的交互方式;将选择状态存于应用状态并以稳定 ID 为键,而非仅依赖临时 mesh 索引。

坐标与拾取:使用实际事件视口矩形转换客户端坐标,公式为 x = 2 * (clientX - left) / width - 1;y = 1 - 2 * (clientY - top) / height。裁剪视图使用该视图的矩形,忽略尺寸为零的视图。射线检测仅针对相关根节点/图层,并考虑子级、实例 ID 及正反面行为。

手势区分与恢复:通过移动阈值区分点击与拖拽;拖出画布时使用指针捕获,处理 pointercancel 与捕获丢失。对象操作占用手势期间临时挂起轨道控制器,并在所有退出路径上恢复。

拖拽平面与变换控件:将世界结果转换到对象的父空间;按用例调整约束与命中容差。着色器可见形变可能不匹配 CPU 射线检测,此时使用代理几何体或其他拾取方法。

性能与清理:将昂贵的悬停计算限制到渲染帧,复用分配并释放控制器/监听器。验证偏移画布、触摸取消、嵌套变换、遮挡、键盘选择和列表更新后选中实例。

限制:精确签名与版本相关行为需查阅官方文档;若无法访问文档,应检查已安装的类型/源码并说明剩余不确定性。其余收费、价格、平台与效果等信息暂未提供。