февраль 2, 2021

Car Customization - Project 1

Добавить в
Мои игры
Торрент
Скачать

Детали проекта:

Студия заинтересована в создании кроссплатформенной игры с гонками и кастомизацией автомобилей. Команде дизайнеров нужен прототип взаимодействия со следующими функциями визуальной настройки:

  • Настраиваемый шейдер поверхности, который позволяет игроку рандомизировать или выбрать новую цветовую схему для автомобиля. Цветовая схема должна гармонично (но не идентично) изменять цвета краски и обивки, сохраняя при этом детали поверхности, такие как ржавчина и износ. Должен быть возможен полный спектр RGB.
  • Система наклеек, которая позволяет игроку при желании добавить один из 4 различных наборов «татуировок» для дальнейшей настройки внешнего вида. Татуировки могут быть однотонными.
  • Система автомобильных украшений, которая позволяет игроку по желанию добавить одно из 4 различных украшений, например. спойлеры, орнамент на капоте и т. д. Они также должны использовать пользовательский шейдер поверхности.
  • Экранный графический интерфейс с кнопками и ползунками для управления настройкой.
  • Конечный автомобиль должен экспортироваться из сцены «Построй свою машину» в сцену «Гонка!» сцена.

Используемые активы:

  • Retro Cartoon Cars – ресурс Cidada от RCC Design, https://assetstore.unity.com/packages/3d/vehicles/land/retro-cartoon-cars-cicada-96158.
  • Бесплатный пакет универсальных аксессуаров, https://assetstore.unity.com/packages/3d/props/free-universal-accessories-asset-pack-141691
  • бесплатные научно-фантастические наклейки Yughues,https://assetstore.unity.com/packages/2d/textures-materials/yughues-free-sci-fi-decals-13322 (не используется, так как декали не добавлялись)

Видео, демонстрирующее функциональность: https://youtu.be/lVZNjOTO3Lk

Анализ:

На основании требуемых функций было задано несколько вопросов:

  • Как изменить оттенок шейдера через пользовательский интерфейс?
  • Как с помощью одного ползунка сделать интерьер и экстерьер автомобиля разными?
  • Как экспортировать доработанную машину в новую сцену?
  • Как применить отдельные украшения к машине?

Подход:

После исследования и тестирования шейдеров, ползунков и дочерних объектов был выбран следующий подход:

  • Шейдер с плавающим свойством "hue" со значением от 1 до 360, которое определяет цвет материала по всему спектру RGB.
  • Второй шейдер с тем же использованием свойства оттенка, что и внешний шейдер, но также проходит через узел, который обесцвечивает его для салона автомобиля.
  • Ползунок, который одновременно управляет оттенком обоих автомобильных шейдеров, изменяя значение свойства оттенка от 1 до 360 на графике шейдера.
  • Кнопки, которые активируют один из четырех дочерних объектов украшения автомобиля на автомобиле и деактивируют все остальные дочерние элементы украшения автомобиля при нажатии.
  • Скрипт, использующий класс DontDestroyOnLoad.перевезти машину на новую сцену

Разбивка подхода:

  • Шейдеры экстерьера и интерьера автомобиля:

И внешний, и внутренний шейдер используют плавающее свойство под названием "hue", которое подключается к узлу Multiply, умножающему float на 360, что делает его диапазоном от 1 до 360. Узел Multiply подключается к узлу Hue, который установлен на красный по умолчанию, а диапазон 1-360 затем определяет оттенок узла.

В шейдере экстерьера различные типы шума объединяются для создания сверкающей текстуры краски. Узел Hue и узел с окончательным шумом, узел Divide, затем подключаются к узлу Multiply, чтобы применить оттенок к текстуре шума, и этот узел Multiply подключается к узлу Albedo мастера PBR. Узел «Эффект Френеля» и узел «Простая кубическая карта», использующий отражающую кубическую карту Unity по умолчанию, затем подключаются к узлу «Умножение», который подключается к узлу «Излучение» PBR Master для создания отражающего блеска на автомобиле.

Шейдер интерьера работает аналогично, но оттенок применяется к текстуре, которая идет с моделью автомобиля, а не к текстуре, созданной в графе шейдера. Узел Texture 2D Asset, настроенный на использование текстуры салона автомобиля, затем подключается к узлу Sample Texture 2D для использования в узле Multiply. Система оттенков, идентичная внешнему шейдеру, также подключается к узлу Multiply, устанавливая цвет текстуры таким же, как оттенок.Затем узел «Умножение» подключается к узлу «Насыщенность», который обесцвечивает его, чтобы он отличался от внешнего оттенка, но при этом выглядел эстетически хорошо. Наконец, этот узел Saturation подключается к узлу Albedo мастера PBR.

  • Интерфейс:

Ползунок в пользовательском интерфейсе имеет скрипт, который позволяет ему управлять плавающим свойством «оттенок» для изменения узла оттенка любого материала, применяемого к указанному игровому объекту.

Каждый из украшений автомобиля задается как дочерний элемент сборного автомобиля, а кнопки в пользовательском интерфейсе имеют скрипт, который активирует соответствующие украшения, деактивируя остальные три.

  • Экспорт:

Сценарий экспорта загружает следующую сцену, не уничтожая объект автомобиля из сцены настройки.

Как скачать Car Customization - Project 1 через торрент

Всего несколько простых шагов:

  • Устанавливаем программу μTorrent, через которую мы будем скачивать торренты
  • Выбираем и скачиваем подходящий торрент-файл репака Car Customization - Project 1
  • Двойным кликом открываем скаченный файл, программа μTorrent запустится автоматически и предложит выбрать место для сохранения дистрибутива.
  • После того как репак скачается, запускайте его. Начнется установка и... это все, приятной игры!