Страница 1 из 1

Разное поведение rigidbody в зависимости от цели столкновени

СообщениеДобавлено: 10 янв 2015, 03:41
PanCotzky
Добрый день

Есть такая игра - Osmos. В ней игрок управляет пузырьком, который поглощает другие пузырьки. Пузырёк может двигаться по инерции, отскакивать от стен, но при столкновении с другими пузырьками, но не отскакивает, а просто поглощает их и летит дальше, куда летел. На данный момент я уже реализовал идею того, чтобы пузырёк поглощал другие пузырьки, но он при этом от них отскакивает. Если же я делаю так, чтобы коллайдер не реагировал на пузырьки - он и не поглощает их, поскольку событие OnCollisionEnter не срабатывает. Мне нужно сделать так, чтобы пузырёк отскакивал от стенок как обычно, но при столкновении с другими пузырьками не реагировал на них физически, но всё равно запускал событие OnCollisionEnter. Подкинете идей, как это сделать?

Алсо, сама игра Osmos: https://www.youtube.com/watch?v=Bg-4OIXsyus

Re: Разное поведение rigidbody в зависимости от цели столкновени

СообщениеДобавлено: 05 май 2018, 04:19
iq110
Сделать другие пузырьки триггерами и накинуть на них скрипт, который на OnTriggerEnter будет делать то что вам нужно при столкновении с ними

Re: Разное поведение rigidbody в зависимости от цели столкновени

СообщениеДобавлено: 07 май 2018, 17:07
immeasurability
стены коллайдер collider_wall
позырьки один коллайдер collider_unit
позырьки второй коллайдер (тригер) collider_unit_trigger

в настройках столкновения
collider_unit vs collider_wall = true
collider_unit vs collider_unit = false
collider_unit vs collider_unit_trigger = true

далее
в коллайдер collider_unit_trigger триггер true

в скрипте на коллайдере collider_unit_trigger вешаешь код
с методом OnTriggerStay

в методе OnTriggerStay, отнимаешь радиус либо свой если свой радиус меньше чем у врага, либо радиус врага если наш радиус больше врга

все! изи пизи делал уже свой осмос ради эксперемента