Unity 4.2 Bomba Gibi

Yayınlandı: 24 Temmuz 2013 yasirkula tarafından Oyun Tasarımı, UNITY 3D içinde
Etiketler:, , , , , , , , , , , , , , , ,

Unity‘nin 4.2 güncellemesiyle gelen şeylere baktım ve gerçekten müthiş bir güncellemeyle karşı karşıya olduğumuzu gördüm. Bu güncellemeyi sevmemin başlıca sebepleri:

  • Windows Store, Windows Phone 8 ve BlackBerry 10 desteği
  • Unity Basic versiyonunda bir Directional Light kullanarak gerçek zamanlı “hard shadows” gölge oluşturma imkanı
  • Android’de oyun açılmadan önce yaklaşık 5 saniye boyunca siyah bir ekranla karşı karşıya kalmamızın çözülmüş olması

Diğer tüm yenilikler için tıklayın: http://unity3d.com/unity/whats-new/unity-4.2

yorum
  1. Furkan dedi ki:

    hocam kod tamamen doğru ama böyle bir hata alıyorum.
    NullReferenceException: Object reference not set to an instance of an object
    Bozuk.OnTriggerEnter (UnityEngine.Collider col) (at Assets/bozuk/Bozuk.cs:18)

    • yasirkula dedi ki:

      NullReferenceException, public bir değişkene Inspector’dan değerini vermediğinizde veya değer olarak verdiğiniz obje yok olduğunda gerçekleşir.

  2. Muhammed dedi ki:

    hocam şöyle bişey şimdi ben karakteri assetsten spawnlıyorum assetse scanedaki objeyi koyamıyorum kod ondan çalışmıyor objeyi spawnlamadan scane koyunca ışık istediğim gibi yanıyor tek sıkıntı assetste olması onu nasıl yapabilirim

    • yasirkula dedi ki:

      Scene’deki objeyi Project panelinin içine sürükleyerek onu bir prefab’a çevirebilirsiniz. Ardından bu prefab’ı değişkenlerinize değer olarak verebilirsiniz.

  3. muhammed dedi ki:

    hocam birinin isTriggerı açık rigidbody var ama yine çalışmıyo başlatınca hata vermiyo 5 10 saniye devam edince consolda
    UnassignedReferenceException: The variable go of bozuk has not been assigned.
    You probably need to assign the go variable of the bozuk script in the inspector.
    UnityEngine.GameObject.GetComponent[T] () (at C:/buildslave/unity/build/Runtime/Export/Scripting/GameObject.bindings.cs:28)
    bozuk.Start () (at Assets/bozuk/bozuk.cs:11)

    yazıyor

    birde hocam collision da tag veremiyoruz o zaman nasıl olacak başka objeler deyince de mi yanacak

    • yasirkula dedi ki:

      “public GameObject go;” değişkeninize Inspector’dan değerini verdiniz mi? Collision’da tag’ı şu şekilde kontrol edebilirsiniz: col.collider.tag == “küp”

  4. muhammed dedi ki:

    hocam bunu mesela bir colider colidera deyince bu ışığın yanmasını istiyorum ama onun koduna nasıl ulaşacağım bu yaptığımın dairenin colidera değil başka bir objeyle başka bir objenin coliderlarının birbirine değmesi sonucu diyorum

    • yasirkula dedi ki:

      Mecburen o çarpışacak iki objeden birinin OnCollisionEnter’ında, renk değiştirecek script’e çarpışmayı haber vermeniz lazım. Bunun için o script’i public bir değişkene Inspector’dan değer olarak verebilir, script’in içinde “public void Carpistik()” gibi bir fonksiyon oluşturabilir ve çarpışan objelerin OnCollisionEnter’ında “isikScripti.Carpistik();” kodunu çağırabilirsiniz.

      • muhammed dedi ki:

        hocam kodu yazdım da çalışmadı

        yanacak objenin içine
        public void Carpısma()
        {

        obje.material.color = Color.red;

        }

        çalışacak colidera sahip objenin içine

        public uyarı kod;
        public GameObject go;
        void Start()
        {
        kod = go.GetComponent();
        }
        void OnTriggerEnter(Collider col)
        {
        if (col.tag == “küp”)
        {
        kod.Carpısma();

        }

        }

        neden çalışmadı hocam

      • yasirkula dedi ki:

        OnTriggerEnter’ın içine Debug.Log koyup fonksiyonun çağrılıp çağrılmadığını kontrol edin. Eğer collider’ların ikisinin de “Is Trigger”ı kapalıysa, OnTriggerEnter değil OnCollisionEnter kullanmanız lazım. Ayrıca iki collider’dan en az birinde Rigidbody olması lazım (yerçekimi istemiyorsanız “Is Kinematic”i işaretleyebilirsiniz).

  5. muhammed dedi ki:

    trafik lambasında kullanmayacağım ona benzer olacak oyunum 3d sağ üste uyarı ışığı olarak kullanacağım

    • yasirkula dedi ki:

      Anladım. Direkt Sphere objesi oluşturup bunu uyarı ışığının olmasını istediğiniz yere yerleştirseniz, ardından buna sadece kırmızı renkten oluşan bir materyal verip bu materyalin shader’ını da Unlit-Color yapsanız işinizi görür mü? Bu ışığı açmak için de aşağıda bahsettiğim gibi bir GameObject değişkeni kullanıp SetActive(true) yapabilirsiniz.

      • muhammed dedi ki:

        hocam denedim istediğim gibi oldu ama kameranın konumuna göre farklılık fln gösterebiliyor onu nasıl yapacağız bir de etrafı pürüzlü gibi duruyor kod kısmında biz bunu nasıl beyazdan kırmızıya çevireceğiz game object oluşturmaya ne gerek var

      • yasirkula dedi ki:

        Beyazdan kırmızıya geçireceksiniz küreye verdiğiniz materyali beyaz renkli yapın. Ardından “public MeshRenderer obje;” değişkeni oluşturup ona küreyi değer olarak verin ve rengi kırmızıya çevirmek için de “obje.material.color = Color.red;” kodunu kullanın.

  6. muhammed dedi ki:

    hocam merhaba unity de ışıkları nasıl ayarlayabiliriz örneğin ben yaptığım oyunda 3 can vereceğim oyunun üst kısmında küçük bir yerde olacak ilk canı kaybedince kırmızı ışık yanacak bunu unity de nasıl yapabiliriz

    • muhammed dedi ki:

      örneğin bir colider başka bir colidera deyince ışık yanacak bunu nasıl yaparız

    • yasirkula dedi ki:

      Işık objesini “public Light isik;” değişkeninde tutup “isik.enabled = true;” yapabilirsiniz. Veya “public GameObject isik;” değişkeninde tutup “isik.SetActive(true);” yapabilirsiniz. İki collider birbirine temas ettiğinde ise iki objede de “public void OnCollisionEnter(Collision temas)” fonksiyonu çağrılır. Eğer temas.gameObject diğer obje ise ışığı açabilirsiniz.

      • muhammed dedi ki:

        hocam peki böyle bir oyun için ışıkları nasıl ayarlıyacağız spot fln denedim ama hem ışığın yayıldığı alan büyük hemde istediğim gibi değil benim istediğim örneğin yarış oyunlarında fln oluyor ya onun küçük versiyonu

    • yasirkula dedi ki:

      Yarış oyunlarındaki hangi ışıktan bahsettiğinizi tam çıkaramadım. Siz ışığın nasıl bir şey olmasını istiyorsunuz?

      • muhammed dedi ki:

        hocam trafik ışıklarındaki ışıklar var ya onların küçültülüp yan yana koyulmuş şekli uyarı ışığı gibi

      • yasirkula dedi ki:

        Anladım. Bu ışığı oyununuzdaki trafik lambasında mı kullanacaksınız, arayüzde 2D olarak mı göstereceksiniz nerede göstereceksiniz?

Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Google fotoğrafı

Google hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.