Quest3D - Русскоязычное сообщество

Quest3D => Физика => Тема начата: Droni от 17 Августа 2009, 12:18:28



Название: взаимодействие объектов
Отправлено: Droni от 17 Августа 2009, 12:18:28
Как сделать так, чтобы ODE объект взаимодействовал с одними ODE объектами и не взаимодействовал с другими ODE объектами?
 Например, есть плоскость и две сферы, необходимо, чтобы одна сфера падала на первую плоскость, а вторая должна проходить сквозь эту же плоскость.


Название: Re: взаимодействие объектов
Отправлено: barmadjar от 17 Августа 2009, 21:47:48
Насколько я понимаю, для этого используется канал Newton Material Contact (07-Physics\Newton\Materials\Material Contact). C помощью него задается то, как будут контактировать материал одного Newton Body (подключается к первому чайлду канала Material Contact) и второго, подключенного ко второму чайлду. Дважды щелкнув на канале Material Contact, входим в его свойства. Если снять галочку Collidable, один объект будет проходить сквозь другой.
Зайди в Program Files в дирректорию, куда установлен Quest - там Examples\NfQ Demos\ пример 15-Contact Behaviour. Поэкспериментируй.
Соответственно такую процедуру надо проделать для всех объектов. Material Contact описывает взаимодействие только 2-х объектов.


Название: Re: взаимодействие объектов
Отправлено: DimiS от 18 Августа 2009, 11:08:28
в принципе это неплохой совет для тех кто пользуется Newton физикой, но тут человек явно указывает на использование ODE...
я не вникал в ODE совсем, но там помоему коллизия происходит только между теми объектами для которых ты её вычисляеш, т.е. вызываеш ченел с чётким перечнем объектов


Название: Re: взаимодействие объектов
Отправлено: barmadjar от 18 Августа 2009, 15:19:29
Ой :o
Прошу прощения!Просто мыслю уже только ньютоновской физикой, так, что даже видя ODE в тексте, мозг автоматически уже интерпретирует, что это про Newton.
Видимо, пора в отпуск ;D


Название: Re: взаимодействие объектов
Отправлено: IDEV от 19 Августа 2009, 21:08:55
Люди а возможно устанавливать ньютоновские команды только для отдельных объектов? Чтобы можно сделать сброс или что другое только для отдельных обьектов


Название: Re: взаимодействие объектов
Отправлено: DimiS от 19 Августа 2009, 22:10:43
ченел Newton Body Command   8)
тренеруй глазки :o


Название: Re: взаимодействие объектов
Отправлено: IDEV от 19 Августа 2009, 22:21:59
Да это понятно. Мне надо, чтобы команда отдавалась только конкретным телам. Пример- 2 шарика падают, я делаю Pause- один зависает в воздухе (Pause), второй продолжает падать (на него эта команда не должна влиять)

DimiS Еслиб так просто было- я бы не спрашивал :)


Название: Re: взаимодействие объектов
Отправлено: DimiS от 19 Августа 2009, 23:23:41
Ну ты спросил про резет -- с помощью этого ченела это делается. И тела там очень даже конкретны.
А как ты себе представляешь паузу для одного объекта?))
Если надо чтоб с ним перестали взаимодействовать другие объекты, то просто копируешь в отдельную матрицу значение Newton Body. И дальше для отображения этого объекта используешь эту матрицу. А Newton Body делаешь Destroy с помощью того же ченела. Если понадобится потом заново запустить это тело то в качестве стартовой матрицы используй ту что сохранял.
Если надо чтоб он стал статикой то сделай ему массу 0. Опять же с помощью Newton Body Command


Название: Re: взаимодействие объектов
Отправлено: IDEV от 20 Августа 2009, 10:39:23
А можно для каждого отдельного тела динамически (во время запуска программы)устанавливать массу? ИМЕНННО ЧТОБЫ ДЛЯ КАЖДОГО ОТДЕЛЬНОГО ТЕЛА


Название: Re: взаимодействие объектов
Отправлено: DimiS от 20 Августа 2009, 13:51:39
ну псдц, чем дальше в лес тем толще партизаны
подключаешь к One Time ченелу ИМЕНННО ДЛЯ КАЖДОГО ОТДЕЛЬНОГО ТЕЛА по одному вызову Newton Body Command: Set Mass


Название: Re: взаимодействие объектов
Отправлено: IDEV от 20 Августа 2009, 14:02:41
Спасибо) Я так понял такое можно проделать и с отдельной группой тел


Название: Re: взаимодействие объектов
Отправлено: Andrey от 08 Июня 2016, 05:53:16
а почему в невтоне когда сделать много машин, штук 20-30, начинает сильно тормозить? машины все на расстоянии друг от друга, коллизия у каждой машины из двух кубов (корпус и кабина), закрывающие остальные части(подвеску). ну когда машины падают на ландшафт на старте, всё плавно гладко, и едут плавно. а как только врезаются друг в друга, втираются, и сразу всё тормозить начинает. коллизия корпуса вроде закрывает подвеску от влияния на другие машины. или может просто ограничение по количеству физических тел?