Страница 1 из 1

Как определить силу удара между объектами?

СообщениеДобавлено: 06 авг 2016, 08:32
KingPeas
День добрый коллеги.
Вопрос в следующем, делаем игрушку на подобии червячков. За основу взята физика. Есть объект в виде желе. Состоит он из кучи отдельных Rigidbody2D с CircleCollider.Между всеми ними натянуты пружинки из SpringJoint, чтобы у желе сохранялась форма капли. На каждом rigidbody висит скрипт который OnCollisionEnter2D определяет силу удара и передает это в контроллер желе, где уже выбирается максимальная. Столкнулся с проблемой что когда такая конструкция падает, то при ударе сила Collision.relativeVelocity получается не стабильная.
Каким образом можно рассчитать силу столкновения при этом не могу придумать. Подскажите у кого какие идеи есть?

Re: Как определить силу удара между объектами?

СообщениеДобавлено: 24 окт 2016, 12:49
ReinDeer
KingPeas писал(а):Есть объект в виде желе. Состоит он из кучи отдельных Rigidbody2D с CircleCollider.Между всеми ними натянуты пружинки из SpringJoint, чтобы у желе сохранялась форма капли. На каждом rigidbody

Звучит как ад для физ.движка.
В чем проблема брать скорость до столкновения?

Re: Как определить силу удара между объектами?

СообщениеДобавлено: 24 окт 2016, 13:19
IDoNotExist
Если это нужно для нанесения урона, то вам стоит думать в не в сторону измерения силы столкновения, а в сторону измерения деформации объекта, для не твердого объекта сила столкновения и должна быть не стабильной ибо пружинная конструкция смягчает удар и он получается не мгновенным а "размазанным" по времени, а силу деформации измерить довольно легко, у вас должен быть статичный пивот в центре объекта, и вы должны измерять расстояние между точками столкновения и пивотом объекта, если расстояние проходит некое пороговое значение то и наносите урон.