19 Haziran 2016 Pazar

ACTİVE KAVRAMI ACTİVESELF SETACTİVE KOMUTLARI VE HİERARCHY

Active komutu inspectordeki nesnenin en başındaki toggle ile aynı işlevi görür. Active komutu ile enabled rasındaki fark ise enabled bir değişkendir ve componentler için kullanılır fakat Active bir fonksiyondur nesneler için kullanılır. Eğer nesne için aşağıdaki gibi bir kod yazılırsa sonuç nesne oyun alanında yok gibi varsayılacaktır.


public class ActiveObjects : MonoBehaviour
{
    void Start ()
    {
        gameObject.SetActive(false);
    }
}
İşte bu şekilde nesneyi yok edip tekrar ortaya çıkarabiliriz.Korku oyunlarındaki jump scaneler genellikle bu şekilde yapılmaktadır.

Hierarchy kavramı ise bir nesnenin alt nesneleri için kullanılır yani şu şekilde açıklanabilir.


public class tik : MonoBehaviour
{
    public GameObject Objem;
    
    
    void Start ()
    {
        Debug.Log("Actif mi: " + Objem.activeSelf);
        Debug.Log("Hiyerarşi aktif mi" + Objem.activeInHierarchy);
    }
}
İşte bu kod ile aşağıdaki sonuçları alabiliriz.



Burada 2 cisimde aktif






8 Haziran 2016 Çarşamba

ENABLED KAVRAMI

İsminden de anlaşılabileceği gibi enabled componentin aktifliği ile alakalı bir bool değişkendir.
Enabled inspector penceresindeki componentin yanındaki kutucukla doğrudan bağlantılır.
Aşağıdaki kod parçasında space tuşuna her basıldığında üzerinde script olan bir nesneye bağlı ışığı açıp kapatıyor.




using UnityEngine;
using System.Collections;

public class EnableComponents : MonoBehaviour
{
    private Light myLight;
    
    
    void Start ()
    {
        myLight = GetComponent<Light>();
    }
    
    
    void Update ()
    {
        if(Input.GetKeyUp(KeyCode.Space))
        {
            myLight.enabled = !myLight.enabled;
        }
    }
}

2 Haziran 2016 Perşembe

UNITY LERP FONKSİYONU

Unity de Lerp() fonksiyonu doğrusal ara değer hesaplamayı sağlar.

1. Parametre Başlangıç
2. Parametre Bitiş
3. Parametre Yüzdesel Oran'ı temsil eder

Örnek olarak 

float result = Mathf.Lerp (3f, 5f, 0.5f); 

gibi bir kodda 3 ile 5 rakamları arasında ki rakamlar üzerinde 0.5 oranında (%50) yani tam ortasını bulması isteniyor.Burada result değeri 4 olarak karşımıza çıkacaktır.

float result = Mathf.Lerp (05, 0.2f); 

Bu kodda ise 0 ile 5 arasında 0.2 oranında (%20) bir bölme yapacaktır.Yani result değeri 1 olarak karşımıza çıkar.

Ayrıca bu işlemi Vector üzerinde de uygulayabiliriz.

Vector3 from = new Vector3 (1f, 2f, 3f);
Vector3 to = new Vector3 (5f, 6f, 7f);

// Here result = (4, 5, 6)
Vector3 result = Vector3.Lerp (from, to, 0.75f);

Burada ilk vector ile ikinci vector'ü x ler ayrı y ler ayrı z ler ayrı şekilde verilen oranla tek tek düzenliyor.Yani

from  x=1 , y=2 , z=3
to      x=5 , y=6 , z=7

From daki x ile to da ki x değerleri yüzde 75 oranında bölünmeye tabi tutulursa sonuç 4 olacaktır.

From daki y ile to da ki y değerleri yüzde 75 oranında bölünmeye tabi tutulursa sonuç 5 olacaktır.

From daki z ile to da ki z değerleri yüzde 75 oranında bölünmeye tabi tutulursa sonuç 6 olacaktır.

Bu işlemin kullanım amacı oldukça çoktur.Şimdilik örnek amaçlı kod yayınlayacağım.İlerleyen zamanlarda açıklama ekleyeceğim.

void Update ()
{
    light.intensity = Mathf.Lerp(light.intensity, 8f, 0.5f* Time.deltaTime);}