工作方法
Three.js Interaction 涵盖射线投射和控件。它说明屏幕输入如何转化为相机射线、交点如何识别对象或实例,以及为什么嵌入式画布需要自己的坐标转换,而不能假定其占据整个窗口。
相机导航和对象操控是两项不同的工作。轨道、飞行、地图、拖动和变换控件各有不同作用。类似编辑器的场景需要协调这些处理程序,以免拖动模型时相机也随之旋转。
预期交付成果
- 相对于画布的对象拾取
- 合适的相机控件配置
- 选择、悬停、拖动或变换行为
从任务简述到审查
- 01定义目标
列出可选择的对象,并确定嵌套网格或实例是否属于独立目标。
- 02映射输入
根据画布矩形对指针位置进行归一化,并通过当前相机执行射线投射。
- 03协调控件
处理操控期间的导航冲突,并在选择发生变化时恢复反馈。