facebook twitter hatena line email

「Unity/おすすめアセット/紙吹雪」の版間の差分

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
(ページの作成:「==kayacの紙吹雪== # https://techblog.kayac.com/unity-physically-simulated-confetti にあるunitypackageを入れる # prefab/Confetiをシーンに置く # Confeti.c...」)
 
(kayacの紙吹雪)
行5: 行5:
  
 
公式:https://techblog.kayac.com/unity-physically-simulated-confetti
 
公式:https://techblog.kayac.com/unity-physically-simulated-confetti
 +
 +
5秒ごとに紙吹雪花火サンプル(Dotween必須)
 +
<pre>
 +
    void Confetti()
 +
    {
 +
        GameObject prefab = playRunView.confettiPrefab;
 +
        GameObject confettiObject = Instantiate(prefab, Vector3.zero, Quaternion.identity);
 +
        confettiObject.transform.localScale = new Vector3(0.03f, 0.03f, 0.03f);
 +
        Vector3 initPosition = new Vector3(82, 5, 1);
 +
        // Vector3 initPosition = new Vector3(0, 5, 1);
 +
        confettiObject.GetComponent<Confetti>().PieceWidth = 3f;
 +
        confettiObject.GetComponent<Confetti>().PieceLength = 3f;
 +
        confettiObject.transform.localPosition = new Vector3(initPosition.x, 0, initPosition.z);
 +
 +
        var sequence = DOTween.Sequence();
 +
        sequence.Append(confettiObject.transform.DOLocalMoveY(initPosition.y, 0.5f));
 +
        sequence.Append(confettiObject.transform.DOLocalMoveY(initPosition.y * 0.8f, 5f));
 +
        sequence.Play().OnComplete(() =>
 +
        {
 +
            confettiObject.GetComponent<Confetti>().EmitPiecePerSecond = 0;
 +
            Confetti();
 +
        });
 +
    }
 +
</pre>

2022年3月19日 (土) 23:21時点における版

kayacの紙吹雪

  1. https://techblog.kayac.com/unity-physically-simulated-confetti にあるunitypackageを入れる
  2. prefab/Confetiをシーンに置く
  3. Confeti.csを空オブジェクトにAddComponentする

公式:https://techblog.kayac.com/unity-physically-simulated-confetti

5秒ごとに紙吹雪花火サンプル(Dotween必須)

    void Confetti()
    {
        GameObject prefab = playRunView.confettiPrefab;
        GameObject confettiObject = Instantiate(prefab, Vector3.zero, Quaternion.identity);
        confettiObject.transform.localScale = new Vector3(0.03f, 0.03f, 0.03f);
        Vector3 initPosition = new Vector3(82, 5, 1);
        // Vector3 initPosition = new Vector3(0, 5, 1);
        confettiObject.GetComponent<Confetti>().PieceWidth = 3f;
        confettiObject.GetComponent<Confetti>().PieceLength = 3f;
        confettiObject.transform.localPosition = new Vector3(initPosition.x, 0, initPosition.z);

        var sequence = DOTween.Sequence();
        sequence.Append(confettiObject.transform.DOLocalMoveY(initPosition.y, 0.5f));
        sequence.Append(confettiObject.transform.DOLocalMoveY(initPosition.y * 0.8f, 5f));
        sequence.Play().OnComplete(() =>
        {
            confettiObject.GetComponent<Confetti>().EmitPiecePerSecond = 0;
            Confetti();
        });
    }