PDA

Просмотр полной версии : Реакция на столкновение


Sp1R1t
07.08.2007, 03:33
Формчане, здраст! Кто-нибудь даст ссылку на ресурс или наведет на мысль вот в каком вопросе (гуглил...но ничего ессно не нашел):
есть 2 движущихся, вращающихся прямоугольника (короче машинки с видом сверху). В определенный момент они сталкиваются, затем они должны реалистично взаимодействовать(т.е. можно скажем подрезать соперника и он закрутиться, ну и т.д.). Проблем в определении столконовения и последующем правильном расположении прямоугольников нет. А вот с реакцией беда.....я даже не знаю с чего начать. Помогите, пжалуста:o

bbexp
07.08.2007, 10:26
Надо физику читать.
http://ru.wikipedia.org/wiki/%D0%97%D0%B0%D0%BA%D0%BE%D0%BD%D1%8B_%D0%9D%D1%8C%D1%8E%D1%82%D0%BE%D0%BD%D0%B0#.D0.9F.D0.B5.D1.80.D0.B2.D1.8B.D0.B9_.D0.B7.D0.B0.D0.BA.D0.BE.D0.BD_.D 0.9D.D1.8C.D1.8E.D1.82.D0.BE.D0.BD.D0.B0

Eric Gurt
07.08.2007, 10:54
я всегда делал прямоугольники, состоящие из 4 точек, у который есть позиция и скорость по Х и У. Если это машинки - то на каждом кадре скорость " *= 0.99". Просто проверяешь столкновение всех 4 точек одной машины с другой (
if (_root["car"+i].hitTest(px[i2], py[i2], true)) { }
), и если точка в другой машине - то определяешь, в какую сторону точка должна отлететь (опять таки хит тестом, только с четырмя зонами. у каждой зоны свое направление). И самое главное - все точки каждой машины должны быть соединены пружинками, тоесть они могут отталкивать и притягивать точки (они должны влиять как на скорость, так и на позицию, чтобы избежать эффекта бесконечного дергаться). Мовие клип распологаешь потом по трем опорным точкам.
И все!

VovkaMorkovka
07.08.2007, 13:15
...

Мне кажется Ваш подход несколько усложнен.
Я - бы делал так:
1. Создал массив из 4 - х точек для каждой машины
2. проверка в цикле пересекаются - ли прямые задающие контур машины
3. Если пересекаются, то у каждой машины есть две составляющих скорости: движения и вращения вокруг некоторой оси, для простоты можно принять, что ось проходит через центр прямоугольника.
4. Расчитываешь скорости используя законы сохранения импульса и энергии
5. Если машинок много, то делим пространство на области и для каждой машинки проверяем на столкновение только те, которые входят в область
//
p.s. Получается весьма реальистично т.к. аналогично тому как в природе.

bbexp
07.08.2007, 20:15
Не знаю насколько по уровню - но вот одна из многих ссылок, которые могут быть полезны.
http://lab.polygonal.de/category/physics/

Sp1R1t
08.08.2007, 00:16
4. Расчитываешь скорости используя законы сохранения импульса и энергии
да мне в общем-то именно это и надо поподробнее. Использовать просто импульс без учета вращения выглядит не совсем красиво(хотя так же сделано и в alien shooter)...мне нужно получить в итоге не только скорости по х и у но и обязательно вращение
ps если я правильно понял, то с вращением нужно поступить так же, как и со скоростью...то есть использовать импульс?

Eric Gurt
08.08.2007, 01:31
Мне кажется Ваш подход несколько усложнен.
Я - бы делал так:
...
p.s. Получается весьма реальистично т.к. аналогично тому как в природе.
если попробуешь сравнить - то мой способ реалистчнее, да и проще для реализации. Ну и конечно очень класно, если от сильного удара машину перекручавает :)

artcraft
08.08.2007, 02:29
Не знаю насколько по уровню - но вот одна из многих ссылок, которые могут быть полезны.
http://lab.polygonal.de/category/physics/
bbexp, классная ссылка!

Eric Gurt
09.08.2007, 03:39
вылаживаю исходник моей версии

CrazyFlasher
09.08.2007, 12:54
какой пароль для архива?

Eric Gurt
09.08.2007, 23:53
Я выложил исходник чего-то вроде того, что делает Sp1R1t с подробными комментариями под 8 и 6 флэш. Кста, под 6-ую версию ужасно медленно работает.

Если Sp1R1t собирается делать что либо серьезное - то я сообщу пароли позже.

Eric Gurt
11.08.2007, 22:18
pass: phys

AlliAS
13.08.2007, 12:31
Прикольно.... но кода мнооого для токого свиду прастова мувика

Draw
29.10.2007, 13:03
Люди, я так и не понял физику, можно чучуть по проще??? :)

Nirth
29.10.2007, 13:08
Люди, я так и не понял физику, можно чучуть по проще???
Предлагаю сменить вселенную, на ту где легче с физикой.

Eric Gurt
29.10.2007, 22:01
Люди, я так и не понял физику, можно чучуть по проще??? :)

этот мир состоит из точек (атомов) и пружинок между ними... пружинки могут стягивать или отталкивать два атома, взависимости от расстояния между ними... да вот и все почти как в мире в котором мы живем... :)