如何在影响点的Unity中创建粒子

时间:2017-06-13 03:36:28

标签: c# unity2d

所以我正在开发一个Pong项目作为学习工具,帮助我习惯Unity作为开发工作室。我想要做的是每次球击中桨时创建一个粒子系统。所以我把一个粒子系统作为一个孩子放在每个桨下面,并使它在每次球与C#中的桨接触时称为粒子系统。它不起作用,我想让它在球和桨之间的撞击点上调用粒子系统。这是我目前的代码:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class ExplosionScript : MonoBehaviour {

public GameObject explosionParticle;

void OnCollisionEnter2D (Collision2D coll) {
    if (coll.collider.CompareTag ("Player")) {
        Explode ();
    }
}

void Explode () {
    Instantiate (explosionParticle, Vector3.zero, Quaternion.identity);
}
}

此代码附加到球GameObject。

Hierarchy for Scene

1 个答案:

答案 0 :(得分:1)

尝试 实例化后explosionParticle.Play();

通常我创建一个单独的ParticleSystem gameobject而不是孩子,所以我可以预制或修改它。然后我宣布 public ParticleSystem explosion;然后将ParticleSystem游戏对象附加到ball explosion属性。

在代码中我会这样做

Instantiate(explosion, transform.position, Quaternion.identity); explosion.Play();