Слоу-новости, немного о портировании на Unity 5
Вчерашний пост Harvester'а о состоянии дел остался незамеченным на фоне анонса игры под PS4, но, тем не менее, он так же важен.
Начнем мы, как ни странно, именно с PS4. Дело в том, что сама принципиальная возможность завести игру на этой консоли базируется именно на Unity 5. Именно поэтому сейчас, когда перенос идет полным ходом, и появилась вчерашняя новость. Хоть и консольной версией занимается другая команда, сейчас они объединили усилия с командой по переносу на новый движок. Так что, как сказал тот же Harvester, версия под консоль не замедляет, а, наоборот, ускоряет разработку новой версии под ПК.
Итак, что разработчики уже успели сделать, а что они нам только готовят?
Одной из вещей, которые пришлось переделать с нуля был весь игровой интерфейс - от navball'а до диалогов и главного меню. Из-за убогости старого API для создания интерфейсов, так получилось, что в старых версиях одновременно работают 3 разных системы интерфейса. В результате, куча кода отведена просто на то, чтобы они не мешали друг другу, что, помимо неудобства, снижает производительность.
Графическая и физическая часть дались разработчикам довольно легко - надо было лишь изменить несколько шейдеров и обновить некоторые параметры физики.
Казалось бы, все хорошо, но беда пришла откуда не ждали - при обновлении движка сломалась логика колес и шасси, из-за того, что WheelCollider'ы, на которых основаны колеса в KSP, после обновления стали более нестабильны, что и привело к таким печальным результатам.
Однако, нет худа без добра - для того, чтобы решить эту проблему колеса решили переделать с нуля, реализовав нормальную физику. Для этого дела разработчики нашли недавно появившийся пакет для Unity, называющийся Vehicle Physics Pro (или VPP), сделанный автором другого известного пакета - Edy's Vehicle Physics. Хотя этот компонент еще и не вышел в релиз, все необходимые для KSP вещи уже были реализованы.
Конечно, не обошлось и без доработок. Например, этот пакет полагается на то, что гравитация всегда направлена вниз, что, очевидно, не относится к KSP (дополнительная печенька тому, кто скажет где вообще "низ" в KSP:) Связавшись с автором пакета, разработчики нашли пути устранения этой и других проблем.
Помимо перехода на новый пакет с улучшением физики колес (наконец-то будут нормальные трение, подвеска и тормоза), разработчики решили переписать код для шасси, посадочных опор и, собственно, колес. Дело в том, что эти вещи разрабатывались в разное время (очень разное время) и из-за этого похожие детали реализованы совершенно по разному, что не есть гуд.
Помимо унификации кода, разработчики хотят улучшить существующее поведение и расширить возможности, используя для этого систему плагинов для колеса. Сейчас выделено 6 разных плагинов: обработчики поворотов, тормозов, подвески, двигателя, повреждений и раскрытия/развертывания.
Кроме того, планируется улучшить управляемость на поворотах за счет внедрения принципа Аккермана (английская вики или объяснение на русском). Также планируется внедрить более экзотичные методы поворота, например, дифференциальный поворот (одна сторона начинает ехать быстрее другой), распространенный на танках.
Еще на тему
Диз стерт, качаю по новой, на рутрекере появилась 1.0.5.1028 .
Спасибо за ответ, кстати.