Κοινή χρήση τεχνολογίας

[Unity2D 2022: Particle System] Προσθέστε ειδικά εφέ σωματιδίων επιτυχίας

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

1. Δημιουργήστε αντικείμενα παιχνιδιού με ειδικά εφέ

2. Τροποποίηση των ιδιοτήτων του συστήματος σωματιδίων

1. Βασικά χαρακτηριστικά

(1) Τροποποιήστε τη διάρκεια των εκπεμπόμενων σωματιδίων (Διάρκεια) σε 1 δευτ

(2) Καταργήστε την επιλογή Looping

(3) Τροποποιήστε τον χρόνο ύπαρξης σωματιδίων (Start Lifetime) σε μια τυχαία τιμή μεταξύ 0,1 και 0,2

(4) Τροποποιήστε την αρχική ταχύτητα των σωματιδίων (Start Speed) σε 0

(5) Τροποποιήστε το αρχικό μέγεθος σωματιδίων (Μέγεθος έναρξης) σε μια τυχαία τιμή μεταξύ 0,7 και 1

(6) Τροποποιήστε την αρχική γωνία περιστροφής των σωματιδίων (Start Rotation) σε μια τυχαία τιμή μεταξύ 0 και 360

2. Εκπομπή

(1) Ρυθμίστε την ταχύτητα εκπεμπόμενων σωματιδίων (Ρυθμός με το χρόνο) στο 0 (δηλαδή μην εκπέμπετε σωματίδια)

(2) Προσθήκη ριπής, ο χρόνος είναι 0, ο αριθμός είναι 5

3. Σχήμα εκπομπού (Σχήμα)

(1) Ορίστε το σχήμα σε κύκλο

(2) Ρυθμίστε τη γωνία περιστροφής (Περιστροφή) στο 900 στην κατεύθυνση του άξονα x

(3) Ρυθμίστε την ακτίνα σε (Radius) 0,12

(4) Ρυθμίστε τη λειτουργία (Mode) σε Burst Spread (εξάπλωση έκρηξης)

4. Χρώμα σωματιδίων (Χρώμα κατά τη διάρκεια ζωής)

(1) Ρυθμίστε τη διαφάνεια σε 255-0 (δηλαδή όλο και πιο διαφανής)

5. Μέγεθος σωματιδίων (Μέγεθος κατά τη διάρκεια ζωής)

(1) Ρυθμίστε το μέγεθος σωματιδίων σε 0,6-1

6. Κινούμενα σχέδια με υφή σωματιδίων (Texture Sheet Animation)

(1) Προσθέστε εικόνες sprite σωματιδίων

3. Δημιουργήστε προκατασκευασμένα ειδικά εφέ επιτυχίας

4. Τα ειδικά εφέ παίζονται όταν η σφαίρα χτυπήσει τον εχθρό.

1. Επεξεργαστείτε το σενάριο κουκκίδων:

(1) Δημιουργήστε προκατασκευασμένα ειδικά εφέ επιτυχίας

  1. public class Bullet : MonoBehaviour
  2. {
  3. // 创建命中特效预制体
  4. public GameObject hitEffectParticlePrefab;
  5. }

(2) Ξαναγράψτε τη διεπαφή επαναλήπτη και διαγράψτε τα εφέ σωματιδίων επιτυχίας μετά από καθυστέρηση 1 δευτερολέπτου.

  1. public class Bullet : MonoBehaviour
  2. {
  3. // 创建命中特效预制体
  4. public GameObject hitEffectParticlePrefab;
  5. // 在1s后删除粒子特效
  6. private async Task deleteEffectParticle(GameObject EffectParticle, float delay)
  7. {
  8. // 等待1s
  9. await Task.Delay(1000);
  10. // 删除粒子特效
  11. Destroy(EffectParticle);
  12. }
  13. }

(3) Όταν χτυπάτε έναν εχθρό, δημιουργήστε ένα ειδικό εφέ σωματιδίων χτυπήματος στη θέση της σφαίρας και διαγράψτε το μετά από 1 δευτερόλεπτο.

  1. public class Bullet : MonoBehaviour
  2. {
  3. // 创建命中特效预制体
  4. public GameObject hitEffectParticlePrefab;
  5. // 击中敌人
  6. private void OnCollisionEnter2D(Collision2D collision)
  7. {
  8. Enemy enemy = collision.gameObject.GetComponent<Enemy>();
  9. if(enemy != null) {
  10. enemy.changeHealthPoint(-25);
  11. GameObject hitEffectParticle = Instantiate(hitEffectParticlePrefab, transform.position, Quaternion.identity);
  12. deleteHitEffectParticle(hitEffectParticle, 1);
  13. }
  14. Destroy(gameObject);
  15. }
  16. // 在1s后删除粒子特效
  17. public static async Task deleteEffectParticle(GameObject EffectParticle, float delay)
  18. {
  19. // 等待1s
  20. await Task.Delay(1000);
  21. // 删除粒子特效
  22. Destroy(EffectParticle);
  23. }
  24. }

2. Προσθέστε ειδικά εφέ hit particle στο προκατασκευασμένο bullet

3. Το τελικό αποτέλεσμα είναι όπως φαίνεται παρακάτω:

Τέλος αυτού του κεφαλαίου. Ευχαριστώ για την ανάγνωση!