在 Unity 3D 中碰撞时发射粒子

Emit Particle onCollision in Unity 3D

我有一个角色要撞到一枚硬币。当角色与硬币碰撞时,应该会产生一个粒子"animation"。到目前为止,这是我的代码。一些基本的帮助会有很大帮助。此代码附在玩家角色上。

    void OnTriggerEnter(Collider _hit)
{
    if (_hit.tag == "Coin")
    {
        Destroy(_hit.gameObject);
        coinCount++;
        coinsText.text = "Coins: " + coinCount.ToString() + "/" + coinTotal.ToString();
        var Bling : GameObject = Instantiate(Bling, transform.position, Quaternion.identity);
    }
}

这就是你需要做的。

public ParticleSystem collisionParticlePrefab; //Assign the Particle from the Editor (You can do this from code too)
private ParticleSystem tempCollisionParticle;

void OnTriggerEnter (Collider _hit)
{
    if (_hit.tag == "Coin") {
        Destroy (_hit.gameObject);
        coinCount++;
        coinsText.text = "Coins: " + coinCount.ToString() + "/" + coinTotal.ToString();
        tempCollisionParticle = Instantiate (collisionParticlePrefab, transform.position, Quaternion.identity) as ParticleSystem;
        tempCollisionParticle.Play ();
    }
}