Unity 3D ile İlgili Örnekler (klavye kontrol kodu, mouse ile kamera hareket kodu)
Kameranın hareketini mause ile değiştiren kod ,Karakteri hareket ettiren kod:

Unity 3D ile İlgili Örnekler
Â
Animasyonlarla çalışmakÂ
Bu örnek kapsamında Assets Store (Window->Assets Store/CTRL+9) Character Pack indirilmiÅŸtir. Assets içerisindeki karakteri sahneye atabilmek için Project klasörünün altındaki Assets klasöründeki yolu takip ederek karakteri sahneye yerleÅŸtiniz. Â
Â
Â
Hazır animasyonlar (Koşma, yürüme, zıplama vb.) içeren bu pakette her bir karakterin animatorü bulunmaktadır. Bunlara herhangi bir fonksiyon eklenmedikçe (koşma, yürüme vb.) karakterlerde hareket gözlemlenmeyecektir. Karakterlere fonksiyon eklemek için;
Â
- Assets klasörünün altına yeni bir klasör açıyoruz.
- Bu klasörün içinde sağ tık Create->Animator Controller eklenir.
- Eklenen controller’a çift tıklanarak aÅŸağıdaki ekran açılır (Animator).Â
Â
Â
Â
- Base Layer herhangi bir yere sağ tıklanarak Create State-> Empty ile yeni bir state oluşturulur.
- Inspector panelinden bu statenin adı deÄŸiÅŸtirilir ve Motion kısmına tıklanarak karaktere fonksiyon tanımlanır.Â
Â
Â
Â
- OluÅŸturulan Animasyon Controllerı karakterde tanımlamak için sahne elamanlarının yer aldığı Hierarchy panelinde karakterin ismine tıklayarak özelliklerine yani Inspector paneli açılır. Burada Animator kısmında 2. Adımda oluÅŸturulan Animator Controller eklenir.Â
Â
Â
Â
Karaktere farklı fonksiyonlar eklemek için 4. adımda itibaren işlemler tekrarlanır. Daha önce eklenmiş olan state sağ tıklanıp Make transition eklenir.
Â
Not: Unity 3D’de oyun tasarlarken C# kullanılır. Bu nedenle metot oluÅŸturma (veri çekme, veri gönderme), deÄŸiÅŸken tanımlama vb. iÅŸlemleri https://www.w3schools.com/cs/  verilen linkten çalışınız.Â
Kameranın hareketini mause ile değiştiren kod:
using System.Collections; using System.Collections.Generic; using UnityEngine; Â public class kamera : MonoBehaviour { Â Â Â public GameObject camera;Â Â Â Â public float mouse_sensivity;Â Â Â Â public float XmouseRotation;Â Â Â Â public float YmouseRotation;Â Â Â Â public GameObject obje; Â Â Â void Start() Â Â Â { } Â Â Â void Update() Â Â Â { Â Â Â Â Â Â Â XmouseRotation = Mathf.Clamp(XmouseRotation, -90, 90); Â Â Â Â Â Â Â XmouseRotation -= Input.GetAxis("Mouse Y") * mouse_sensivity * Time.deltaTime;Â Â Â Â Â Â Â Â YmouseRotation += Input.GetAxis("Mouse X") * mouse_sensivity * Time.deltaTime;Â Â Â Â Â Â Â Â camera.transform.rotation = Quaternion.Euler(XmouseRotation, YmouseRotation, 0);Â Â Â Â Â Â Â Â obje.transform.rotation = Quaternion.Euler(0, YmouseRotation, 0); Â Â Â } } |
Â
Karakteri hareket ettiren kod:
using System.Collections; using System.Collections.Generic; using UnityEngine; public class obje_hareket : MonoBehaviour {    public GameObject obje;    public float speed;    public float jump_power;    private Rigidbody yer_cekimi;    public bool onGround;    void Start()    {        yer_cekimi = obje.GetComponent    }    void Update()    {        if (Input.GetKey(KeyCode.W))        {            obje.transform.Translate(0, 0, Time.deltaTime * speed);}        if (Input.GetKey(KeyCode.S))        {            obje.transform.Translate(0, 0, Time.deltaTime * -speed); }        if (Input.GetKey(KeyCode.A))        {            obje.transform.Translate(Time.deltaTime * -speed, 0, 0); }        if (Input.GetKey(KeyCode.D))        {            obje.transform.Translate(Time.deltaTime * speed, 0, 0); }         if (Input.GetKey(KeyCode.Space) && onGround == true)        {            yer_cekimi.velocity = new Vector3(0f, jump_power, 0f);                   onGround = false;}}    public void OnCollisionEnter(Collision obje_col)    {              if (obje_col.collider.tag == "zemin") {            onGround = true;}        else        { onGround = false;        }    }}           onGround = false;} }} |
Â
Tepkileriniz Nedir?






