Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 12 Next capture
2021 2022 2023
1 capture
12 Jun 22 - 12 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 fernancp444 · Apr 04, 2020 at 01:36 PM · animationgameobject

Animator gets stuck when disabling gameObject

I have a system in which a main character has a bunch of weapons. When you change between them each weapon has a time in which it saves the weapon and animates it as such, then disables the gameobject of that weapons, enables the new one, plays an animation in which it takes it out and then goes into its main loop.

The way I first instantiate the weapons is as follows

 foreach (WeaponBase weapon in weaponsList)
         {
             WeaponBase weaponBase = Instantiate(weapon,transform.position,Quaternion.identity);
             weaponBase.gameObject.SetActive(false);
             weapons.Add(weaponBase);
         }
         weapons[0].gameObject.SetActive(false);

where weaponsList is a list the character holds to which you can add prefabs in the inspector.

I have another snipper to try changing between two weapons, as follows

 if (Input.GetKeyDown("space"))
         {
             weapons[0].animator.SetTrigger("Exit");
             weapons[0].finishing = true;
             changeTimer = 0.05f;
         }
         if (changeTimer>0)
         {
             changeTimer-=Time.deltaTime;
         }
         if (changeTimer<0)
         {
             changeTimer = 0.0f;
             weapons[0].gameObject.SetActive(false);
             weapons[1].gameObject.SetActive(true);
             weapons[1].Activate();
         }


where Activate() is a method that is supposed to play the first animation.

The weapon script has the following

 void Start()
     {
         waitingForCooldown = 0.0f;
         player = FindObjectOfType<HeroController>();
         animator = gameObject.GetComponent<Animator>();
     }
 
     public void Activate()
     {
         animator.SetTrigger("Start");
         waitingForCooldown = 0.1f;
         starting = true;
     }

this already gave an unasigned reference, complaining that animator was not set to anything even though it's supposed to be set in the Start() method. I had to run another animator = gameObject.GetComponent(); to fix that in the Activate() method.

Lastly, the update method of the weapon has this

  if (waitingForCooldown > 0)
             {
                 waitingForCooldown -= Time.deltaTime;
                 if (waitingForCooldown < 0)
                 {
                     waitingForCooldown = 0.0f;
                     if (starting)
                     {
                         starting = false;
                         animator.SetTrigger("Finished_in");
                     }
                 }
             }
             else if ((Input.GetMouseButton(0) && automatic == true) || Input.GetMouseButtonDown(0))
             {
                 //Shoot
                 if (hasCooldown)
                 {
                     waitingForCooldown = cooldown;
                 }
                 if (hasRecoil)
                 {
                     //Recoil
                 }
                 //Shoot
             }

the if (starting) part is supposed to check whether the waitingforcooldown set in activate is less than 0, in which case set a trigger to finish the animation in which it takes out the weapon. However, what happens is that those three lines are never called and the animation is stuck in a loop until i click the mouse (so the next if is getting executed).

I thought this was very weird and had something to do with disabling the gameObjects as soon as I instantiated them, so I tried, instead of doing so, to leave them enabled from start and then put an active bool so that the update method only executes if active is true, and active=false would disable the sprite renderer, this now works exactly as I intended, although I find it less elegant.

Does anyone see what's happening here?

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 TheMagnificentSwill · Apr 07, 2021 at 09:08 AM

Might help: https://forum.unity.com/threads/losing-animator-state.307667/

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

358 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 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 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

How to move an object in a looped path but in random speed in 3D?, or How to move an object in circular path in random speed each time? 1 Answer

Moving Game Object large distances while animating 1 Answer

Opening a door when a button object has something it it's collider. 0 Answers

How can a camera activate an animation 2 Answers

Animator - There's no Animation Attached?? 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