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 /
  • Help Room /
avatar image
0
Question by lila_28 · Mar 05, 2018 at 10:48 AM · c#controllerruntimeanimationclipoverride

Why does my Override Controller dosen't change the Animation Clip?

I'm trying to implement an Override Controller to override one Animation Clip for a cloned character at runtime. I tried a few different solution, but none of them are working. I hope somebody can help me.
using System.Collections; using System.Collections.Generic; using UnityEngine;

 public class StartScene_2 : MonoBehaviour 
 {    
     public GameObject charaPrefeb;
     public AnimationClip newClip;
     private Vector3 pos;
     private Animator anim;
     private AnimatorOverrideController animOverride;
     private RuntimeAnimatorController animRuntim;
     private AnimatorClipInfo[] m_CurrentClipInfo;
 
     // Use this for initialization
     void Start () 
     {
         
         pos = charaPrefeb.transform.position;
         Debug.Log (pos.ToString());
         pos.x = pos.x + 2.0f;
         GameObject charaInstance;
         charaInstance = Instantiate (charaPrefeb, pos, Quaternion.identity); //Cloning the charakter
         anim = charaInstance.GetComponent<Animator> (); //animator of the clone
 //        SetCurrentAnimation(anim, newClip.name);
 //        CreateController(anim, newClip);
 //        animRuntim = anim.runtimeAnimatorController;
 //        animOverride = animRuntim as AnimatorOverrideController;
         animOverride = new AnimatorOverrideController (); //creating override controller with the old runtime controller
         animOverride.runtimeAnimatorController = anim.runtimeAnimatorController;
         animOverride [newClip.name] = newClip; // setting new Animation clip
         Debug.Log(newClip.name);
         Debug.Log (animOverride.animationClips [0].name);
         anim.runtimeAnimatorController = animOverride; //overriding old animator of clone with the new controller
         anim.runtimeAnimatorController.name = "OverrideRunTimeController"; //name of the new controller
 //        anim.runtimeAnimatorController = Resources.Load("Assets/Mecanim") as RuntimeAnimatorController;
     }
 
     // Update is called once per frame
     void Update () 
     {
         
     }
 
     public void SetCurrentAnimation(Animator animator, string name)
     {
         RuntimeAnimatorController myController = animator.runtimeAnimatorController;
 
         AnimatorOverrideController myOverrideController = myController as AnimatorOverrideController;
         if (myOverrideController != null) {
             myController = myOverrideController.runtimeAnimatorController;
         }
 
         AnimatorOverrideController animatorOverride = new AnimatorOverrideController ();
         animatorOverride.runtimeAnimatorController = myController;
         animatorOverride [name] = newClip;
         animator.runtimeAnimatorController = animatorOverride;
         animator.runtimeAnimatorController.name = "AnimatorOverrideController";
     }
 
     /*    public void CreateController(Animator animator, AnimationClip clip)
     {
         RuntimeAnimatorController myOriginalController = animator.runtimeAnimatorController;
         AnimatorOverrideController myCurrentOverrideController = myOriginalController as AnimatorOverrideController;
 
         if (myCurrentOverrideController != null) 
         {
             if (myCurrentOverrideController [clip.name] == clip) 
             {
                 Debug.Log("Current state is already " + clip.name);
                 return;
             }
             myOriginalController = myCurrentOverrideController.runtimeAnimatorController;
             myCurrentOverrideController.runtimeAnimatorController = null;
         }
 
         AnimatorOverrideController myNewOverrideController = new AnimatorOverrideController ();
         myNewOverrideController.runtimeAnimatorController = myOriginalController;
 
         AnimatorStateInfo[] layerInfo = new AnimatorStateInfo[animator.layerCount];
         for (int i = 0; i < animator.layerCount; i++) {
             layerInfo [i] = animator.GetCurrentAnimatorStateInfo (i);
         }
         myNewOverrideController [clip.name] = clip;
         Debug.Log (clip.name);
         animator.runtimeAnimatorController = myNewOverrideController;
         animator.runtimeAnimatorController.name = "AnimatorOverrideController";
 
         animator.Update (0.0f);
 
         for (int i = 0; i < animator.layerCount; i++) {
             animator.Play (layerInfo [i].fullPathHash, i, layerInfo [i].normalizedTime);
         }
 
         m_CurrentClipInfo = animator.GetCurrentAnimatorClipInfo (0);
         Debug.Log (m_CurrentClipInfo[0].clip.name);
 
         Object.Destroy (myCurrentOverrideController);
     }*/
 }
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
Best Answer

Answer by Maxium · Mar 12, 2018 at 02:07 AM

I think the problem might be that the animation clip isn't overridden because the name of the clip you're intending to override doesn't match newClip.name.

 animOverride [newClip.name] = newClip;

In this case, newClip.name should be either be the same as the clip or replaced with the name of the clip to override.

 animOverride [clipToOverrideName] = newClip;

The following code works for me. Just change NameOfClipToOverride with the clip name to override.

 using System.Collections;
 using System.Collections.Generic;
 using UnityEngine;
 
 public class StartScene_2 : MonoBehaviour
 {
     public GameObject charaPrefeb;
     public AnimationClip newClip;
     private Vector3 pos;
     private Animator anim;
     private AnimatorOverrideController animOverride;
     private RuntimeAnimatorController animRuntim;
     
     void Start()
     {
         GameObject charaInstance;
         charaInstance = Instantiate(charaPrefeb, pos, Quaternion.identity);
         anim = charaInstance.GetComponent<Animator>();
         
         animOverride = new AnimatorOverrideController(); 
         animOverride.runtimeAnimatorController = anim.runtimeAnimatorController;
         animOverride["NameOfClipToOverride"] = newClip;
         anim.runtimeAnimatorController = animOverride;
         anim.runtimeAnimatorController.name = "OverrideRunTimeController";
     }
 }



Comment
Add comment · Show 1 · 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 lila_28 · Mar 13, 2018 at 02:58 PM 0
Share

Thanks a lot. That did the trick.

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

510 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 avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image 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 do I add running and animations to my FPS controller script? 0 Answers

How to prevent a variable used in two functions from being overridden? [SOLVED] 1 Answer

Can I change scripting runtime version in a middle of the project? 0 Answers

is it possible to load .anim file runtime? 0 Answers

2d controller question (script) 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