Animator Parameter
Animasi 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.
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

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