Проблемы с collision в новом Юнити

Физика в Unity

Проблемы с collision в новом Юнити

Сообщение Dan1g3r 03 окт 2010, 15:25

Здравствуйте, уважаемые. Недавно, установив новый Юнити (3.0), среди всего прочего я заметил, что файлы столкновений начали работать некорректно. К примеру:
На сцене стоит куб к нему подходит FPC и начинает обстреливать его сферами(Rigidbody) малого размера(Радиусом 0.2 - 0.4). Сферы которые попали в центральные области - свободно пролетают сквозь. Те-же, что попадают ближе углам - продолжают работать по сценарию. И так далее и тому подобное... @-)
В идеале(на прежней версии) я за неимением достающих знаний, создавал взрывную волну при помощи стандартного объекти и scale, она работала достаточно четко. В данной-же ситуации - выборочно уничтожает объекты.. 8-}

Не подскажете, как с этим бороться? Заранее благодарю.)))
Аватара пользователя
Dan1g3r
UNец
 
Сообщения: 35
Зарегистрирован: 18 май 2010, 23:50

Re: Проблемы с collision в новом Юнити

Сообщение Neodrop 03 окт 2010, 15:43

Настроить правильно. НА ригидбоди "снарядов" поставьте Collision Detection -> Continuous Dinamic
И справку почитать никогда не помешает.
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: Проблемы с collision в новом Юнити

Сообщение Mohenti 31 окт 2010, 16:35

Всё-таки я думаю, что проблема существует. Если скорость rigidbody достаточно велика, то объект зачастую поздно реагирует на коллизию, а то и вовсе не реагирует. На очень больших скоростях всё ещё хуже. Чётко работает геометрия уровня, а вот всё остальное... Проводил разные эксперименты с различными типами физ. материалов, формами коллизии и "Collision detection" - результаты не очень. Достаточно задать скорость в 700 и объект превращается в бесплотного духа.
Mohenti
UNец
 
Сообщения: 4
Зарегистрирован: 31 окт 2010, 16:29

Re: Проблемы с collision в новом Юнити

Сообщение bgeyts667 31 окт 2010, 17:19

Mohenti писал(а):Всё-таки я думаю, что проблема существует. Если скорость rigidbody достаточно велика, то объект зачастую поздно реагирует на коллизию, а то и вовсе не реагирует. На очень больших скоростях всё ещё хуже. Чётко работает геометрия уровня, а вот всё остальное... Проводил разные эксперименты с различными типами физ. материалов, формами коллизии и "Collision detection" - результаты не очень. Достаточно задать скорость в 700 и объект превращается в бесплотного духа.

Если нужно чтобы объект на большой скорости не становился "бесплодным духом" уменьшите FixedTimestep в Edit->ProjectSettings->PlayerSettings
_bgeyts667@gmail.com
Аватара пользователя
bgeyts667
UNITрон
 
Сообщения: 175
Зарегистрирован: 25 авг 2010, 08:30
  • ICQ

Re: Проблемы с collision в новом Юнити

Сообщение Mohenti 31 окт 2010, 17:49

Хм... Это действительно помогло, правда и привело к некоторым извращённым эффектам.
Например персонаж теперь не в состоянии подниматься по лестнице (при этом компьютер подглючивает), а взрывы раскидывают объекты на очень большие расстояния.
Mohenti
UNец
 
Сообщения: 4
Зарегистрирован: 31 окт 2010, 16:29

Re: Проблемы с collision в новом Юнити

Сообщение GrueGames 01 ноя 2010, 09:02

Объекты на высоких скоростях и в 2 версии проходили насквозь. В этом нет ничего удивительного, ведь все вычисления физики - приближенные в целях оптимизации. Ваше физическое тело за 1 темп расчета физики может преодолеть расстояние большее, чем объект на его пути.
Просто не используйте физику для высокоскоростных выстрелов.
Аватара пользователя
GrueGames
UNITрон
 
Сообщения: 200
Зарегистрирован: 11 апр 2009, 16:42
Откуда: Samara, Russia
  • Сайт
  • ICQ

Re: Проблемы с collision в новом Юнити

Сообщение Zaicheg 01 ноя 2010, 09:55

Вернее, используйте её на уровне Raycast.
Дьяченко Роман
e-mail: _zaicheg.reg@gmail.com
skype: zaicheg12
vkontakte: _vk.com/zaichegq
Работа: _wie3.com _www.sanviz.com
Аватара пользователя
Zaicheg
Адепт
 
Сообщения: 3024
Зарегистрирован: 19 июн 2009, 15:12
Откуда: Череповец

Re: Проблемы с collision в новом Юнити

Сообщение Mohenti 01 ноя 2010, 11:36

Но, если я правильно понимаю, лучи прямолинейны, а я же хотел использовать воздействие гравитации на снаряды.
А можно ссылочку на какую-нибудь инфу по Raycast? А то в гугле я ничего серьёзного не нашёл. (если хорошо написано, можно и на английском :D )
Mohenti
UNец
 
Сообщения: 4
Зарегистрирован: 31 окт 2010, 16:29

Re: Проблемы с collision в новом Юнити

Сообщение Zaicheg 01 ноя 2010, 11:39

Mohenti писал(а):Но, если я правильно понимаю, лучи прямолинейны, а я же хотел использовать воздействие гравитации на снаряды.

Используйте. Двигайте свой снаряд транслейтом, а коллизии проверяйте лучами.
Дьяченко Роман
e-mail: _zaicheg.reg@gmail.com
skype: zaicheg12
vkontakte: _vk.com/zaichegq
Работа: _wie3.com _www.sanviz.com
Аватара пользователя
Zaicheg
Адепт
 
Сообщения: 3024
Зарегистрирован: 19 июн 2009, 15:12
Откуда: Череповец

Re: Проблемы с collision в новом Юнити

Сообщение Mohenti 01 ноя 2010, 16:14

А где можно найти более менее подробную информацию по данной теме?
Mohenti
UNец
 
Сообщения: 4
Зарегистрирован: 31 окт 2010, 16:29

Re: Проблемы с collision в новом Юнити

Сообщение Marth 17 дек 2010, 10:28

Немного не в тему, но все же. У меня сферы (какая неожиданность) стукаются о кубы. Я sphereCast-ом для дебага каждый кадр ищу точку коллизии и рисую до нее луч от оружия. От этой точки я строю второй луч, Reflect от нормали (направление отскока). Все хорошо, сферы отскакивают строго по дебажной траектории... но только если это не грань коллайдера. Если грань, то тут мнения у rigidbody и SphereCast-а расходятся. Я сильно уменьшил fixedTimeStep - играть стало невозможно, зато траектории стали совпадать.

Меня бы устроил любой из двух результатов - или сферы отскакивают как считает SphereCast, или же SphereCast рисовал на углах траекторию как отскочит сфера.

Я понимаю, что вероятнее всего ответ будет, что без изменения fixedTimeStep ничего не выйдет, но вдруг кто-то что-то придумает...
Аватара пользователя
Marth
UNец
 
Сообщения: 26
Зарегистрирован: 05 мар 2010, 13:35
Откуда: Томск
  • Сайт

Re: Проблемы с collision в новом Юнити

Сообщение fox 17 дек 2010, 11:59

Зафиксируй момент(поставь timeScale = 0 в момент колизии), когда у тебя сталкивается сфера, и посмотри, возможно она просто проникае твнутрь другого коллайдера и поэтому отскок получается неправильный. это можно обхитрить, если ты знаешь как у тебя должна полететь свера после коллизии, исходя из данных СферКаста, то после колизии, направляй свою сферу туда куда тебе нужно.
Добавить foxumkov в Skype
Мои проекты:
Turbodrive
Изображение

Изображение
Аватара пользователя
fox
UNITрон
 
Сообщения: 255
Зарегистрирован: 07 ноя 2008, 13:02
Откуда: Питер
  • ICQ

Re: Проблемы с collision в новом Юнити

Сообщение Zaicheg 17 дек 2010, 12:12

Marth писал(а):

По ситуации:
- изменить типы сталкивающихся коллайдеров на isTrigger
- изменить типы сталкивающихся ригидбоди на isKinematic
При любом из этих раскладов физика перестанет регулировать отскоки.

fox писал(а):Зафиксируй момент(поставь timeScale = 0 в момент колизии)

Прикольный способ, не думал о нём )
Дьяченко Роман
e-mail: _zaicheg.reg@gmail.com
skype: zaicheg12
vkontakte: _vk.com/zaichegq
Работа: _wie3.com _www.sanviz.com
Аватара пользователя
Zaicheg
Адепт
 
Сообщения: 3024
Зарегистрирован: 19 июн 2009, 15:12
Откуда: Череповец

Re: Проблемы с collision в новом Юнити

Сообщение Marth 17 дек 2010, 12:33

Спасибо!
Пробовал вчера такие способы, были следующие проблемы:
Да, проблема именно в том, что объект проникает внутрь. Я когда доберусь до домашнего компьютера проверю еще раз, но на 80% уверен что в этом дело.
СферКаст он от оружия, что-то вроде ЛЦУ. То есть когда сфера соприкасается с поверхностью "оружие" уже смотрит в другую сторону :(
Я хотел регулировать отскоки самостоятельно, но триггер не возвращает данные о точке соприкосновения, а если делать коллайдером и просто вначале OnCollisionEnter обнулить велосити и пересчитывать по-своему, выходит точно тоже самое (возможно потому, что объект возвращается из состояния проникновения до вызова этого метода).
Это если я все правильно понял, что вы имели ввиду.

Да, может это поможет, меня интересует только 2D.
Аватара пользователя
Marth
UNец
 
Сообщения: 26
Зарегистрирован: 05 мар 2010, 13:35
Откуда: Томск
  • Сайт

Re: Проблемы с collision в новом Юнити

Сообщение Zaicheg 17 дек 2010, 12:49

Действительно, в триггере нет точки.
Вариант с isKinematic на снаряде почему не подходит?
Дьяченко Роман
e-mail: _zaicheg.reg@gmail.com
skype: zaicheg12
vkontakte: _vk.com/zaichegq
Работа: _wie3.com _www.sanviz.com
Аватара пользователя
Zaicheg
Адепт
 
Сообщения: 3024
Зарегистрирован: 19 июн 2009, 15:12
Откуда: Череповец

След.

Вернуться в PhysX

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

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