132 lines
6.9 KiB
JavaScript
132 lines
6.9 KiB
JavaScript
// Тест расширенного функционала редактора коллизий
|
||
// Файл: 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');
|
||
|