Unity3D Fareyi Takip Eden Gözler ve Menü (JavaScript - Animasyon)

      Unity3D Fareyi Takip Eden Gözler ve Menü (JavaScript - Animasyon)

      Merhaba Arkadaşlar. Bugün sizlere Fareyi Takip Eden Gözler ve Menü yazacağız. Öncelikle söylemeliğim ki Emeğe saygı gösterelim. +Rep verirseniz Çok sağolun ama vermesseniz canınız sağ olsun.

      Åžimdi :
      Yeni bir proje oluşturuyoruz. Ancak hiçbir şey eklemiyoruz. Ben söyledikçe ekleyeceğiz. Åžimdi 2 adet Cube ekleyelim. bunlar gözlerimiz olacak. Siz onları model olarak yaparsınız. Daha sonra 2 adet daha Cube ekliyoruz. Bunlarda "Yeni Bölüm" ve "Çıkış" olacak. Bunların karşına birde directional light ekliyoruz. Daha net gözükmesi için Directional Light 'ı Cubelere doğru çeviriyoruz. Bunları Main Camera karşısında düzenleyelim. Aynı aşağıdaki resimdeki gibi. Tasarımları ve ya şekilleri değiştirebilrisniz. Bu sadece bir örnek.

      Daha sonra 2 adet 3D Text Ekliyoruz. Onlara "Yeni Bölüm" ve "Çıkış" yazıyoruz, isimlerini ise "yeni" ve "cikis" yapalım. Daha sonra bu 3D Textleri Cubenin önüne yerleştirip sekmeymiş gibi yapıyoruz. 3D Textin Inspector menüsünde Text Mesh ayarlarını ;

      Source Code

      1. YENİ BÖLÜM
      2. Text = Yeni Bölüm
      3. Offset Z = 0
      4. Character Size = 0.03
      5. Line Spacing = 1
      6. Font Size = Kendinize Göre Ayarlayınız.
      7. ÇIKIÅž
      8. Text = Çıkış
      9. Offset Z = 0
      10. Character Size = 0.03
      11. Line Spacing = 1
      12. Font Size = Kendinize Göre Ayarlayınız.


      Yapınız.

      Daha sonra onlara animasyon ekleyiniz. Kendinize göre. Birazdan kodları yazarken anlayacaksınız nasıl bir animasyon yapacağınızı. Åžimdi Project menüsüne 3 adet JavaScript dosyası oluşturunuz. Birisinin adı "fareTakip.js", diğerinin adı ise "menuy.js", öbürünün adıda "menüc.js" olsun. Daha sonra fareTakip.js açınız.

      Daha sonra bunları yazınız.

      Source Code

      1. var speed = 4.0;
      2. function Update () {
      3. var ray = Camera.main.ScreenPointToRay (Input.mousePosition);
      4. var hitdist = 10.0;
      5. var targetPoint = ray.GetPoint(hitdist);
      6. var targetRotation = Quaternion.LookRotation(targetPoint - transform.position);
      7. transform.rotation = Quaternion.Slerp(transform.rotation, targetRotation, speed * Time.deltaTime);
      8. }


      Daha sonra menuy.js açınız. Bunları yazınız.

      Source Code

      1. function Start(){ //Oyun başladığında ...
      2. renderer.material.color = Color.black; //Kodu atadığımız nesne siyah rekli başlasın. (Bunu yapmamızın nedeni 3D Textimiz beyaz Cubemizde beyaz olunca belli olmuyor. )
      3. }
      4. function OnMouseEnter () { //Mousemiz kodu atacağımız nesnenin üzerine geldiğinde ...
      5. renderer.material.color = Color.green ; //rengimiz yeşil olsun.
      6. GameObject.Find("YeniBolumCube(İsmi)").animation.Play("Fare üzerine geldiğinde yaptığınız animasyon.");
      7. }
      8. function OnMouseExit () { //Mousemiz kodu atacağımız nesnenin üzerinden çekildiğinde...
      9. renderer.material.color = Color.black ; //rengimiz tekrar siyah olsun.
      10. GameObject.Find("YeniBolumCube(İsmi)").animation.Play("Fare üzerinden çekildiğinde yaptığınız animasyon.");
      11. }
      12. function OnMouseUp () { //Mousemiz kodu atacağımız nesneye tıkladığında ...
      13. renderer.material.color = Color.green; //rengimiz yeşil olsun olsun.
      14. GameObject.Find("YeniBolumCube(İsmi)").animation.Play("Fare nesneye tıkladığında olacak animasyon.");
      15. }


      Daha sonra menuc.js açınız. Bunları yazınız.

      Source Code

      1. function Start(){ //Oyun başladığında ...
      2. renderer.material.color = Color.black; //Kodu atadığımız nesne siyah rekli başlasın. (Bunu yapmamızın nedeni 3D Textimiz beyaz Cubemizde beyaz olunca belli olmuyor. )
      3. }
      4. function OnMouseEnter () { //Mousemiz kodu atacağımız nesnenin üzerine geldiğinde ...
      5. renderer.material.color = Color.red ; //rengimiz kırmızı olsun.
      6. GameObject.Find("çıkışCube(İsmi)").animation.Play("Fare üzerine geldiğinde yaptığınız animasyon.");
      7. }
      8. function OnMouseExit () { //Mousemiz kodu atacağımız nesnenin üzerinden çekildiğinde...
      9. renderer.material.color = Color.black ; //rengimiz tekrar siyah olsun.
      10. GameObject.Find("ÇıkışCube(İsmi)").animation.Play("Fare üzerinden çekildiğinde yaptığınız animasyon.");
      11. }
      12. function OnMouseUp () { //Mousemiz kodu atacağımız nesneye tıkladığında ...
      13. renderer.material.color = Color.red; //rengimiz kırmızı olsun olsun.
      14. GameObject.Find("ÇıkışCube(İsmi)").animation.Play("Fare nesneye tıkladığında olacak animasyon.");
      15. }


      Daha sonra fareTakip.js kodunu gözlere, menuy.js kodunu yeni bölüm cubesine, menuc.js kodunu Çıkış cubesine ekleyin. Oynunu başlatın ve görün.