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

Вопрос про физику столкновений

СообщениеДобавлено: 10 мар 2012, 19:28
Friend123
Здравствуйте! Помоги разобраться с физикой столкновений объектов. Ситуация такая: есть два объекта-космических корабля, на них наложен компонент rigidbody и box collider. Гравитация в rigidbody отключена. Вид сверху типа 2D, перемещение по осям X и Z, повороты вокруг оси Y, должна быть постоянная позиция Y = 0. Получается, что когда объекты сталкиваются, то начинается для меня чехарда: объекты меняют углы поворотов по всем осям согласно физике. В итоге игрок может лететь боком, или вниз.
Как сделать так, чтобы при столкновении они вращались только по оси Y?

Re: Вопрос про физику столкновений

СообщениеДобавлено: 10 мар 2012, 20:48
gate1
Сам не пробовал, но может стоит покопать в rigidbody, там есть параметры Freeze Rotation x y z

Re: Вопрос про физику столкновений

СообщениеДобавлено: 10 мар 2012, 20:58
Friend123
gate1 писал(а):Сам не пробовал, но может стоит покопать в rigidbody, там есть параметры Freeze Rotation x y z

Включил обоим объектам Freeze Rotation по всем осям. Игроку помогло, он теперь поворачивается только по командам из скрипта. А вот с другим объектом это не сработало. Если я в него "врезаюсь", то я не поворачиваюсь, а он поворачивается как и было до выключенного Freeze Rotation.

UPDATE. Сделал немного по-другому. Симитировал 2D пространство, а именно поставил Freeze Rotation на оси X и Z, и поставил Freeze Position на ось Y. Теперь вроде всё в норме. Спасибо за помощь.

Re: Вопрос про физику столкновений

СообщениеДобавлено: 10 мар 2012, 21:36
Syberex
Да можно заблокировать отдельно оси, вроде Rigidbody.constraints
http://unity3d.com/support/documentation/ScriptReference/Rigidbody-constraints.html