Animation Parameter

Animation Parameter

  Animation Parameters are variables that are defined within the animation system but can also be accessed and assigned values from scripts. 

  Animation Parameters 是Animator Controller中的用户自定义变量,script可以获取和设置其值,其值也可以作为transition转换的条件。配置界面如下:

  

  有四种类型的Parameter可选:

  Animation Parameter

  Parameter可以作为transition的判定条件:

   

  script访问parameter的示例如下: 

 1 using UnityEngine;

 2 using System.Collections;

 3 

 4 

 5 public class AvatarCtrl : MonoBehaviour {

 6 

 7     protected Animator animator;

 8 

 9     public float DirectionDampTime = .25f;

10 

11     void Start () 

12     {

13         animator = GetComponent<Animator>();

14     }

15 

16     void Update () 

17     {

18         if(animator)

19         {

20             //get the current state

21             AnimatorStateInfo stateInfo = animator.GetCurrentAnimatorStateInfo(0);

22 

23             //if we're in "Run" mode, respond to input for jump, and set the Jump parameter accordingly. 

24             if(stateInfo.nameHash == Animator.StringToHash("Base Layer.RunBT"))

25             {

26                 if(Input.GetButton("Fire1")) 

27                     animator.SetBool("Jump", true );

28             }

29             else

30             {

31                 animator.SetBool("Jump", false);                

32             }

33 

34             float h = Input.GetAxis("Horizontal");

35             float v = Input.GetAxis("Vertical");

36 

37             //set event parameters based on user input

38             animator.SetFloat("Speed", h*h+v*v);

39             animator.SetFloat("Direction", h, DirectionDampTime, Time.deltaTime);

40         }        

41     }             

42 }
View Code

  综上所述,Animation Parameter是一个script可写,transition可读的控制变量。

参考:file://localhost/Applications/Unity/Unity.app/Contents/Documentation/Documentation/Manual/AnimationParameters.html

  

你可能感兴趣的:(animation)