Рабочий подход
Three.js Interaction охватывает raycasting и контроллеры. Он объясняет, как экранный ввод превращается в луч камеры, как пересечения определяют объекты или экземпляры и почему для встроенного холста нужно отдельное преобразование координат, а не расчёт на всё окно.
Навигация камеры и манипуляции с объектами — разные задачи. Orbit, fly, map, drag и transform-контроллеры выполняют разные роли. В сцене, похожей на редактор, эти обработчики нужно согласовать, чтобы перетаскивание модели не вращало камеру.
Ожидаемые результаты
- Выбор объектов в координатах холста
- Подходящая конфигурация управления камерой
- Поведение выделения, наведения, перетаскивания или трансформации
От задания к проверке
- 01Определите цели
Перечислите выбираемые объекты и решите, считать ли вложенные меши или экземпляры отдельными целями.
- 02Сопоставьте ввод
Нормализуйте позиции указателя относительно прямоугольника холста и выполните raycast через активную камеру.
- 03Согласуйте контроллеры
Управляйте конфликтами навигации во время манипуляций и восстанавливайте визуальную обратную связь при смене выделения.