Продолжаем работу над персонажами — теперь их внешность и поведение собираются из нескольких независимых частей.
Внешность. Настроили смену пола, телосложения и оттенка кожи. Фигура регулируется шейпами: отдельно можно задать полноту или худобу и степень мускулатуры. Для разных полов предусмотрены свои наборы базовых мешей и анимаций.
Одежда. Предметы занимают определённые части тела и объединяются в готовые образы. Если одежда закрывает несколько слотов, система корректно возвращает базовые меши там, где у предмета нет собственного меша — например, чтобы под платьем не оставались брюки. Прическа и головной убор выбираются отдельно от образа. Для настройки сделали инструменты, позволяющие собирать базовое тело и примерять одежду прямо в редакторе.
Пешеходы. При создании они получают случайный образ по полу и возрасту, а также параметры фигуры. Их поведение задаётся профилями: персонажи могут двигаться по городу или останавливаться. Мы добавили большой набор Idle-анимаций и возможность выбирать подходящие состояния для каждого профиля, чтобы остановки не выглядели одинаково.
Пациенты. Они используют общую систему образов, но у них есть дополнительный слой механик: одежду можно снимать, открывая тело, травмы и симптомы. Для пациенток добавили бюстгальтер как отдельную часть базового слоя торса. Пол пациента синхронизируется между игроками и влияет на вариант тела.
Следующие шаги — аксессуары и отдельная система выбора внешности для игроков.
#чтомынапампили
- Генерация сплайнов улиц по мешам дорог (проще говоря границ улиц по дорогам)
- Генерация адресов зданий.
- Доделали генерацию текстуры карты по геометрии города.
- Поправили зрение водителя, работает все еще кривовасто, но уже гораздо лучше.
Вот смотрю я на видос к последнему посту и думаю. Как часто игрок вообще не осознает сколько времени и труда тратится порой на какие-то, на первый взгляд, простые вещи. На видосе я просто чёт подошёл, ножницами чёт потыкал, кусок брюк отвалился, под ним там какая то жижа красная, бинтиком это все замазал и все. Просто приложу вам changeset'ы того, что было сделано ради этого.
Как для программиста, для меня всегда было обидно что-ли, что я не могу показать результат своей работы здесь и сейчас. Художник рисует - ты видишь: круто. Музыкант пишет музыку - ты можешь ее оценить здесь и сейчас.
Код никому не покажешь.
Ну и собственно цель всего этого безобразия за 4 дня:
- перед тем как обрабатывать травму нужно освободить место от одежды.
- после этого уже можно производить манипуляции с травмой и ее симптомами.
- кровотечение видно через одежду.
- если кровотечение стабилизировано его визуал отключается.
- в ближайшее время добавлю прочность предметов и бинты будут терять свои свойства со временем. Их нужно будет снимать и перебинтовывать заново.
Да, логичный вопрос возникает, а зачем отрезать одну штанину, если можно целиком штаны снять.
В планах сделать действия продолжительными по времени. Не очень длинными, чтобы не бесило. Суть в том, что отрезать штанину быстрее, чем снять штаны. А в особо опасных моментах, лишние секунды на счету, и таскать целиком часть одежды просто не выгодно. Но в случаях, когда требуется снять всю деталь одежды, этот процесс будет занимать какое-то время.
👕 Одежда пациентов
- Пациенты теперь появляются в разных комплектах одежды.
- Верх, низ и обувь можно комбинировать между собой.
- Одежда учитывает пол персонажа.
- Рукава и штанины можно срезать отдельно.
- Рубашку или штаны можно удалить целиком.
- Одежда снимается последовательно, начиная с верхнего слоя.
- Для снятия одежды используются ножницы.
- Ножницы не расходуются после применения.
- Если на участке нет одежды, действие снятия не появляется.
🩺 Травмы и симптомы
- Травмы и симптомы получили собственное визуальное отображение.
- Повреждения могут менять внешний вид конкретной части тела.
- Добавлена поддержка синяков, ожогов, порезов, сыпи, ран и кровотечений.
- На повреждениях могут появляться декали, медицинские объекты и другие визуальные элементы.
- Симптомы теперь корректно привязываются к месту травмы.
- Кровотечение появляется непосредственно в области раны, а не в центре части тела.
- Для одной травмы можно настроить разные визуалы в зависимости от части тела.
- Одежда скрывает находящиеся под ней повреждения.
- После снятия одежды становится видна травмированная часть тела.
🎯 Взаимодействие
- Взаимодействие с пациентом стало стабильнее во время движения и анимаций.
- Точки взаимодействия больше не зависят от задержки обновления физических коллайдеров.
- Исправлено исчезновение и мерцание точек на лежащих пациентах.
- Исправлены случаи, когда точки не определялись под некоторыми углами.
- Восстановлена работа дверей скорой помощи и точек подбора закреплённых предметов.
- Недоступные действия больше не мешают доступным точкам взаимодействия.