Files
rltn/test-advanced-collision-editor.js

132 lines
6.9 KiB
JavaScript
Raw Normal View History

// Тест расширенного функционала редактора коллизий
// Файл: test-advanced-collision-editor.js
console.log('🚀 Тестирование расширенного функционала редактора коллизий');
console.log('');
console.log('✨ Новые возможности:');
console.log('');
console.log('1. 📐 Управление параметрами коллайдера:');
console.log(' - Позиция (X, Y, Z) - точное позиционирование');
console.log(' - Поворот (X, Y, Z) - в радианах');
console.log(' - Масштаб (X, Y, Z) - изменение размера');
console.log(' - Кнопка "Применить параметры" для обновления');
console.log('');
console.log('2. 🔄 Дублирование коллайдеров:');
console.log(' - Кнопка "Дублировать коллайдер"');
console.log(' - Копирует все параметры (позиция, поворот, масштаб, цвет, прозрачность)');
console.log(' - Создает копию со смещением на 2 единицы');
console.log(' - Автоматически выбирает новый коллайдер');
console.log('');
console.log('3. 🗑️ Удаление коллайдеров:');
console.log(' - Кнопка "Удалить коллайдер"');
console.log(' - Удаляет выбранный коллайдер из сцены');
console.log(' - Очищает TransformControls');
console.log(' - Обновляет список коллайдеров');
console.log('');
console.log('4. 🚀 Телепорт к интерьерам:');
console.log(' - Секция "Телепорт к интерьерам"');
console.log(' - Список всех доступных интерьеров');
console.log(' - Показывает координаты каждого интерьера');
console.log(' - Мгновенная телепортация камеры');
console.log(' - Автоматическое наведение на интерьер');
console.log('');
console.log('🎮 Как использовать:');
console.log('');
console.log('📐 Управление параметрами:');
console.log('1. Выберите коллайдер кликом');
console.log('2. В секции "Параметры трансформации" введите новые значения');
console.log('3. Нажмите "Применить параметры"');
console.log('4. Коллайдер обновится в реальном времени');
console.log('');
console.log('🔄 Дублирование:');
console.log('1. Выберите коллайдер для копирования');
console.log('2. Нажмите "Дублировать коллайдер"');
console.log('3. Новый коллайдер появится рядом с оригиналом');
console.log('4. Новый коллайдер автоматически выберется');
console.log('');
console.log('🗑️ Удаление:');
console.log('1. Выберите коллайдер для удаления');
console.log('2. Нажмите "Удалить коллайдер"');
console.log('3. Коллайдер исчезнет из сцены');
console.log('');
console.log('🚀 Телепорт:');
console.log('1. В секции "Телепорт к интерьерам" выберите интерьер');
console.log('2. Камера мгновенно переместится к интерьеру');
console.log('3. Камера автоматически наведется на интерьер');
console.log('');
console.log('🔧 Технические детали:');
console.log('');
console.log('📐 Параметры трансформации:');
console.log('- Позиция: точные координаты в 3D пространстве');
console.log('- Поворот: углы в радианах (0 = 0°, π/2 = 90°, π = 180°)');
console.log('- Масштаб: множители размера (1.0 = оригинальный размер)');
console.log('- Валидация: минимальный масштаб 0.1');
console.log('- Шаг: 0.1 для точной настройки');
console.log('');
console.log('🔄 Дублирование:');
console.log('- Копирует геометрию (box/circle/capsule)');
console.log('- Копирует материал и цвет');
console.log('- Копирует все трансформации');
console.log('- Смещение: +2 по X и Z для избежания наложения');
console.log('- Автоматическое обновление TransformControls');
console.log('');
console.log('🗑️ Удаление:');
console.log('- Удаление из Three.js сцены');
console.log('- Удаление из массива collidersRef');
console.log('- Отключение TransformControls');
console.log('- Сброс выбранного объекта');
console.log('');
console.log('🚀 Телепорт:');
console.log('- Загрузка интерьеров через API /api/interiors');
console.log('- Позиционирование камеры: (pos_x, pos_y + 10, pos_z)');
console.log('- Наведение OrbitControls на интерьер');
console.log('- Прокручиваемый список интерьеров');
console.log('- Отображение координат для каждого интерьера');
console.log('');
console.log('🎯 Преимущества:');
console.log('');
console.log('✅ Точность:');
console.log('- Числовые поля для точного ввода параметров');
console.log('- Поддержка десятичных значений');
console.log('- Валидация входных данных');
console.log('');
console.log('✅ Удобство:');
console.log('- Автоматическое обновление при выборе коллайдера');
console.log('- Мгновенная обратная связь');
console.log('- Интуитивный интерфейс');
console.log('');
console.log('✅ Производительность:');
console.log('- Эффективное дублирование объектов');
console.log('- Оптимизированное удаление');
console.log('- Быстрая телепортация');
console.log('');
console.log('✅ Функциональность:');
console.log('- Полный контроль над коллайдерами');
console.log('- Быстрое перемещение по сцене');
console.log('- Удобное создание похожих объектов');
console.log('');
console.log('🚀 Готово к тестированию!');
console.log('Откройте: http://localhost:4000/enhanced-collision-editor');