![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Dec 2012
Сообщений: 61
|
К телу применена сила. Как погасить ее при столкновении с препятствием?
Установил эластичность = 0 - нужного эффекта нет. Вижу следующее: Тело сталкивается с статичным объектом (препятствие), тело отбрасывается от препятствия, а потом снова с той же силой летит к препятствию. Хотя второй раз силу к объекту я не прикладывал. Я проверяю код на ошибки, если можете дать совет, буду рад! Заранее спасибо. |
|
|||||
|
Взять текущую скорость тела, и применить к телу импульс той же величины, но с противоположным знаком.
Это работает. Но сразу оговорюсь, что резкой остановки без просчета физики не будет. Тела все равно друг на друга слегка повлияют. Я тоже как-то задавался этим вопросом, перепробовал кучу вариантов, и этот единственный более менее нормальный. На нем и остановился. |
|
|||||
|
Ну или при столкновении просто ускорение в 0 поставить?
![]() |
|
|||||
|
Регистрация: Dec 2012
Сообщений: 61
|
caseyryan, спасибо! небольшой контакт это даже хорошо, попробую Ваш пример! Как я понял, нужна линейная скорость - GetLinearVelocity. соответственно, если я применял не импульс, а силу, то и обратное действие - тоже применяю силу, так?
Asfel - Как установить ускорение? может быть, затухание поставить - SetLinearDamping? |
|
|||||
|
У меня в игре тела вот так останавливаются:
|
|
|||||
|
Регистрация: Dec 2012
Сообщений: 61
|
caseyryan - спасибо большое!!!
Добавлено через 1 час 46 минут заработало, действительно остановились! причем только с ApplyImpulse, как в Вашем примере,удалось добиться такого эффекта - с ApplyForce (я начинал двигать объект этим методом) такого не получилось. |
![]() |
![]() |
Часовой пояс GMT +4, время: 05:26. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|