Go Rin Showdown, день 11: путеводные звёзды
Расскажем, как мы облегчаем работу дизайнерам в Unity. Пост с картинками и кодом!
Итак, перед нами встала небольшая проблема: наш персонаж перемещается по точкам, которые в игре никак не отображаются. Таких точек на уровне много и названы они примерно одинаково. Если в редакторе их тоже не визуализировать, то поиск этих точек на уровне может (в долгосрочной перспективе) отнимать довольно много времени и просто доставлять неудобства.
Кроме того, эти точки должны быть правильно связаны между собой. Проверить правильность всех связей на уровне — задача довольно трудоёмкая и плохо автоматизируется. Приходится вручную выбирать точку и проверять каждую из 4-х ссылок, переходя по ней. По имени объекта тоже сходу не определишь, где он находится: пришлось бы придумывать понятную систему именования вершин в графе.
Как мы решили эту проблему
На помощь нам пришли иконки и gizmos.
Расположение невидимых ассетов визуализируется буквально в два клика. Достаточно задать в префабе иконку. Для этого в Inspector'е есть выпадающее меню рядом с названием объекта:
Но мы хотели пойти немного дальше и отрисовывать связи между точками перемещения. Для этого идеально подходят так называемые "gizmo". К ним же относятся и стрелки, за которые мы перетаскиваем объекты в окне редактора, и родственные им инструменты (поворот, размер). С помощью функционала Unity можно рисовать линии, кубы, сферы, и многое другое. Полный список методов можно найти в документации Unity.
В нашем случае для отображения связей между точками мы рисуем линии разных цветов (каждый цвет соответствует одному из направлений) от точки до точки когда объект выделен, и белые короткие (чтобы они не перекрывали цветные линии) когда объект не выделен. В результате можно удобно выделять точки передвижения и на глаз определять, правильно ли они соединены с другими.
Этот небольшой скрипт сильно упрощает дизайн уровня и определённо стоил того чтобы не полениться и потратить на него несколько минут:
В следующих постах покажем плейтесты обновлённого геймплея, ассеты и обновления графического стиля и документации.
Команда "Mad not Crazy"
- Максименко Денис: программист, гейм-дизайнер
- Рома: дизайнер по звуку
- r1gm4r013: музыкант
- MuteYourBrains: концепт-художник
- Сергей Струлев: левел-дизайнер
Свитки разработки
- День 0: объявление о себе
- День 1: первый концепт игры
- День 2: прототип движения персонажа
- День 3: играбельный прототип core-геймплея
- День 4: последняя версия первого прототипа
- День 5: происхождение идеи, часть первая
- День 6: инструменты и документы
- День 7: некоторые задачи дизайна уровней и геймплея
- День 8: первые очертания облика игры
- День 9: название игры и команды
- День 10: маленький апдейт про новый репозиторий