[Решено] Вращение объекта
|
|
urbemAngeli | Дата: Пятница, 16 Февраля 2018, 08:49 | Сообщение # 1 |
частый гость
Сейчас нет на сайте
| Всем привет. Долго пытаюсь решить проблему, однако пока безрезультатно. Суть в том, что есть объект, который крепиться при помощи hinge joint. Этот объект нужно повернуть вокруг оси шарнира на определенный угол. Для вращения использую rotation у rigidbody. Проблема в том, что rotation вращает относительно глобальных осей, и в случае, когда я поверну объект (как исходный поворот объекта), то глобальная ось вращения rotation не будет совпадать с осью шарнира. Пробовал переводить рассчитанные углы в глобальные при помощи TransformVector, однако не получилось. Вопрос состоит в том, как мне можно вращать объект вокруг оси шарнира, не зависимо как он повернут к глобальным осям.
Сообщение отредактировал urbemAngeli - Пятница, 16 Февраля 2018, 14:46 |
|
| |
drcrack | Дата: Пятница, 16 Февраля 2018, 09:24 | Сообщение # 2 |
старожил
Сейчас нет на сайте
| тебе нужно localRotation вместо rotation
|
|
| |
urbemAngeli | Дата: Пятница, 16 Февраля 2018, 14:45 | Сообщение # 3 |
частый гость
Сейчас нет на сайте
| drcrack, рассматривал этот вариант, однако не понравилось как сталкивается этот объект с другими при вращении (проходит сквозь них), сейчас же через localRotation добился более "мягкого" столкновения с объектами, таким способом:
Сообщение отредактировал urbemAngeli - Пятница, 16 Февраля 2018, 14:47 |
|
| |
drcrack | Дата: Пятница, 16 Февраля 2018, 16:36 | Сообщение # 4 |
старожил
Сейчас нет на сайте
| Цитата однако не понравилось как сталкивается этот объект с другими при вращении (проходит сквозь них) Чтобы не проходил, надо физические обьекты двигать и крутить с помощью физических методов, а не напрямую Вот здесь пара решений: https://answers.unity.com/questio....pt.html С помощью JointLimits и через spring выглядят неплохо (я не тестил)
|
|
| |