Соединение разъединение объектов.
|
|
ADT | Дата: Четверг, 12 Октября 2017, 21:49 | Сообщение # 1 |
был не раз
Сейчас нет на сайте
| Такой вопрос. Как можно реализовать соединение разъединение объектов, например как кубики "лего". если такой вопрос обсуждался, прошу поделится ссылкой)
|
|
| |
roma3fon | Дата: Четверг, 12 Октября 2017, 22:34 | Сообщение # 2 |
участник
Сейчас нет на сайте
| ADT, ну самый простой способ, это считать растояния между поверхностями, которые можно соеденить, и перемещать их относительно друг друга, от начальной точки умноженной на количество смещений, и на сам коэффециент, который равен одной пипки, и после прикрепления, либо делать один объект наследником другого, или реализавать нуль обзекты, которые будут содержать все объекты соедененные в один.
|
|
| |
ADT | Дата: Четверг, 12 Октября 2017, 22:42 | Сообщение # 3 |
был не раз
Сейчас нет на сайте
| roma3fon, я пока в это всём не силён). Можно по по подробней как их соединять. Я пробовал OnCollision и если первый объект поднести ко 2 то они становятся дочерними, только вот когда они стали дочерними они всё равно почему то не склеены.
|
|
| |
roma3fon | Дата: Четверг, 12 Октября 2017, 22:47 | Сообщение # 4 |
участник
Сейчас нет на сайте
| ADT, если у тебя на каждом объекте весит скрипт, то после того как ты сделал один объект наследником другого, тебе надо отключить этот скрипт и колайдер (и если есть, то и ригидбоди) на длочернем объекте, и создать такой же колаедор на основном.
Сообщение отредактировал roma3fon - Четверг, 12 Октября 2017, 22:51 |
|
| |
ADT | Дата: Пятница, 13 Октября 2017, 16:37 | Сообщение # 5 |
был не раз
Сейчас нет на сайте
| roma3fon, большое спасибо) буду пробовать. Добавлено (13 октября 2017, 16:37) --------------------------------------------- всё-таки ничего дельного из этого не получилась(. Мне надо что бы соединённые объекты сохраняли свои физические свойства, то есть, я подошёл персонажем соединил 2 блока и подом мог с помощью grab их поднять как 1 или толкнуть самим персонажем, а в дальнейшем мог разъединить.
|
|
| |
drcrack | Дата: Пятница, 13 Октября 2017, 18:11 | Сообщение # 6 |
старожил
Сейчас нет на сайте
| Делать наследником (точнее, дочерним обьектом) это плохое решение, физика будет работать криво Попробуй на один обьект добавить FixedJoint, и в нем в поле Connected Body указать второй обьект Это будет работать, но если ты планируешь из кода как-то перемещать получившийся обьект, возникнут проблемы Правильное решение это (ре-)генерация общего меша на лету, при каждом присоединении/отцеплении обьектов
Сообщение отредактировал drcrack - Пятница, 13 Октября 2017, 18:16 |
|
| |
ADT | Дата: Пятница, 13 Октября 2017, 19:38 | Сообщение # 7 |
был не раз
Сейчас нет на сайте
| drcrack, Я человек простой - ничего не понял). Можно по подробней что оно из себя представляет "ре-генерация мешов на лету) ". И ещё такой вопрос, можно ли как-то скриптом включать и отключать FixedJoint на объекте.
Сообщение отредактировал ADT - Пятница, 13 Октября 2017, 19:39 |
|
| |
drcrack | Дата: Пятница, 13 Октября 2017, 19:55 | Сообщение # 8 |
старожил
Сейчас нет на сайте
| Цитата И ещё такой вопрос, можно ли как-то скриптом включать и отключать FixedJoint на объекте. думаю можно просто его удалить а потом добавить еще раз
Цитата drcrack, Я человек простой - ничего не понял). Можно по подробней что оно из себя представляет "ре-генерация мешов на лету) гугли "unity combine meshes"
|
|
| |
ADT | Дата: Пятница, 13 Октября 2017, 20:29 | Сообщение # 9 |
был не раз
Сейчас нет на сайте
| drcrack, Спасибо. Бужу пробовать.
|
|
| |