07-30-2017, 07:10 AM
Direk konuya giriyorum ;
Öncelike animasyonlu karakter buluyoruz ... (Başka karakterlerin animasyonunuda alabilirsiniz)
1 - İlk önce karakteri Unity'e atalım.
2 -Attığımız karaktere tıklayıp "Inspector" Panelinden "Rig" Kısmına giriyoruz .
3 - "Animation Type" Seçeneğini > "Humanoid" Yapıp, " Apply" Butonuna basıyoruz .
4 - Project kısmına gelip sağ click yapıyoruz, "Create > Animator Controller" Diyoruz .
5 - Oluşturduğumuz "Animator Controller"e çift tıklıyoruz, Karakterin içindeki animasyonu içine sürüklüyoruz .
6 - Asıl yani kullanıcağımız karakterde "Animator" özelliği olması gerek, içine atıyoruz.
Oyunu başlattığımızda "Animator" içinde ki ilk animasyon "Default"dur. Yani varsayılan, renkli butonda gösterilir. Başlattığımızda ilk oynatılacak animasyondur. Bir nevi IDLE, yani duruş animasyonu için kullanılırız.
Gelelim kullanışa burayı kısa kesicem yani tek animasyon için mantıkla yürürseniz zaten gerisini halledersiniz .
"Animator" > "Parameters" Yerinden, Yeni bool açıyoruz.
Adını istediğin gibi yapabilirsiniz ;
Default(Ana) animasyonumuza gelip, Sağ tıklıyıp, "Make Transition" Seçeneğine basıyoruz .
Tıkladığımız zaman bir işaret çıkıcak, adını siz koyun artık Ben bağ diyorum, diğer animasyonumuza tıklıyoruz ve arasında bağ kurmuş oluyoruz .
Bağ'ya tıklayıp ; Inspector paneline geliyoruz, "Conditions" kısmını ayarlıyoruz ;
Bu yaptığımız işlem : Bool'a attack ismini verdim mesela, Attack bool'u aktifse Default animasyonunu oynatmayıp bırakıp diğer animasyona geçiş yapıcak bir nevi dururken, yürüme gibi düşünün.
İsterseniz, true değerini falsede yapabilirsiniz :
Haliyle bool true ise yürü, false ise dur işlemini yapıcaz. 2 animasyon arasında bu şekilde bağ kurabilirsiniz bizim yaptığımız sadece iletme oldu yani default animasyonundan diğer animasyona geçiş extra olarak tam akisinide yapabiliriz yani ondan default animasyonuna ;
Åžimdi yeni bir kod açalım ;
java > var kontrol : Animator;
c# > public Animator kontrol;
(Oyun içinde bu kontrol'lerin içine Karakterimizi atıcaz animator'u alması için).
Update kısmına gelip ;
if(Input.GetMouseButton(0)) { // sol click basıyosak
kontrol.SetBool("boolAdı", true); // yani kontrol(Animator), SetBool(Boollar) "boolAdı", true veya false); ben Attack diye açtım yani >kontrol.SetBool("Attack", true); // Attack bool'unu true yapıcam, haliyle diğer animasyona geçiş yapmış olucaz.
}
else
{
kontrol.SetBool("Attack", false); // basmıyosak, bool'u false yapıcak yani Default animasyonu oynucak
}
Bu şekilde çoğaltarak animasyonlarını oynatabilirsiniz, Karakterlerin kesinlikle "Rig"leri Humanoid olmalıdır. Aksi takdirde çalışmaz. Kolay gelsin
Öncelike animasyonlu karakter buluyoruz ... (Başka karakterlerin animasyonunuda alabilirsiniz)
1 - İlk önce karakteri Unity'e atalım.
2 -Attığımız karaktere tıklayıp "Inspector" Panelinden "Rig" Kısmına giriyoruz .
3 - "Animation Type" Seçeneğini > "Humanoid" Yapıp, " Apply" Butonuna basıyoruz .
4 - Project kısmına gelip sağ click yapıyoruz, "Create > Animator Controller" Diyoruz .
5 - Oluşturduğumuz "Animator Controller"e çift tıklıyoruz, Karakterin içindeki animasyonu içine sürüklüyoruz .
6 - Asıl yani kullanıcağımız karakterde "Animator" özelliği olması gerek, içine atıyoruz.
Oyunu başlattığımızda "Animator" içinde ki ilk animasyon "Default"dur. Yani varsayılan, renkli butonda gösterilir. Başlattığımızda ilk oynatılacak animasyondur. Bir nevi IDLE, yani duruş animasyonu için kullanılırız.
Gelelim kullanışa burayı kısa kesicem yani tek animasyon için mantıkla yürürseniz zaten gerisini halledersiniz .
"Animator" > "Parameters" Yerinden, Yeni bool açıyoruz.
Adını istediğin gibi yapabilirsiniz ;
Default(Ana) animasyonumuza gelip, Sağ tıklıyıp, "Make Transition" Seçeneğine basıyoruz .
Tıkladığımız zaman bir işaret çıkıcak, adını siz koyun artık Ben bağ diyorum, diğer animasyonumuza tıklıyoruz ve arasında bağ kurmuş oluyoruz .
Bağ'ya tıklayıp ; Inspector paneline geliyoruz, "Conditions" kısmını ayarlıyoruz ;
Bu yaptığımız işlem : Bool'a attack ismini verdim mesela, Attack bool'u aktifse Default animasyonunu oynatmayıp bırakıp diğer animasyona geçiş yapıcak bir nevi dururken, yürüme gibi düşünün.
İsterseniz, true değerini falsede yapabilirsiniz :
Haliyle bool true ise yürü, false ise dur işlemini yapıcaz. 2 animasyon arasında bu şekilde bağ kurabilirsiniz bizim yaptığımız sadece iletme oldu yani default animasyonundan diğer animasyona geçiş extra olarak tam akisinide yapabiliriz yani ondan default animasyonuna ;
Åžimdi yeni bir kod açalım ;
java > var kontrol : Animator;
c# > public Animator kontrol;
(Oyun içinde bu kontrol'lerin içine Karakterimizi atıcaz animator'u alması için).
Update kısmına gelip ;
if(Input.GetMouseButton(0)) { // sol click basıyosak
kontrol.SetBool("boolAdı", true); // yani kontrol(Animator), SetBool(Boollar) "boolAdı", true veya false); ben Attack diye açtım yani >kontrol.SetBool("Attack", true); // Attack bool'unu true yapıcam, haliyle diğer animasyona geçiş yapmış olucaz.
}
else
{
kontrol.SetBool("Attack", false); // basmıyosak, bool'u false yapıcak yani Default animasyonu oynucak
}
Bu şekilde çoğaltarak animasyonlarını oynatabilirsiniz, Karakterlerin kesinlikle "Rig"leri Humanoid olmalıdır. Aksi takdirde çalışmaz. Kolay gelsin