• 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 RealMTG · Jun 14, 2014 at 08:10 PM · loops

Step Sound Help

Hi!

I have been trying to make some simple step sounds for my game. I have tried IEnumerator, loops but nothing have worked!

This is a simple cut version of the script. It still contains the more important things that you need to know.

 void Start () {
     StartCoroutine(StepSounds());
 }

 
 IEnumerator StepSounds(){
     while (step == true) {
         audio.PlayOneShot(stepSounds[Random.Range(0, stepSounds.Length)]);
         yield return new WaitForSeconds(nextStepSound);
     }
 }


Please tell me what is wrong and what I need to do!

And please post your answer in C#.

Thanks

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
0

Answer by Wisteso · Jun 14, 2014 at 08:49 PM

A loop is not the proper solution for footstep sounds. You should be using the Update method or FixedUpdate method and checking for the criteria there.

 void Update()
 {
     if (someCondition)
     {
         audio.PlayOneShot(stepSounds[Random.Range(0, stepSounds.Length)]);
         someCondition = false;
     }
 }
Comment
Add comment · Show 2 · 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
avatar image RealMTG · Jun 14, 2014 at 10:03 PM 0
Share

This just plays the sound like 1000 times each second. This results in some really weird sounds

This is how I have my activation of the step bool.

 if (Input.GetButton ("Forward")) {
                 Vector3 forward = transform.TransformDirection (Vector3.forward) * speed;
                 cc.$$anonymous$$ove (forward * Time.deltaTime);
                 anim.SetBool("RunForward", true);
                 anim.SetBool("RunBackwards", false);
                 anim.SetBool("RunRight", false);
                 anim.SetBool("RunLeft", false);
                 step = true;
             }
avatar image Wisteso · Jun 15, 2014 at 05:46 AM 0
Share

The issue is how you are setting the boolean then. GetButton will keep evaulating to true as long as the button is down. That's why you keep hearing it. Input.GetButtonDown/GetButtonUp are probably what you should be using.

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.

Welcome to Unity Answers

If you’re new to Unity Answers, please check our User Guide to help you navigate through our website and refer to our FAQ for more information.

Before posting, make sure to check out our Knowledge Base for commonly asked Unity questions.

Check our Moderator Guidelines if you’re a new moderator and want to work together in an effort to improve Unity Answers and support our users.

Follow this Question

Answers Answers and Comments

22 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

Related Questions

ArrayList Loop Through - only new elements accessible? 0 Answers

c# loops not working yet no erors 1 Answer

Nested loop queston 1 Answer

Script to Tell if Circuit / Path is Complete 0 Answers

Collumns Match 3 remake - Help with matchmaking and neighbor gems of same type. 1 Answer


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