如何在撞击点在 Unity 中创建粒子
How to create particles in Unity at a point of impact
所以我正在开发一个 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);
}
}
此代码附加到球游戏对象。
尝试
explosionParticle.Play();
实例化后。
通常我会创建一个单独的 ParticleSystem gameobject
而不是子项,因此我可以预制或修改它。那我声明
public ParticleSystem explosion;
然后将 ParticleSystem 游戏对象附加到 ball
explosion
属性.
在代码中我会这样做
Instantiate(explosion, transform.position, Quaternion.identity);
explosion.Play();
所以我正在开发一个 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);
}
}
此代码附加到球游戏对象。
尝试
explosionParticle.Play();
实例化后。
通常我会创建一个单独的 ParticleSystem gameobject
而不是子项,因此我可以预制或修改它。那我声明
public ParticleSystem explosion;
然后将 ParticleSystem 游戏对象附加到 ball
explosion
属性.
在代码中我会这样做
Instantiate(explosion, transform.position, Quaternion.identity);
explosion.Play();