2075 / Unity / 3D / Контролер анімації
- mixamo.com – FBX-персонажі (потрібна реєстрація)
- Adobe Fuse – програма для створення персонажів
| AnimController |
Animator anim; // static public float speed = 10.0f; public float rotationSpeed = 100.0f; void Start(){ anim = GetComponent<Animator>(); } void Update(){ float translation = Input.GetAxis("Vertical") * speed; float rotation = Input.GetAxis("Horizontal") * rotationSpeed; translation *= Time.deltaTime; rotation *= Time.deltaTime; transform.Translate(0f, 0f, translation); // гори потребують окремих колайдерів transform.Rotate(0f, rotation, 0f); if (Input.GetKeyDown(KeyCode.Space)) { anim.SetTrigger("isJump"); } if (translation != 0f){ anim.SetBool("isWalk", true); } else { anim.SetBool("isWalk", false); } }
Тригерa - показати усі анімації Причепити тригер до стрілки
* Якщо є помилка з відображенням героя, то в його текстурі змінити transparent на opaque * Inspector -> Marerials -> Use External Materials (Legasy) * Анімація лежить всередині персонажу, її перетягнути в персонажа на сцені
Аби анімація не зациклювалася
Анімація в Assets -> Loop Time – зняти галочку
Запустити функцію під час анімації

Якщо додати 2-гу стрілку - з'являться 3 стрілки в тому ж напрямку, і можна буде додати кілька тригерів для одного і того ж переходу Зміна параметрів у коді Animator anim = GetComponent<Animator>(); anim.Play("Anim1", 0f, 0.5f); // програвати з позиції anim.Play("Anim1"); // різко перейти до іншої анімації anim.CrossFade("Anim1", 0.1f); // плавно anim.speed = 0.1f; // змінити швидкість anim.enabled = false; // виключити

* Якщо є помилка з відображенням героя, то в його текстурі змінити transparent на opaque
* Inspector -> Marerials -> Use External Materials (Legasy)
* Анімація лежить всередині персонажу, її перетягнути в персонажа на сцені