[Rigidbody] Применение сил, и скрепление объектов
|
|
XpomIX | Дата: Пятница, 08 Мая 2020, 22:08 | Сообщение # 1 |
был не раз
Сейчас нет на сайте
| Мне нужно чтобы дети общего объекта при воздействии на них сил действовали на остальных, т.е. если a и b запиханных в один объект, будут свои Rigidbody а на них силы(указны стрелочками), то они друг от друга отлетят и не будут одним целым, я бы хотел их как то склеить все кубики. Как можно поступить?
Сообщение отредактировал XpomIX - Пятница, 08 Мая 2020, 22:09 |
|
| |
puksus4 | Дата: Пятница, 08 Мая 2020, 22:50 | Сообщение # 2 |
частый гость
Сейчас нет на сайте
| Ну я не знаю какая физика в юнити используется, но в своём проекте (юзаю Bullet physics) я похожую задачу решал Compound шейпами. Пихал в ОДНО Rigidbody группу из склеенных примитивов. Выглядит вот так. https://prnt.sc/sbzxv4
Я б очень удивился если б в юнити так было бы нельзя.
Сообщение отредактировал puksus4 - Пятница, 08 Мая 2020, 22:56 |
|
| |
XpomIX | Дата: Пятница, 08 Мая 2020, 23:04 | Сообщение # 3 |
был не раз
Сейчас нет на сайте
| Цитата puksus4 ( ) Ну я не знаю какая физика в юнити используется, но в своём проекте (юзаю Bullet physics) я похожую задачу решал Compound шейпами. Пихал в ОДНО Rigidbody группу из склеенных примитивов. Выглядит вот так. https://prnt.sc/sbzxv4
Я б очень удивился если б в юнити так было бы нельзя.
Я думал об этом, но чтобы это реализовать у меня, нужно будет применять силу с разных точек в разные стороны. Вероятно можно сделать проще.
|
|
| |
shizofren | Дата: Суббота, 09 Мая 2020, 18:21 | Сообщение # 4 |
Starting MS-DOS...
Сейчас нет на сайте
| XpomIX, всегда можно управлять силами вручную. В rigidbody есть поле position. Если устанавливать velocity 0, можно задавать самому нужное направление движения. Силы вообще плохо подходят для своей логики, надо управлять позицией объекта вручную. То есть, в твоём случае, надо написать что-то вроде такого: Каждый объект-ребёнок имеет класс "кубик". Родитель имеет объект "родитель". Объект родитель имеет ивент "касание", который сигнализирует всем кубикам, что с одним кубиком произошло касание. Объект-ребенок сообщает объекту родителю, что его коснулись. Объект родитель передаёт всем детям нужное направление движения. Все дети получают направление движения и задают его в FixedUpdate: rigidbody.position += direction * Time.fixedDeltaTime То есть direction - то направление, которое получили все объекты-дети.
Моя команда
|
|
| |
XpomIX | Дата: Суббота, 09 Мая 2020, 19:16 | Сообщение # 5 |
был не раз
Сейчас нет на сайте
| Цитата shizofren ( ) rigidbody.position Спасибо, не знал, это конечно будет замудрённо, но большое спасибоДобавлено (10 Мая 2020, 22:51) ---------------------------------------------
Цитата shizofren ( ) XpomIX, всегда можно управлять силами вручную. В rigidbody есть поле position. Если устанавливать velocity 0, можно задавать самому нужное направление движения. Силы вообще плохо подходят для своей логики, надо управлять позицией объекта вручную. То есть, в твоём случае, надо написать что-то вроде такого: Каждый объект-ребёнок имеет класс "кубик". Родитель имеет объект "родитель". Объект родитель имеет ивент "касание", который сигнализирует всем кубикам, что с одним кубиком произошло касание. Объект-ребенок сообщает объекту родителю, что его коснулись. Объект родитель передаёт всем детям нужное направление движения. Все дети получают направление движения и задают его в FixedUpdate: rigidbody.position += direction * Time.fixedDeltaTime То есть direction - то направление, которое получили все объекты-дети.
Таак, я немного не так понял, я думал что если rigidbody.position поставить на угол, тогда он будет например переворачиваться или что то такое, так можно сделать?
|
|
| |
shizofren | Дата: Понедельник, 11 Мая 2020, 13:38 | Сообщение # 6 |
Starting MS-DOS...
Сейчас нет на сайте
| XpomIX, если хочешь, чтобы переворачивался, тогда надо менять ещё и Rigidbody-rotation. Конечно можно сделать. Я бы сделал так - залочил бы поворот всех объектов в настройке rb, менял бы их позицию вручную, а поворот сделал бы или обычной анимацией, или поворотом трансформа.
Моя команда
|
|
| |