[英]Unity - No Particle Effect on GetKeyDown
我正在嘗試完成 Unity 的初級程序員使用代碼 2 路徑創建的第 4 次挑戰的獎勵問題之一。 說明是“每當玩家按下空格鍵時,玩家應該獲得速度提升 - 當他們使用它時應該出現粒子效果”。 提示是“在 PlayerController 中,添加一個簡單的 if 語句,如果按下空格鍵,它會添加一個“脈沖”力。要添加粒子效果,首先將其附加為 Focal Point 的子項 object。”
我已經成功添加了速度提升,但無法讓粒子效果發揮作用。 我已將效果附加為 Focal Point 的子級,但似乎沒有任何效果。 下面是我的代碼。
private Rigidbody playerRb;
public float speed = 500f;
private GameObject focalPoint;
private float speedBoost = 10.0f;
public ParticleSystem smokeParticle;
void Start()
{
playerRb = GetComponent<Rigidbody>();
focalPoint = GameObject.Find("Focal Point");
}
void Update()
{
// Add force to player in direction of the focal point (and camera)
float verticalInput = Input.GetAxis("Vertical");
playerRb.AddForce(focalPoint.transform.forward * verticalInput * speed * Time.deltaTime);
if (Input.GetKeyDown(KeyCode.Space))
{
playerRb.AddForce(focalPoint.transform.forward * speedBoost, ForceMode.Impulse);
smokeParticle.Play();
}
}
也許試試smokeParticle.Play(true);
大多數粒子都有孩子需要和它一起玩
https://docs.unity3d.com/ScriptReference/ParticleSystem.Play.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.