Предсказание траектории

Физика в Unity

Предсказание траектории

Сообщение Prophet 23 мар 2011, 14:23

Доброго времени суток!
Необходимо предсказывать дальнейший полет шарика после отскока от других коллайдеров. Шарик соответственно имеет Rigidbody и Collider. Пробовал вывести формулу для расчета с учетом силы трения воздуха и без, но она дает неверные данные. Если только поставить на шарике Drag = 0, то предсказывает правильно, однако, шарик начинает вести себя нериалистично.

Есть ли в [unity 3D] какие-либо средства, либо уже известные методы (алгоритмы) предсказания траектории движения? Хотелось бы чтоб предсказания проводила сама физика, т.к. требуется высокая точность предсказания.
И может кто знает как можно учитывать параметр Drag при просчете траектории "вручную"?

Спасибо.
Prophet
UNец
 
Сообщения: 18
Зарегистрирован: 02 янв 2011, 12:36

Re: Предсказание траектории

Сообщение alexz 23 мар 2011, 16:30

Если коллайдеры неподвижные, пусти перед шариком другой, невидимый. Траектория невидимого шарика будет предсказывать траекторию главного шарика.
alexz
UNITрон
 
Сообщения: 270
Зарегистрирован: 16 ноя 2010, 23:37

Re: Предсказание траектории

Сообщение Paul Siberdt 23 мар 2011, 16:51

Можно шарик пустить математикой, а не физикой, благо, все данные по столкновениям/отражениям получить можно от трассировщика. Ну и, при надобности, эту математику считать в одном кадре для построения траектории.
Аватара пользователя
Paul Siberdt
Адепт
 
Сообщения: 5317
Зарегистрирован: 20 июн 2009, 21:24
Откуда: Moscow, Russia
Skype: siberdt
  • Сайт

Re: Предсказание траектории

Сообщение Prophet 23 мар 2011, 20:47

Paul Siberdt писал(а):Можно шарик пустить математикой, а не физикой, благо, все данные по столкновениям/отражениям получить можно от трассировщика. Ну и, при надобности, эту математику считать в одном кадре для построения траектории.

Если речь идет о разложении всех действующих сил на шар, и математического вычисления формулы, то это я пробовал, правда не удачно. Не понятно как учитывать при выводе формул параметры Rigidbody, в частности Drag. Просчет производил в OnCollisionExit шарика, т.к., если я правильно понимаю, в этот момент времени известна скорость (направление и др.) шарика уже после столкновения. И что вы имеете ввиду под трассировщиком?
Prophet
UNец
 
Сообщения: 18
Зарегистрирован: 02 янв 2011, 12:36

Re: Предсказание траектории

Сообщение Paul Siberdt 23 мар 2011, 21:18

Двигаем шарик не физикой, а математическим/кинетическим транслейтом.
Вместо силы использовать свою величину скорости/ускорения и так далее.. все формулы берутся из курса физики за пятый или шестой классы... не помню.

Трассировка - это луч Physics.Raycast вперед по движению и получение через него позицию столкновения, расчет вектора оттражения и так далее.

Драг - это дэмпинг. То есть, сопротивление среды. Изобразить его математически можно, постоянно уменьшая скорость шарика.
Аватара пользователя
Paul Siberdt
Адепт
 
Сообщения: 5317
Зарегистрирован: 20 июн 2009, 21:24
Откуда: Moscow, Russia
Skype: siberdt
  • Сайт

Re: Предсказание траектории

Сообщение Order 24 мар 2011, 14:24

Бильярд делаешь ?

Тогда как и говорили рейкаст из точки шара в нужную сторону, запоминаешь в начальную точку, и последующие точки столкновений луча. В точку столкновения измеряешь угол от нормали, бросаешь следующий рейкаст с зеркальным углом дальше и тп..
Потом проводишь линии между точками.
Если нужно другие шары трассировать, то по радиусам столкновений надо считать отскок.
Ну и соответственно математикой двигать а не юнити физикой.
Добавить rusorder в Skype , _juc4you@mail.ru ;
Платные консультации, программирование ваших проектов Unity3d,C#,IOS,Android.
Скрытый текст:
_ttp://www.youtube.com/watch?v=1m2qTnatSjM&list=UUjcKNvONEUHCILG7QrX1NFg
Order
Старожил
 
Сообщения: 805
Зарегистрирован: 21 фев 2010, 10:34

Re: Предсказание траектории

Сообщение Prophet 24 мар 2011, 21:05

Нет, не бильярд. Игра с мячом. мяч летает в воздухе, соответственно по параболической траектории. Рэйкастом здесь не получится.
Собственно я обошел эту проблему. В Rigidbody.Drag поставил 0, что упрощает расчеты, а отсутствие сопротивления воздуха компенсировал увеличением массы.
Prophet
UNец
 
Сообщения: 18
Зарегистрирован: 02 янв 2011, 12:36

Re: Предсказание траектории

Сообщение mentors 24 мар 2011, 21:08

Prophet писал(а):Нет, не бильярд. Игра с мячом. мяч летает в воздухе, соответственно по параболической траектории. Рэйкастом здесь не получится.
Собственно я обошел эту проблему. В Rigidbody.Drag поставил 0, что упрощает расчеты, а отсутствие сопротивления воздуха компенсировал увеличением массы.
А чем компенсировать отсутствие ускорения свободного падения?
Аватара пользователя
mentors
UNITрон
 
Сообщения: 309
Зарегистрирован: 20 мар 2011, 19:32
Откуда: Россия

Re: Предсказание траектории

Сообщение Prophet 24 мар 2011, 22:28

mentors писал(а):
Prophet писал(а):Нет, не бильярд. Игра с мячом. мяч летает в воздухе, соответственно по параболической траектории. Рэйкастом здесь не получится.
Собственно я обошел эту проблему. В Rigidbody.Drag поставил 0, что упрощает расчеты, а отсутствие сопротивления воздуха компенсировал увеличением массы.
А чем компенсировать отсутствие ускорения свободного падения?

А его не надо компенсировать, оно как было, так и есть. Параметр Drag не как не связан с гравитацией.
Prophet
UNец
 
Сообщения: 18
Зарегистрирован: 02 янв 2011, 12:36

Re: Предсказание траектории

Сообщение mentors 24 мар 2011, 22:39

Prophet писал(а):А его не надо компенсировать, оно как было, так и есть. Параметр Drag не как не связан с гравитацией.

Хорошо, имитируй удар в верх (не по пологой дуге, а пиком) и насладись как твой мяч с постоянной скоростью будет падать в низ... Потом посмотри на поведение мяча во время игры в футбол, прикинь траектории у крученого... Для такой игры нужна математика, а не слабенькая физика [unity 3D]...
Аватара пользователя
mentors
UNITрон
 
Сообщения: 309
Зарегистрирован: 20 мар 2011, 19:32
Откуда: Россия

Re: Предсказание траектории

Сообщение Order 25 мар 2011, 11:22

Хоть парабола хоть синусоида, рассчитывай математикой и двигай по ней без физики юнити.
Тебе баллистическую траекторию надо ? видел матрицы пред расчета для этого есть, это если быстро надо , ели точно , то по формулам точки считать.
Добавить rusorder в Skype , _juc4you@mail.ru ;
Платные консультации, программирование ваших проектов Unity3d,C#,IOS,Android.
Скрытый текст:
_ttp://www.youtube.com/watch?v=1m2qTnatSjM&list=UUjcKNvONEUHCILG7QrX1NFg
Order
Старожил
 
Сообщения: 805
Зарегистрирован: 21 фев 2010, 10:34


Вернуться в PhysX

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2