- Home /
Question by
Sven_7 · Mar 30, 2018 at 12:14 PM ·
randomanimationclipmechanimstate machinefinite-state-machine
Get a state to play only once in random state machine?
I am using the script "RandomAnimBehavior". It plays my 4 animations randomly successfully. However I only want these to play ONCE, then never again. Is there a way to do this in the code? In the Animator Tab?
Comment
using System.Collections; using System.Collections.Generic; using UnityEngine;
public class RandomAnimBehavior : State$$anonymous$$achineBehaviour {
// OnStateEnter is called before OnStateEnter is called on any state inside this state machine
//override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) {
//
//}
// OnStateUpdate is called before OnStateUpdate is called on any state inside this state machine
//override public void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) {
//
//}
// OnStateExit is called before OnStateExit is called on any state inside this state machine
//override public void OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) {
//
//}
// OnState$$anonymous$$ove is called before OnState$$anonymous$$ove is called on any state inside this state machine
//override public void OnState$$anonymous$$ove(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) {
//
//}
// OnStateI$$anonymous$$ is called before OnStateI$$anonymous$$ is called on any state inside this state machine
//override public void OnStateI$$anonymous$$(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) {
//
//}
// OnState$$anonymous$$achineEnter is called when entering a statemachine via its Entry Node
override public void OnState$$anonymous$$achineEnter(Animator animator, int state$$anonymous$$achinePathHash)
{
animator.SetInteger("idleAnimID", Random.Range(0, 4));
}
// OnState$$anonymous$$achineExit is called when exiting a statemachine via its Exit Node
override public void OnState$$anonymous$$achineExit(Animator animator, int state$$anonymous$$achinePathHash)
{
Debug.Log("OnState$$anonymous$$achineExit");
}
//
//}
}
Here is the article I am referring to:
https://blogs.unity3d.com/2015/02/11/having-fun-with-the-new-mecanim-features/
Your answer
Follow this Question
Related Questions
How to use "AddEvent" in the Humanoid Animation Type 1 Answer
Finite State Machine 1 Answer
Random Animation of gameObject Children 1 Answer
Getting my object to rotate and move at random 1 Answer
Can't Animate 0 Answers