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

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

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

3D-программирование Вопросы, касающиеся программирования 3D мира

Ответ
 
Опции темы
Старый 22.10.2006, 12:12   #1
Ilyich
Нуждающийся
 
Регистрация: 13.08.2006
Сообщений: 90
Написано 0 полезных сообщений
(для 0 пользователей)
Вопрос Box-to-Box collision

Приветствую форумчан!
В блице, как известно, можно выбирать из трех вариантов коллизий (сфера к боксу, сфере и полигону). Все вроде бы здорово, но возникает вот такой вопрос : Если, допустим, коллидятся два бокса, или бокс с плахой (plane), мне что - повешаться с горя? Ставлю, допустим, тип коллизии №2 - боксы вроде коллидятся, но между ними остается пространство (сферическое). Если поставить EnityRadius поменьше, то на углах боксы перекрываются. Ставлю другие коллизии - вообще проходят друг через друга! Вот такая штука. Уже втрой день сижу, разбираюсь, если не разберусь - совершу суицид, точно. Если можно, дайте совет, не относящийся к ODE (не хочетя его использовать). С меня, как водится, свечка за здравие )
(Offline)
 
Ответить с цитированием
Старый 22.10.2006, 13:40   #2
Diplomat
Дэвелопер
 
Регистрация: 07.09.2005
Сообщений: 1,519
Написано 66 полезных сообщений
(для 164 пользователей)
Re: Box-to-Box collision

Решение зависит от контекста.
А вообще - EntityPick тебе поможет. Он пришел в мир, чтоб принести человечеству спасение...
(Offline)
 
Ответить с цитированием
Старый 22.10.2006, 13:56   #3
tormoz
Гигант индустрии
 
Аватар для tormoz
 
Регистрация: 14.12.2005
Сообщений: 2,785
Написано 1,183 полезных сообщений
(для 4,437 пользователей)
Re: Box-to-Box collision

Заказывай венки...
__________________
(Offline)
 
Ответить с цитированием
Старый 22.10.2006, 14:41   #4
jimon
 
Сообщений: n/a
Re: Box-to-Box collision

тебе надо реальная физика ?
или коллизии ?
 
Ответить с цитированием
Старый 22.10.2006, 16:20   #5
SubZer0
Администратор
 
Аватар для SubZer0
 
Регистрация: 03.09.2005
Сообщений: 2,408
Написано 301 полезных сообщений
(для 996 пользователей)
Re: Box-to-Box collision

К сожалению такой коллизии нет, ибо она кодится двумя строчками (если разница позиций по модулю меньше чем опр величина, то передвинуть объект назад)

а вообще в длице целый геморой с коллизиями... если оба меша будут двигаться то коллизия вообще глючить будет...

таким образом решения тут два, или привзывать ОДЕ или смотреть сюда
__________________
Как минимум я помог многим (с)
(Offline)
 
Ответить с цитированием
Старый 22.10.2006, 23:10   #6
tormoz
Гигант индустрии
 
Аватар для tormoz
 
Регистрация: 14.12.2005
Сообщений: 2,785
Написано 1,183 полезных сообщений
(для 4,437 пользователей)
Re: Box-to-Box collision

если оба меша будут двигаться то коллизия вообще глючить будет...
Нужно выставить взаимную колизию, и тогда проблем не будет (на вменяемых скоростях движения на один АпдейтВорлд)
__________________
(Offline)
 
Ответить с цитированием
Старый 23.10.2006, 01:28   #7
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Re: Box-to-Box collision

Сообщение от SubZer0
К сожалению такой коллизии нет, ибо она кодится двумя строчками (если разница позиций по модулю меньше чем опр величина, то передвинуть объект назад)
IMHO, тока если объекты не повернуты. Ну в смысле RotateEntity ent,0,0,0.
Можно припарентить к каждому объекту по кубику, отскалировать как надо и проверять MeshIntersect-ом. НО так мы узнаем пересекаются объекты иль нет, а куда двигать и насколько .
(Offline)
 
Ответить с цитированием
Старый 23.10.2006, 02:28   #8
SubZer0
Администратор
 
Аватар для SubZer0
 
Регистрация: 03.09.2005
Сообщений: 2,408
Написано 301 полезных сообщений
(для 996 пользователей)
Re: Box-to-Box collision

Сообщение от HolyDel
НО так мы узнаем пересекаются объекты иль нет, а куда двигать и насколько .
когда кодится большой проект то у каждого объекта обычно есть свои параметры, а именно (например): позиция, углы, скорость...

и точно также откуда мы знаем куда объект двигать чтоб он передвинулся вперед двигаем его в обратном направлении (типа на отрицательную скорость, или угол развернуть на 180)

у меня обычно процедура MOVE за такие дела отвечает, и в нее (наряду с остальными) передается параметр в виде цифры... если 1, то двигать вперед, а если столкновение то вызываем эту же процедуру только с коэффициентом -1 и все ок...


Сообщение от HolyDel
IMHO, тока если объекты не повернуты. Ну в смысле RotateEntity ent,0,0,0.
Можно припарентить к каждому объекту по кубику, отскалировать как надо и проверять MeshIntersect-ом.
а можно сделать привязку наоборот, к кубикам привязать объекты, тогда и крутить можно будет
__________________
Как минимум я помог многим (с)
(Offline)
 
Ответить с цитированием
Старый 23.10.2006, 09:06   #9
jimon
 
Сообщений: n/a
Re: Box-to-Box collision

HolyDel
сначала куда двигать
потом трение
...
потом что ? физический двиг решил зделать ?
 
Ответить с цитированием
Ответ


Опции темы

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
collision Tormaz 3D-программирование 14 10.11.2009 21:45
2d collision Spy4433 2D-программирование 3 10.10.2009 17:44
Collision bot BaD RaNDoM 3D-программирование 2 07.12.2007 13:36
Collision box H@NON 3D-программирование 10 22.06.2007 01:12
Collision? Lexa 3D-программирование 4 22.10.2005 00:41


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


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