Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 13 Next capture
2021 2022 2023
1 capture
13 Jun 22 - 13 Jun 22
sparklines
Close Help
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
0
Question by darkmon54 · Dec 09, 2021 at 03:56 PM · sound effectsfootstepssprinting

footstep sound effects sprinting fix

so i have this very bad code of a footstep sound effect that activates a sound each step when grounded but thats it, ive tried researching on how i can multiply the sound each step when sprinting but i couldnt find any solution, any tips on how i should go with this? what code should i add to mutiply the sound when sprinting?

 public Rigidbody rb;
   public playermovement movement;
   public AudioSource audioSrc;
 
     void Start()
     {
         rb = GetComponent<Rigidbody>();
         movement = GetComponent<playermovement>();
         audioSrc = GetComponent<AudioSource>();
     }
 
     void Update()
     {
         if(movement.isGrounded == true && rb.velocity.magnitude > 2f && GetComponent<AudioSource>().isPlaying == false)
         {
           GetComponent<AudioSource>().Play();
         }
     }
Comment
Add comment
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

1 Reply

· Add your reply
  • Sort: 
avatar image
1
Best Answer

Answer by CodesCove · Dec 10, 2021 at 08:30 PM

I'm not writing the whole code here but I give you some pointers and example..

You need loop the audio by the step frequency you have and the clip should include audio for one step only. This is something you need to sync with the animation speed or the actual speed of the character.

Anyway the principle is to implement something like this (you need to tweak it for your purposes of course):

 public AudioSource audioSource;
 public AudioClip audioClip;
 public float loopsPerSecond = 2;
 
 private void StartAudioLoop()
 {
        StopAllCoroutines();
        StartCoroutine(PlayAudio());
 }

 private void StopAudioLoop()
 {
        StopAllCoroutines();
 }
 
 private IEnumerator PlayAudio()
 {
       while (true)
       {
             if(loopsPerSecond > 0) 
             {
                   yield return new WaitForSeconds(1 / loopsPerSecond);
                   audioSource.PlayOneShot(audioClip);                
             } else yield return null;
       }
 }

In the above example the loopsPerSecond would be the foot step audio playback per second.

Notice that PlayAudio is started as Coroutine (https://docs.unity3d.com/Manual/Coroutines.html) and will loop itself and you need to start in only one time.. so do not try to call StartAudioLoop() in every frame inside inside Upate.

PS: in your code you are already caching the audio source, don't get it inside Update (called every frame!), it's very inefficient..

Comment
Add comment · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this Question

Answers Answers and Comments

132 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

Footsteps script 1 Answer

Random Footsteps with variable pitch and volume 1 Answer

How can I create headbobbing with footstep sounds and running? 1 Answer

Moving a character's legs and feet using one key to initiate lifting of a foot, then an analog stick / directional keys to move the foot to a target. 2 Answers

Footsteps, landing sounds when jumping (javascript) 0 Answers


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges