Модель коллизии
Материал из GTAModding.ru
Версия от 02:46, 13 сентября 2011; Solom (обсуждение | вклад)
Модель коллизии - это физическая модель объекта, которая придаёт осязаемость объекту.
Примеры коллизии:
Коллизия статистических объектов - Это положение вершин и полигонов в зависимости от геометрии модели.
Коллизия динамических объектов - Это модель коллизии из сфер и боксов, для придания физических данных модели.
Бывают несколько типов элементов коллизии: сферы, боксы и полигоны. Для статических объектов, вроде домов, достаточно вершин и полигонов, а для того, чтобы объект подчинялся физике: падал, подпрыгивал при падении на пол, необходимо добавить сферы.
Основы создания коллизии
Создавать коллизию можно в программе Autodesk 3ds max из исходной модели и экспортировать её через Coll IO, или же экспортировать модель в формат .3ds, и с помощью программы Collision Editor v0.2, добавить .3ds файл, обработать его, и затем сохранить файл. Вы получите .col файл.
Материалы коллизии
В коллизиях также используются материалы, для придания определенного звука поверхности, например песка
список материалов, и ID к ним, вы увидите позже.
Bound Sphere и Bound Box
В коллизии присутствуют свойства границы модели, в зависимости от его геометрии.
Bound Sphere - это сфеерическая модель границы.
Bound Box - это коробочная модель границы.
Примеры структуры коллизии для некоторых объектов
- Дом - Имеет небольшое количество полигонов, сфер, в зависимости от геометрии дома.
- Автомобиль - Автомобиль использует большее, по сравнению с остальными моделями, количество сфер. Они отвечают за то, какие детали будут ломаться в результате ударов и столкновений.
- Дерево - Ствол и ветки дерева обычно имеют коллизию из небольшого количества полигонов.
- Дороги - Дороги используют в основном полигоны и вершины.
Если у коллизии не будет геометрии модели, то объект не будет иметь осязаемость, а в случае с отсутствием .col файла автомобиля - игра просто вылетит. Игра также вылетает, если у модели отсутствует имя коллизии, в зависимости от имени модели, то игра также вылетит во время загрузки.