Получение урона при столкновении

Физика в Unity

Получение урона при столкновении

Сообщение Expirian 09 мар 2014, 14:29

Здравствуйте! Появилась такая проблема:
Допустим, что есть объект(rigidbody2d) и игрок способен его двигать. При столкновении с другими коллайдерами(стены, пол) игрок должен получить урон(минусуется переменная PlayerHP). Казалось бы, можно всё решить таким кодом:

Синтаксис:
Используется csharp
void OnCollisionStart2D(Collision2D collision){
 if(collision.relativeVelocity.magnitude > 6)//вычитаем такое-то значение
}
 


Однако если объект будет катиться по коллайдеру со скоростью больше 6, то он будет всё время получать урон. Оно и ясно: мы отнимаем хп при каждом столкновении(коих при "поездке" по коллайдеру будет множество). Хотелось бы узнать, как можно иначе раздавать урон, и при этом не отнимать хп, если объект катится/трется при падении или взлете об коллайдер.

Заранее благодарю за помощь!
Последний раз редактировалось Expirian 09 мар 2014, 17:46, всего редактировалось 1 раз.
Expirian
UNец
 
Сообщения: 2
Зарегистрирован: 03 фев 2013, 06:48

Re: Получение урона при столкновении

Сообщение _Ignat_ 09 мар 2014, 16:53

Trigger, layuot, tag.
Изображение
| · участник клуба GCC · |
Аватара пользователя
_Ignat_
UNITрон
 
Сообщения: 311
Зарегистрирован: 11 дек 2013, 20:26
Откуда: Российская Федерация
  • Сайт

Re: Получение урона при столкновении

Сообщение Expirian 09 мар 2014, 17:37

_Ignat_ писал(а):Trigger, layuot, tag.

Хотелось бы знать, какой layout вы имеете в виду. И чем могут помочь теги в данной ситуации?
Expirian
UNец
 
Сообщения: 2
Зарегистрирован: 03 фев 2013, 06:48

Re: Получение урона при столкновении

Сообщение _Ignat_ 09 мар 2014, 18:44

Expirian писал(а):Хотелось бы узнать, как можно иначе раздавать урон, и при этом не отнимать хп, если объект катится/трется при падении или взлете об коллайдер.

Я ответил.
Теги помогают как раз в таких ситуациях, когда надо "отсеивание", а слои там же.
Изображение
| · участник клуба GCC · |
Аватара пользователя
_Ignat_
UNITрон
 
Сообщения: 311
Зарегистрирован: 11 дек 2013, 20:26
Откуда: Российская Федерация
  • Сайт

Re: Получение урона при столкновении

Сообщение Nexorion 13 мар 2014, 11:55

Дабы не плодить темы, отпишу тут.
Имеем 2 машины("молот" и "наковальня" ), пол, стену. Ставим "наковальню" у стены боком, въезжаем в нее "молотом" на скорости около 60 км/ч.
По идее, больше всего урона должна получить "наковальня", т.к. ей удар пришелся с двух сторон. Как это обсчитается движком и как это задать правильно? Как понять, что удар пришелся в бок наковальни и в лоб молота?Может где эта тема уже поднималась, подскажите :)
Если можно, поделитесь примером скрипта)
Прошу прощения за свои вопросы. Да, опыта у меня пока что нет.
Nexorion
UNITрон
 
Сообщения: 239
Зарегистрирован: 13 мар 2014, 06:14


Вернуться в PhysX

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

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