Дневник разработчиков №10: рэгдолл и катапульты
Все верно, Зауроподы были настолько заняты разработкой игры, что не заметили, как наступила пятница и совершенно забыли отписать в блог. До кикстартера рукой подать, и это значит, что они должны работать очень-очень усердно для того, чтобы все выглядело настолько хорошо, насколько это возможно.
На этой неделе слишком много нового, чтобы выкладывать список, поэтому разработчики сделали скриншот отчетного документа. Они скрыли детали для того, чтобы не показывать нам прежде срока несколько сюрпризов, которые будут в видео для кикстартера.
Некоторые из этих скрытых пунктов включают в себя плохих парней, катапульты, сохранение уровней с динамическими объектами (что бы это ни значило) и рэгдолл персонажей. Говоря о котором, рэгдолл - это тема сегодняшнего дневника!
Но прежде, у Зауроподов есть кое-что важное, что они хотели бы отметить:
У Sauropod Team уже 10 000 фанатов!
Во вторник, Sauropod Studio имели радость наблюдать довольно важное событие. Обновляя примерно каждые пять минут страницу на фейсбуке, они ждали, когда число лайков перейдет с 9999 до 10000. И вот, им предоставилась возможность сделать скриншот в ту минуту, когда пятизначный порог был преодолен.
Они еще не решили, что с этим делать, но скоро скажут нам. Как бы то ни было, вот тема дневника этой недели:
Рэгдолл!
Итак, что же рэгдолл за чертовщина такая, спросите вы?
Рэгдолл - это способ симуляции суставной физики персонажа в игре. Вот что есть в Википедии о физике рэгдолл:
В компьютерных физических движках, физика рэгдолл - это тип процедурной анимации, который чаще всего используется как замена традиционной статичной анимации смерти в видео играх и анимационных фильмах.
Так что в целом, мы (повествование от лица Жермена) применили ту же физику, которую использовали для падающих кирпичей замка, на игровых персонажей, зачастую с веселыми результатами.
Главная причина, по которой мы применим физику рэгдолл, связана с хаотичностью (randomness). В рядовой игре, использующей заранее установленную анимацию смерти, создается такая атмосфера, что поигравшего некоторое время игрока тяжело еще чем-нибудь удивить, потому что он, буквально, видел все, что можно. Обычно разработчики противостоят такому эффекту, создавая десятки или даже сотни уникальных анимаций вручную, но в нашем случае, только с одним аниматором, у нас нет такой роскоши. Физика рэгдолл дает нам неограниченное количество анимаций смерти за очень низкую стоимость в плане работы. Создание скелета персонажа заняло у меня примерно столько же времени, как создание единственной покадровой анимации.
Вторая причина связана с неожиданно появляющимся геймплеем. В игре, где креативность является одной из самых важных особенностей, важно создать песочницу (sandbox), где игроки смогут экспериментировать в направлениях, о которых разработчик никогда не думал. Рэгдолл полезен в этом смысле из-за способности взаимодействовать с любым другим объектом физического движка. Например, в более старых играх, мертвые враги не реагируют на другие мертвые тела, лежащие на том же месте. Чаще всего они будут проходить сквозь друг друга или даже ложиться плашмя, располагаясь на наклонной поверхности. Это портит погружение в игру и подтверждает факт, что эти тела больше не являются интерактивными единицами. Программирование скриптов, которые включают в расчет вышеописанное, и реагируют на большое количество стимулов, невероятно трудно, так что физика рэгдолл очень выгодна.
В конце концов, физика рэгдолл просто удивительна. Я могу проводить часы, пробуя каждый возможный способ, которым Бриктрон может умереть. Вот один пример (картинка анимирована, кликните для воспроизведения):
Unity3d делает действительно легким настройку суставного скелета с помощью его
Источник