Unity מיישמת צלילי צעדים

במדריך זה, נחקור כיצד ליישם צלילי צעד ב-Unity באמצעות סקריפט פשוט לדוגמה. צלילי צעדים מוסיפים ריאליזם וטבילה למשחק על ידי מתן משוב אודיו לתנועות השחקן. מאמר זה יראה דוגמה כיצד להשמיע צלילי צעדים אקראיים בתדירות מסוימת כאשר הנגן הולך. אנו נסקור את מנגנוני ההגדרה, הסקריפט וההפעלה הדרושים כדי להשיג את האפקט הזה. אז בואו נצלול פנימה ונביא חיים למשחק עם צלילי צעדים מציאותיים!

הכן את נכסי הסאונד

  • הכן את נכסי צליל הצעדים (למשל, צלילי הליכה) בפורמט שמע מתאים (למשל, WAV או MP3).
  • ייבא את נכסי הסאונד לפרויקט Unity.

צור אובייקט משחק ריק

  • בעורך Unity, צור אובייקט משחק ריק שישמש כמיכל להיגיון צליל הצעד. בואו נקרא לזה "FootstepManager."
  • צרף רכיב 'AudioSource' לאובייקט המשחק "FootstepManager". רכיב זה יהיה אחראי על השמעת צלילי הצעדים.

כתוב את תסריט הרגליים

  • צור סקריפט C# חדש בשם "FootstepController" וצרף אותו לאובייקט המשחק "FootstepManager".
  • פתח את הסקריפט "FootstepController" וכתוב את הקוד הבא:

FootstepController.cs

using UnityEngine;

public class FootstepController : MonoBehaviour
{
    public AudioClip[] footstepSounds; // Array to hold footstep sound clips
    public float minTimeBetweenFootsteps = 0.3f; // Minimum time between footstep sounds
    public float maxTimeBetweenFootsteps = 0.6f; // Maximum time between footstep sounds

    private AudioSource audioSource; // Reference to the Audio Source component
    private bool isWalking = false; // Flag to track if the player is walking
    private float timeSinceLastFootstep; // Time since the last footstep sound

    private void Awake()
    {
        audioSource = GetComponent<AudioSource>(); // Get the Audio Source component
    }

    private void Update()
    {
        // Check if the player is walking
        if (isWalking)
        {
            // Check if enough time has passed to play the next footstep sound
            if (Time.time - timeSinceLastFootstep >= Random.Range(minTimeBetweenFootsteps, maxTimeBetweenFootsteps))
            {
                // Play a random footstep sound from the array
                AudioClip footstepSound = footstepSounds[Random.Range(0, footstepSounds.Length)];
                audioSource.PlayOneShot(footstepSound);

                timeSinceLastFootstep = Time.time; // Update the time since the last footstep sound
            }
        }
    }

    // Call this method when the player starts walking
    public void StartWalking()
    {
        isWalking = true;
    }

    // Call this method when the player stops walking
    public void StopWalking()
    {
        isWalking = false;
    }
}

הקצה צלילי צעד

  • בעורך Unity, בחר את אובייקט המשחק "FootstepManager".
  • בחלון המפקח, הקצה את קטעי הקול של הצעדים לשדה המערך "Footstep Sounds" של הסקריפט "Footstep Controller". גרור ושחרר את נכסי צליל הצעד לתוך חריצי המערך.

הפעלת צלילי צעדים

  • בתסריט תנועת השחקן או כל סקריפט רלוונטי אחר, גש לרכיב "FootstepController" וקרא לשיטות 'StartWalking()' ו-'StopWalking()' המבוססות על תנועת שחקן.
  • לדוגמה, בהנחה שתסריט תנועת הנגן נקרא "PlayerMovement", שנה אותו באופן הבא:

PlayerMovement.cs

using UnityEngine;

public class PlayerMovement : MonoBehaviour
{
    private FootstepController footstepController;

    private void Awake()
    {
        footstepController = GetComponentInChildren<FootstepController>(); // Get the FootstepController component
    }

    private void Update()
    {
        // Player movement code here

        // Check if the player is walking or not and call the appropriate methods
        if (isWalking)
        {
            footstepController.StartWalking();
        }
        else
        {
            footstepController.StopWalking();
        }
    }
}

עם היישום לעיל, צלילי הצעדים יתנגנו במרווחים אקראיים בטווח התדרים שצוין כאשר הנגן הולך. זכור להתאים את המשתנים 'minTimeBetweenFootsteps' ו-'maxTimeBetweenFootsteps' כדי לשלוט בתדירות של צלילי צעדים.

הקפד לצרף את הסקריפט "PlayerMovement" ל-דמות השחקן או לאובייקט המשחק הרלוונטי ולהגדיר את תנועת השחקן להפעלת שיטות 'StartWalking()' ו-'StopWalking()' על סמך ההליכה מדינה.

סיכום

יש לקוות, מדריך זה עזר ללמוד כיצד לנגן צלילי צעדים אקראיים בתדירות מסוימת כאשר שחקן הולך. זכור להתאים אישית את התסריט וההגדרות כך שיתאימו לדרישות, כגון התאמת הזמן המינימלי והמקסימלי בין צלילי צעדים. צלילי צעדים יכולים לשפר מאוד את ההתעמקות והחוויה הכוללת של השחקן, ולהוסיף את השכבה הנוספת של ריאליזם למשחק.