Русская Википедия:Tokamak physics engine

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Шаблон:Карточка движка

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

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

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

Особенности

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

Tokamak поддерживает множество типов связей (Шаблон:Lang-en), ограничений (Шаблон:Lang-en) и реалистическую модель трения. Tokamak оптимизирован для наложения (Шаблон:Lang-en) большого количества объектов, что является часто требуемым многими разработчиками игр. Tokamak обеспечивает обнаружение столкновений (Шаблон:Lang-en) для примитивов (параллелепипед, сфера, капсула), комбинаций примитивов и произвольных статических полигональных сеток (Шаблон:Lang-en). Лёгкие «твёрдые частицы» обеспечивают эффекты частиц (Шаблон:Lang-en) в играх с минимальными затратами.

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

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

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

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

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

Примечания

Шаблон:Примечания

Ссылки

Шаблон:Игровые движки