Удары. Коллайдеры и Rigidbody. Как организовать?

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

Удары. Коллайдеры и Rigidbody. Как организовать?

Сообщение NOVA 26 ноя 2012, 20:59

Здравствуйте. Имеем 2 персонажа. Они друг друга бьют. На персонажах висят ригидбади и общие коллайдеры на тело. Помимо этого имеются коллайдеры на атакующих костях тела для проверки попаданий. Всё вроде работает, да вот беда. Атакующий коллайдер подбрасывает противника вверх, при ударе в ногу. То есть на ригидбади противника действует этот атакующий коллайдер. Физику у Rigidbody отключать нельзя. Иначе провалимся в пол и вообще.
Скрытый текст:
Изображение

Может посоветуете что-нибудь?
Аватара пользователя
NOVA
Адепт
 
Сообщения: 1741
Зарегистрирован: 17 май 2011, 11:45
Откуда: Дядя Саша from Mother Russia

Re: Удары. Коллайдеры и Rigidbody. Как организовать?

Сообщение Volandpro 27 ноя 2012, 16:45

А если у ригидбоди заморозить координату y? Вдруг получится)
Аватара пользователя
Volandpro
UNITрон
 
Сообщения: 242
Зарегистрирован: 19 авг 2012, 17:07

Re: Удары. Коллайдеры и Rigidbody. Как организовать?

Сообщение NOVA 27 ноя 2012, 17:18

Не, не проканает. Надо прыгать и падать.
Аватара пользователя
NOVA
Адепт
 
Сообщения: 1741
Зарегистрирован: 17 май 2011, 11:45
Откуда: Дядя Саша from Mother Russia

Re: Удары. Коллайдеры и Rigidbody. Как организовать?

Сообщение Chaz 27 ноя 2012, 19:02

дык может назначить ригидбодям больший вес, чтобы подкинуть низя было
Chaz
Адепт
 
Сообщения: 1412
Зарегистрирован: 07 апр 2012, 11:24

Re: Удары. Коллайдеры и Rigidbody. Как организовать?

Сообщение AndreyMust19 27 ноя 2012, 20:10

Вешайте триггеры на конечности вместо коллайдеров. Либо после удара коллайдера (ноги) ставьте флаг isTrigger, после выхода ноги из пересечения - сбрасывайте.
Нужна помощь? Сами, сами, сами, сами, сами... делаем все сами
AndreyMust19
Адепт
 
Сообщения: 1119
Зарегистрирован: 07 июн 2011, 13:19

Re: Удары. Коллайдеры и Rigidbody. Как организовать?

Сообщение Андрей 28 ноя 2012, 11:38

Сложно предвидеть правильное решение без тестов и точной картины виртуального боя, движений, размещения коллайдеров на 3d моделеи и т.п. тонкости. Но возможно решение может быть таким.

1. Слой1 коллайдеров "для ходьбы" и каких-то физ. взаимодействий, которые не должны мешать виртуальному бою.
2. Слой2 коллайдеров для нанесения ударов. На них ставим триггеры.
2. Слой3 коллайдеров для для получения ударов. На них ставим триггеры.

Слой1 игнорим от Слоя2 и опять Слой1 игнорим уже от Слоя3. В документации как это сделать написано (см. класс Физики)

При ударах, т.е. вхождения в триггер-коллайдеры между слоями 2 и 3 не будет ненужных физических взаимодействий с коллайдерами из слоя 1. При этом будут вызываться функции-обработчики по событиям вхождения в триггер коллайдер. В классе Monobehavior есть описания.

Если необходимо уменьшить кол-во коллайдеров исходя из оптимизации, то нужно делать тесты и пробовать другие варианты. Всё зависит от конкретного случая: виды ударов, расположения коллайдеров, модель игроков и т.п.
Аватара пользователя
Андрей
UNIт
 
Сообщения: 89
Зарегистрирован: 06 окт 2011, 10:48

Re: Удары. Коллайдеры и Rigidbody. Как организовать?

Сообщение Guyver 28 ноя 2012, 11:49

у меня точно такая же проблема.
на скиненый меш, на разные кости навешал колайдеров, чтобы в анимации расталкивались объекты окружения ....однако внутри анимации бега получается так .. что всё тело целиком подлетает над землёй ... потому что внутри анимации колайдеры долбятся об землю

(з.ы. одариваю физикой кошку, анимация например скакание вокруг пивота ... при этом сам ГО неподвижен)

пытался велосипедить с исключениями колайдеров одних из других ... не особо взлетело (фактически они так и начали игнорить друг друга). пытался игнорить полом эти доп коллайдеры на костях.
Xcombat: 3D шутер на летающих тарелках!
Аватара пользователя
Guyver
UNIверсал
 
Сообщения: 392
Зарегистрирован: 21 июл 2010, 08:04
Откуда: Челябинск

Re: Удары. Коллайдеры и Rigidbody. Как организовать?

Сообщение Shi 28 ноя 2012, 21:28

Сталкивался с такой проблемой - когда коллайдер двигается анимацией\математикой он успевает за минимальное время пройти внутрь другого коллайдера, и при просчете физики отталкивается. Не спасают не констрейты, ни драги, ни дикий fixedTime.
Вижу только 2 варианта решения проблемы:
- части тела - триггера, если не важны данные точки попадания, нормали к поверхности, сила удара и т.д. (основная проблема - не получить данные точки соприкосновения, нет возможности физично "ударить и толкнуть", придется замещать математикой)
- удар непосредственно физикой, через приложения сил к rigidbody, к примеру руки. (но тут лично я не знаю как обсчитать момент, когда необходимо остановить удар - когда ригидбоди "уплывает" слишком далеко)
Если бы подсказали третий вариант, был бы рад.
Аватара пользователя
Shi
UNITрон
 
Сообщения: 211
Зарегистрирован: 30 ноя 2010, 14:58
Откуда: Санкт-Петербург

Re: Удары. Коллайдеры и Rigidbody. Как организовать?

Сообщение waruiyume 28 ноя 2012, 21:46

Пускать лучи/сферы из одного сустава в другой (мимо проходил).
Аватара пользователя
waruiyume
Адепт
 
Сообщения: 6143
Зарегистрирован: 30 окт 2010, 05:03
Откуда: Ростов на Дону

Re: Удары. Коллайдеры и Rigidbody. Как организовать?

Сообщение Receptor 29 ноя 2012, 09:51

Не, не проканает. Надо прыгать и падать.

Так а если только на момент удара и получения урона выключать? Самый простой вариант, который я вижу, пусть хоть и колхозный: в момент соприкосновения кости противнику отключать движение, по Y или пришпиливать к земле AddForce, или массу огромную ставить. Как-то так.
_VK.com
Аватара пользователя
Receptor
Адепт
 
Сообщения: 1706
Зарегистрирован: 22 ноя 2011, 07:09
Откуда: Волгодонск

Re: Удары. Коллайдеры и Rigidbody. Как организовать?

Сообщение KBEP 01 дек 2012, 00:10

обратите внимание на этот пост: http://www.unity3d.ru/distribution/viewtopic.php?f=105&t=12356#p91638
как верно подмечено - решение проблемы кроется в слоях и масках
Аватара пользователя
KBEP
Старожил
 
Сообщения: 598
Зарегистрирован: 24 сен 2012, 23:23
Откуда: Калининград, СПб, Северодвинск

Re: Удары. Коллайдеры и Rigidbody. Как организовать?

Сообщение NOVA 01 дек 2012, 08:06

KBEP писал(а):обратите внимание на этот пост: http://www.unity3d.ru/distribution/viewtopic.php?f=105&t=12356#p91638
как верно подмечено - решение проблемы кроется в слоях и масках

Вы такой интеллектуал! Я восхищён просто.
Аватара пользователя
NOVA
Адепт
 
Сообщения: 1741
Зарегистрирован: 17 май 2011, 11:45
Откуда: Дядя Саша from Mother Russia


Вернуться в Почемучка

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 21