Mixamo sitesinden istenen karakter ve animasyonları seçilerek indirilir, Assets içine kopyalanır.
İlk kez karakter indirilmesi, format “FBX for Unity (*.fbx)” seçilmelidir.
Walk, run, jump ve idle (boşta) animasyonlarının indirilmesi, format “FBX for Unity (*.fbx)” seçilmelidir.
Proje içine dosyaların kopyalanması
Boş sahne içine 1 plane atılır ve Assets içindeki karakter yerin üstüne sürüklenir. T pozunda kalmış ve materyalleri gözükmüyor.
Assets klasöründeki 5 yeni nesne seçilerek Rig kısmında Humanoid olarak seçilir, Apply tıklanır.
Karakter tıklanarak Materials sekmesindeki “Extract Textures…” denir ve gelen penceredeki bir adet hata “Fix now” ile tamir edilir.
Idle, run, walk animasyonlarının özelliklerinden “Loop Time” özellikleri seçilerek “Apply” denir.
Karakterin olduğu klasöre “Animator Controller” eklenir ve bu nesne sahnedeki karakterin “Animator” özelliğine bağlanır.
Karakterin Controller ve “Apply Root Motion” özelliklerinin düzenlenmesi
Yeni kontrolcüye çift tıklanarak boş tasarım ekranı açılır.
4 animasyon pencereye atılır ve isimleri düzenlenir.
Oyun test edildiğinde artık idle animasyonu görülebilir.
Any State ve Exit arasındaki gri animasyonlar “Make Transition” diyerek birleştirilir.
1 adet Trigger eklenir; jump adları verilir. 2 Bool eklenir; run ve walk adları verilir.
3 bağlantı için durum bilgileri seçilir. Bool türler için ismi ve değeri seçilir.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class karakterAnim : MonoBehaviour
{
Animator animator;
void Start()
{
animator = GetComponent<Animator>();
}
void Update()
{
if (Input.GetKeyDown(KeyCode.Space))
{
animator.SetTrigger("jump");
animator.SetBool("run", false);
animator.SetBool("walk", false);
}
else if (Input.GetKey(KeyCode.LeftShift) && Input.GetKeyDown(KeyCode.W))
{
animator.SetBool("run", true);
animator.SetBool("walk", false);
}
else if (Input.GetKeyDown(KeyCode.W))
{
animator.SetBool("run", false);
animator.SetBool("walk", true);
}
else
{
animator.SetBool("run", false);
animator.SetBool("walk", false);
}
}
}