Interested Article - Tokamak physics engine

Демонстрация системы обнаружения столкновений и физики твёрдых тел в движке Tokamak
Демонстрация физики «веревки», в которой используется шарнирное соединение
Демонстрация физики Ragdoll . Этот рэгдолл сконструирован с использованием комбинации шарнирных и шариковых сочленений (соединений) с ограничениями движения данных соединений. В этой демонстрации несколько рэгдолл-моделей катятся вниз по ступенькам.

Tokamak Game Physics SDK (далее — Tokamak ) — физический движок , работающий в режиме реального времени, который распространяется на основе свободной лицензии BSD с открытыми исходными кодами.

В начале Tokamak был свободным только для некоммерческого использования, однако с мая 2007 года движок перешёл на открытые исходные коды под лицензией BSD.

Особенности

Физический движок Tokamak обладает уникальным итерационным методом для обработки ограничений ( англ. solving constraints ). Этот метод необходим для того, чтобы позволять разработчикам делать выбор между точностью и скоростью и обеспечивать более предсказуемое потребление ресурсов процессора и системной памяти физическим движком. Обработчик ограничений Tokamak’а не вовлекает в обработку большие матрицы, избегая таким образом ограничение на полосу пропускания памяти на некоторых игровых консолях .

Tokamak поддерживает множество типов связей ( англ. joint ), ограничений ( англ. joint limits ) и реалистическую модель трения. Tokamak оптимизирован для наложения ( англ. stacking ) большого количества объектов, что является часто требуемым многими разработчиками игр. Tokamak обеспечивает обнаружение столкновений ( англ. collision detection ) для примитивов ( параллелепипед , сфера , капсула ), комбинаций примитивов и произвольных статических полигональных сеток ( англ. arbitrary static triangle meshes ). Лёгкие «твёрдые частицы» обеспечивают эффекты частиц ( англ. particle effects ) в играх с минимальными затратами.

Tokamak также поддерживает «Разламываемую конструкторскую модель» ( англ. Breakage Constructing models ), которая разламывается в результате столкновений. Фрагменты (обломки, осколки) первоначальной модели будут созданы автоматически встроенными функциональными возможностями движка.

Tokamak API содержит два разных типа классов. Классы интерфейса являются классами объектов, создаваемыми и управляемыми непосредственно основными функциями Tokamak или методами его класса. Другая группа — классы периферии, которые представляют собой обычные классы C++ , определённые и управляемые пользователем.

Tokamak API написан на языке программирования C++ и представляет собой объектно-ориентированный интерфейс, хотя объявление виртуальных функций сведено к минимуму. Вообще-то, как таковых их нет. Причиной данной реализации является то, что на некоторых платформах вызовы виртуальных функций слишком «расточительны» вследствие ограниченного размера кэша .

Использование

Неполный список компьютерных игр , использующих Tokamak :

Примечания

  1. (англ.) . Дата обращения: 27 апреля 2020. 29 ноября 2021 года.

Ссылки

  • на сайте GameDev.ru (рус.)
  • Кристина Каштанова. . GameDev.ru (10 июля 2005). — Основы использования движка «Tokamak» и визуализация в OpenGL . Дата обращения: 4 апреля 2009.
  • Тимур Рузиев. . GameDev.ru (25 июня 2005). — Симуляция физики « тряпичной куклы » с использованием движка «Tokamak». Дата обращения: 4 апреля 2009.
Источник —

Same as Tokamak physics engine