Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Blitz3D

Ответ
 
Опции темы
Старый 27.09.2011, 00:42   #1
teuzet
AnyKey`щик
 
Регистрация: 19.09.2011
Сообщений: 7
Написано одно полезное сообщение
Мягкие тела в Bullet'e

Здравствуйте снова.
Столкнулся с проблемой - необходимо ловить столкновение твердого тела с мягким. В хелпе баллета для этого приведена функция:


int btSoftBodyCheckContactAABB (int softbody, int body, float shiftAABВ)

Параметры:
softbody - мягкое тело.
body - физическое тело.
shiftAABB - значение увеличения ограничивающего контейнера.
Описание:
Проверяет тело на пересечение контейнера. Возвращает 1 если пересечение найдено, в противном случае 0.

Меня смутил последний параметр. Что нужно в нем указывать?
(Offline)
 
Ответить с цитированием
Старый 27.09.2011, 00:55   #2
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Ответ: Мягкие тела в Bullet'e

судя по названию смещение axis aligned bounding box. судя по типу параметра - равномерное увеличение AABB на заданное значение. чем больше - тем больше вероятность, что пересечение сработает. но могут быть лжесрабатывания.
(Offline)
 
Ответить с цитированием
Старый 27.09.2011, 01:00   #3
NitE
злобный флудер
 
Регистрация: 10.07.2007
Сообщений: 2,585
Написано 789 полезных сообщений
(для 1,476 пользователей)
Ответ: Мягкие тела в Bullet'e

Буллет произносится как буллет.
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо NitE за это полезное сообщение:
Colossus (27.09.2011), LLI.T.A.L.K.E.R. (27.09.2011)
Старый 27.09.2011, 10:50   #4
teuzet
AnyKey`щик
 
Регистрация: 19.09.2011
Сообщений: 7
Написано одно полезное сообщение
Ответ: Мягкие тела в Bullet'e

Спасибо. Попытался реализовать - наткнулся на то, что буллет (пусть будет буллет, вам лучше знать=) очень странно обрабатывает столкновения мягких тел и твердых. Оставил проблему на потом.
(Offline)
 
Ответить с цитированием
Старый 27.09.2011, 12:50   #5
Coks
Знающий
 
Регистрация: 29.05.2007
Сообщений: 227
Написано 126 полезных сообщений
(для 312 пользователей)
Ответ: Мягкие тела в Bullet'e

teuzet, возможно, ты толком не понимаешь что такое AABB. Поставь в режиме дебагдравера значение 2 ( DBG_AABB ). Это и есть контейнеры по которым производится обнаружение контактов с помощью данной функции: проверяется положение всех нодов(вершин) мягкого тела на нахождение в контейнере тела переданного во втором параметре.

Для точного определения коллизий есть функции:
btSoftBodyGetNumRContacts%(softBody%)
btSoftBodyRContactGetBody%(softBody%, contact%) 
btSoftBodyRContactGetNode%(softBody%, contact%)
но пока их не советую использовать так как работает только при дефолтовом флаге коллизии (btSoftBodySetFlagCollisions(softbody, 1)) и вообще его лучше не использовать, имеет место утечка памяти при контакте.

p.s. складывается такое впечатление что симуляция мягких тел еще не вышла за рамки экспериментальных.

Последний раз редактировалось Coks, 27.09.2011 в 14:39.
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо Coks за это полезное сообщение:
Артем Валерьевич (27.09.2011), teuzet (28.09.2011)
Старый 27.09.2011, 14:29   #6
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: Мягкие тела в Bullet'e

Сообщение от NitE Посмотреть сообщение
Буллет произносится как буллет.
Тогда уже "булэт".
(Offline)
 
Ответить с цитированием
Старый 28.09.2011, 01:51   #7
teuzet
AnyKey`щик
 
Регистрация: 19.09.2011
Сообщений: 7
Написано одно полезное сообщение
Ответ: Мягкие тела в Bullet'e

Coks, спасибо большое. Наглядно и просто все оказалось=) Теперь можно снова засесть за проблему. По-видимому, придется слегка извратиться...
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Colossus (28.09.2011)
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 14:52.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com