Суббота, 20 Апреля 2024, 05:29

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » [Rigidbody] Применение сил, и скрепление объектов ([Rigidbody] Применение сил, и скрепление объектов)
[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, менял бы их позицию вручную, а поворот сделал бы или обычной анимацией, или поворотом трансформа.

Моя команда
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » [Rigidbody] Применение сил, и скрепление объектов ([Rigidbody] Применение сил, и скрепление объектов)
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг