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

132 lines
6.9 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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