3D Procedurally Generated Rooms Using three.js
Добро пожаловать в мой выпускной проект, который я создал для своего курса по разработке игр! Процедурная генерация и 3D-графика — две из моих любимых областей, когда дело доходит до программирования, и мне было любопытно узнать, будет ли генератор уровней на основе сетки хорошо транслироваться в графический веб-API.
Three.js был выбран благодаря мощному движку и простому в реализации языку. Это действительно отличный язык, и год разработки, который потребовался для завершения проекта, был настоящей радостью, я действительно весело провел время, создавая его.
Пожалуйста, не стесняйтесь комментировать, если у вас есть какие-либо мысли или если вы столкнулись с какими-либо ошибками или проблемами с производительностью. Спасибо за игру! 😊
Перемещение: WASD
Вид: МЫШЬ
Пауза: ESC
Изменить/отменить камеру: 1, 2
Сделать снимок экрана: ПРОБЕЛ
Создать новую комнату: ENTER
Включить основной источник света: L
Показать сгенерированную информацию о комнате: I
Переключить сетку: G
Как это работает:
Всем комнатам назначается цветовая палитра на основе предопределенных цветовых гармоний. Программа проверяет размер комнаты и процедурно выбирает объекты для появления вдоль каждой стены на основе генератора случайных чисел, при условии, что в сетке достаточно места. После создания объектов поверх них помещаются дочерние объекты, такие как украшения, подушки и мелкие предметы.
Объекты стены проверяются на столкновение и появляются только в tсцена, если они не сталкиваются с другими объектами. Некоторым объектам также можно назначить освещение.
Есть много других подходов, которые можно использовать при процедурном создании комнат, но мне нужно было простое решение, чтобы его можно было запустить в браузере, поэтому я выбрал систему на основе сетки. Я большой поклонник инди-платформера Дерека Ю, Spelunky, и его книга с одноименным названием описывает некоторые приемы, используемые здесь.
Я загружу исходный код и отчет о своей диссертации, когда закончу курс, поэтому я опубликую ссылки здесь, когда закончу!
Как скачать 3D Procedurally Generated Rooms Using three.js через торрент
Всего несколько простых шагов:
- Устанавливаем программу μTorrent, через которую мы будем скачивать торренты
- Выбираем и скачиваем подходящий торрент-файл репака 3D Procedurally Generated Rooms Using three.js
- Двойным кликом открываем скаченный файл, программа μTorrent запустится автоматически и предложит выбрать место для сохранения дистрибутива.
- После того как репак скачается, запускайте его. Начнется установка и... это все, приятной игры!