Веб-приложение на Three.js, которое развивается от простой интерактивной 3D-сцены до полноценного визуализатора цветового пространства sRGB/CIELAB.
- Интерактивная 3D-сцена с навигацией камеры через OrbitControls
- Включена отрисовка теней
- Несколько объектов, включая созданные с помощью BufferGeometry (плоскость и пирамида)
- Меш с текстурой (процедурный шахматный паттерн)
- Три источника света разных типов (рассеянный, направленный, точечный)
- Интерактивные элементы управления:
- Интенсивность освещения (3 параметра)
- Цвет источников света (2 параметра)
- Цвет объектов (3 параметра)
- Загрузка 3D-моделей в форматах GLTF, GLB, OBJ, STL
- Поддержка загрузки через:
- Выбор файла через input
- Перетаскивание файла (drag-n-drop)
- Выбор объектов двумя способами:
- Клик по объекту на сцене
- Выбор из выпадающего списка
- TransformControls для интерактивного управления объектами
- Числовые поля для точного ввода:
- Позиция (X, Y, Z)
- Поворот (в градусах)
- Масштаб (X, Y, Z)
- Горячие клавиши: G (перемещение), R (поворот), S (масштаб)
- Пользовательские GLSL шейдеры
- Тор с анимированным волновым эффектом
- Радужная смена цветов (HSV rainbow cycling)
- Волновая деформация геометрии
- Шейдер виден по умолчанию и постоянно анимируется
npm installnpm run devОткройте браузер и перейдите на локальный сервер разработки (обычно http://localhost:5173)
npm run build- Создайте репозиторий на GitHub
- Запушьте код:
git add . git commit -m "Part 3 complete" git tag part-3 git remote add origin ** git push -u origin main git push --tags
- Перейдите в Settings → Pages → Source → выберите "GitHub Actions"
- Деплой произойдет автоматически при каждом push
npm run build
# Загрузите содержимое папки dist/ на любой хостинг.
├── index.html # Основной HTML файл
├── src/
│ └── main.js # Главный файл приложения Three.js
├── package.json # Зависимости проекта
└── README.md # Этот файл
- Three.js - библиотека для работы с 3D-графикой
- Vite - инструмент сборки и сервер разработки
- ES-модули для импорта зависимостей
MIT