Как я могу заставить частицу удалить объект? - PullRequest
0 голосов
/ 10 декабря 2018

В моей игре игрок устанавливает бомбу, бомба взрывается, создавая эффект огня, я хотел бы, чтобы мой огонь мог убить игрока (синий цилиндр) и любые коробки, с которыми он сталкивается.У моей коробки и игрока есть коллайдеры.Мой эффект огня создается, когда взрывается бомба.

Как я могу сделать так, чтобы мой эффект огня уничтожил мои объекты игрока и коробки?

Могу ли я сказать что-то вроде if fire collider hits player collider, destroy player?

Мой код для бомбы следующий:

Instantiate(Firebolt, bomb.gameObject.transform.position, Quaternion.identity);

Схема игры

Game Setup

Ответы [ 2 ]

0 голосов
/ 11 декабря 2018

проверить https://docs.unity3d.com/ScriptReference/MonoBehaviour.OnParticleCollision.html

вы можете применить его к ParticleSystem или к целевым GO, которые должны реагировать на него.

(вам также нужно активировать обнаружение столкновений в системе частиц ANDустановите его в мир.

0 голосов
/ 10 декабря 2018

Вы также можете добавить коллайдер в Firebolt и использовать на нем OnCollisionEnter, проверяя, является ли объект, который вы ударили, игроком или коробкой.

Это простой пример, который уничтожает любого игрока или коробку, с которой он сталкивается.с:

void OnCollisionEnter(Collision collision) {
    GameObject other = collision.gameObject;

    // Here I'm using tag to detect if the hit object is a player or a box
    // but you can use name or other methods
    if (other.tag == 'Player' || other.tag == 'Box') {
        Destroy(other);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...