簡體   English   中英

Unity - GetKeyDown 沒有粒子效果

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM