Важность правильных физических коллайдеров

Разрабатываю с нуля легковесный игровой движок Force Tech, поддерживающий современные графические эффекты, и способный заменить собой Dark Engine, на котором созданы такие столпы индустрии как Thief 1 / 2 и System Shock 2. Подробнее информация о проекте изложена в статье-FAQ.
Наконец-то дошли руки реализовать поддержку свойства Dimensions редактора DromEd. Как ни странно, этот древний редактор позволяет выставить очень широкий спектр настроек физики: тип коллайдера, влияние гравитации, степени свободы, даже силу трения, упругость и массу, несмотря на то, что в оригинальных играх на Dark Engine (Thief 1 / 2, System Shock 2) эти настройки в большинстве своём не использовались. Но подробнее о том, к чему привело подключение этих настроек в современный физический движок, я расскажу как-нибудь в другой раз ;).

Свойство Dimensions, открытое в окне настроек DromEd
Свойство Dimensions, открытое в окне настроек DromEd

Сейчас хотелось бы немного поговорить о свойстве Dimensions. Назначив его любому объекту, мы можем задать размеры его физического представления, с которым во время игры будут взаимодействовать другие тела. Как правило, эти размеры задаются чуть меньшими, чем реальные размеры объекта, чтобы нивелировать влияние его выступающих частей. К примеру, в Thief 2 есть высокие деревья с большими развесистыми кронами, которых очень много в лесной миссии Trail of Blood. Без учета свойства Dimensions, физическое представление этих деревьев в Force Tech было очень большим, поскольку учитывало их реальные размеры, с учетом раскидистых крон, а это сильно конфликтовало с окружением уровня, который, надо заметить, создавался с учетом этого свойства. Как результат - физическая симуляция никак не могла стабилизироваться и игра с трудом выдавала унылые 5 FPS, а к самим деревьям нельзя было подойти вплотную, поскольку мы упирались в невидимые стены коллайдеров, сформированных раскидистыми кронами. Dimensions же обрамляет коллайдером только ствол дерева, что позволяет подойти к нему вплотную, не упираясь в невидимую листву, которая находится значительно выше.

Таким образом, после внедрения поддержки свойства Dimensions в Force Tech, физическая симуляция стала стабилизироваться значительно быстрее, а по миссии Trail of Blood стало возможно свободно перемещаться без тормозов.

Thief 2, запущенный на Force Tech, миссия Trail of Blood

Подписывайтесь, чтобы не пропускать новости проекта!

16K16K показов
1.1K1.1K открытий