Senin, 02 Februari 2015

Animation Parameter

Animator Parameter

Main.AnimationSectionAnimasi Parameter adalah variabel yang didefinisikan dalam sistem animasi tetapi juga dapat diakses dan diberikan nilai dari script. Sebagai contoh, nilai parameter dapat diperbarui dengan kurva animasi dan kemudian diakses dari script sehingga, katakanlah, pitch efek suara dapat bervariasi seolah-olah itu adalah bagian dari animasi. Demikian juga, script dapat mengatur nilai parameter yang akan dijemput oleh Mecanim. Sebagai contoh, script dapat mengatur parameter untuk mengontrol Pohon Blend.


Nilai default parameter dapat diatur menggunakan Parameter widget di sudut kiri bawah jendela Animator. Mereka bisa dari lima tipe dasar:


Int - integer (bilangan)
Mengapung - nomor dengan bagian pecahan
Bool - benar atau nilai palsu
Pemicu - parameter boolean yang ulang oleh controller bila dikonsumsi oleh transisi.
using UnityEngine;
using System.Collections;


public class AvatarCtrl : MonoBehaviour {

    protected Animator animator;
    
    public float DirectionDampTime = .25f;
    
    void Start () 
    {
        animator = GetComponent<Animator>();
    }
    
    void Update () 
    {
        if(animator)
        {
            //get the current state
            AnimatorStateInfo stateInfo = animator.GetCurrentAnimatorStateInfo(0);
            
            //if we're in "Run" mode, respond to input for jump, and set the Jump parameter accordingly. 
            if(stateInfo.nameHash == Animator.StringToHash("Base Layer.RunBT"))
            {
                if(Input.GetButton("Fire1")) 
                    animator.SetBool("Jump", true );
            }
            else
            {
                animator.SetBool("Jump", false);                
            }
            
            float h = Input.GetAxis("Horizontal");
            float v = Input.GetAxis("Vertical");
            
            //set event parameters based on user input
            animator.SetFloat("Speed", h*h+v*v);
            animator.SetFloat("Direction", h, DirectionDampTime, Time.deltaTime);
        }       
    }        
}



Parameter dapat nilai ditugaskan dari naskah menggunakan fungsi di kelas Animator: SetFloat, SetInt, dan SetBool.

Berikut adalah contoh script yang mengubah parameter berdasarkan input pengguna

sumber : http://docs.unity3d.com/Manual/AnimationParameters.html

0 komentar:

Posting Komentar