Unity 3D nasıl kullanılır?

Anlarım. Okulda çok kod yazmışlığım oldu. Ama o kadar uğraşacağına hazır kod bulamaz mıyız?

Profilinize girdim ama link vb. bir şey bulamadım.
İyi o zaman, anlatmaya başlıyorum. Anlamadığın bir yer olursa tekrar ederim.
 
Bir sorum daha olacak. Acaba eşyalarla etkileşime nasıl geçiliyor? Mesela evin kapısını açmak gibi.
Onlar ilerideki konu, şimdilik size Dusmana hasar vermeyi, dusmanın sizi takip etmesini öğreteceğim.

İlk olarak şunu bilin ki kesinlikle dediklerimin dışında başka cümleler kullanmayın kod çalışmaz.

Yapılacaklar=
1-"Dusman" ve "Ates" adında iki adet ayarı c# kodu yaratın.
2-Daha sonra Bir "Capsule" objesi yaratın.
3-"Dusman" scriptini Capsule atınız.
4-Capsule Insceptorın yukarısından "Tag" bölümünden Add tag ekleyin.
5-Buradaki boş kutucuğa "Dusman" yazın ve enter tuşuna basıp, Hieracy menüsünden Capsule obesjini seçin, şimdi Tag bölümüne tekrar basıp, alt alta sıralanmış olarak seçenekler var siz oradan az önce eklediğimiz "Dusman" tagını seçin.

Şimdi Script bölümüne gekdik.
1-Dusman scriptini açınız ve aynen şunu yazınız(Scriptin içindeki herşeyi silin void uptade ve start bölümlerini sadece sil)
--------------------------------------------------------------------------------------------------------------
Kodun içerisine yazılacaklar=
"
public float hiz, mesafe;
public bool yurume, ates;
public Transform karakter;
Vector3 poz;

void Start () {
}

void Update () {
poz = new Vector3 (karakter.position.x, transform.position.y, karakter.position.z);
mesafe = Vector3.Distance (transform.position, karakter.position);

if (mesafe < 21 && mesafe > 10) {
yurume = true;
}

if (mesafe < 10) {
yurume = false;
ates = true;
}

if (yurume) {
hiz = 6;
transform.position = Vector3.MoveTowards (transform.position, karakter.position, hiz * Time.deltaTime);
transform.LookAt (poz);
}
if (ates)
{
transform.LookAt (poz);
}
if (yurume == false && ates == false) {
}
}
"
-------------------------------------------------------------------------------------------------------------
Not= tırnak işaretlerini almayınız.

Bu kodu yapıştırın sonra Ctrl+S tuşu ile kaydedin

--------------------------------------------------------------------------------------------------------------
2-Şimdi Ates kodunu açın ve şu şekilde güncelleyin=
"
public float mermi, menzil,siradakiates;
public bool ates;
RaycastHit hit;
void Start () {
}
void Update () {
if (Input.GetMouseButton (0) && mermi > 0 && Time.time > siradakiates)
ates = true;
mermi--;
}
void FixedUpdate(){
if (ates) {
ates = false;
if (Physics.Raycast (Camera.main.transform.position, Camera.main.transform.forward, out hit, menzil)) {
if (hit.transform.tag == "Dusman") {
Debug.Log ("Dusman zarar aldı");
Destroy (hit.transform.gameObject);
}
}
}
}

"
--------------------------------------------------------------------------------------------------------------
Bunuda kaydedin ve motora geri gelin.
Şimdi Ates kodunu yaratığınız FPS Characterının içine atınız, Şimdi FPS objesini seçin ve Insceptor Bölümündeki "Ates " kodunu bulun ve Mermi=500
Menzil = 70 yapınız.

Şimdide Capsule tıkalyın ve bu seferde bundaki ınsceptor bölümüne tıklayın ve Hız=5 yapın
Durun daha bitmedi, şimdi burada bize "Karakter" adlı yeri soruyor buranın içerisine Hiearcy bölümündeki FPSController>FPS characterını tutun ve buranın içerisine sürükleyiniz.

Şimdi Ctrl+s tuşu ile oyunu kaydedin ve oyunu başlatın Capsule sizi takip edecek, zara verip öldürmek için Sol tık ile ateş edin unutmayın şuan attığımız ates Ekranın tam ortasından çıkıyor , ekranı ortalayarak capsule ates edin iki üç atıştan sonra ölecek.

Anlamadığınız bir yer var ise sorun.
Kolay gelsin.

Buyurunuz buda yazdığım kodun çalıştığının kanıtı.(Video bana aittir. İçeriklerde bana aittir)
Bu içeriği görüntülemek için üçüncü taraf çerezlerini yerleştirmek için izninize ihtiyacımız olacak.
Daha detaylı bilgi için, çerezler sayfamıza bakınız.
 
Onlar ilerideki konu, şimdilik size Dusmana hasar vermeyi, dusmanın sizi takip etmesini öğreteceğim.

İlk olarak şunu bilin ki kesinlikle dediklerimin dışında başka cümleler kullanmayın kod çalışmaz.

Yapılacaklar=
1-"Dusman" ve "Ates" adında iki adet ayarı c# kodu yaratın.
2-Daha sonra Bir "Capsule" objesi yaratın.
3-"Dusman" scriptini Capsule atınız.
4-Capsule Insceptorın yukarısından "Tag" bölümünden Add tag ekleyin.
5-Buradaki boş kutucuğa "Dusman" yazın ve enter tuşuna basıp, Hieracy menüsünden Capsule obesjini seçin, şimdi Tag bölümüne tekrar basıp, alt alta sıralanmış olarak seçenekler var siz oradan az önce eklediğimiz "Dusman" tagını seçin.

Şimdi Script bölümüne gekdik.
1-Dusman scriptini açınız ve aynen şunu yazınız(Scriptin içindeki herşeyi silin void uptade ve start bölümlerini sadece sil)
--------------------------------------------------------------------------------------------------------------
Kodun içerisine yazılacaklar=
"
public float hiz, mesafe;
public bool yurume, ates;
public Transform karakter;
Vector3 poz;

void Start () {
}

void Update () {
poz = new Vector3 (karakter.position.x, transform.position.y, karakter.position.z);
mesafe = Vector3.Distance (transform.position, karakter.position);

if (mesafe < 21 && mesafe > 10) {
yurume = true;
}

if (mesafe < 10) {
yurume = false;
ates = true;
}

if (yurume) {
hiz = 6;
transform.position = Vector3.MoveTowards (transform.position, karakter.position, hiz * Time.deltaTime);
transform.LookAt (poz);
}
if (ates)
{
transform.LookAt (poz);
}
if (yurume == false && ates == false) {
}
}
"
-------------------------------------------------------------------------------------------------------------
Not= tırnak işaretlerini almayınız.

Bu kodu yapıştırın sonra Ctrl+S tuşu ile kaydedin

--------------------------------------------------------------------------------------------------------------
2-Şimdi Ates kodunu açın ve şu şekilde güncelleyin=
"
public float mermi, menzil,siradakiates;
public bool ates;
RaycastHit hit;
void Start () {
}
void Update () {
if (Input.GetMouseButton (0) && mermi > 0 && Time.time > siradakiates)
ates = true;
mermi--;
}
void FixedUpdate(){
if (ates) {
ates = false;
if (Physics.Raycast (Camera.main.transform.position, Camera.main.transform.forward, out hit, menzil)) {
if (hit.transform.tag == "Dusman") {
Debug.Log ("Dusman zarar aldı");
Destroy (hit.transform.gameObject);
}
}
}
}

"
--------------------------------------------------------------------------------------------------------------
Bunuda kaydedin ve motora geri gelin.
Şimdi Ates kodunu yaratığınız FPS Characterının içine atınız, Şimdi FPS objesini seçin ve Insceptor Bölümündeki "Ates " kodunu bulun ve Mermi=500
Menzil = 70 yapınız.

Şimdide Capsule tıkalyın ve bu seferde bundaki ınsceptor bölümüne tıklayın ve Hız=5 yapın
Durun daha bitmedi, şimdi burada bize "Karakter" adlı yeri soruyor buranın içerisine Hiearcy bölümündeki FPSController>FPS characterını tutun ve buranın içerisine sürükleyiniz.

Şimdi Ctrl+s tuşu ile oyunu kaydedin ve oyunu başlatın Capsule sizi takip edecek, zara verip öldürmek için Sol tık ile ateş edin unutmayın şuan attığımız ates Ekranın tam ortasından çıkıyor , ekranı ortalayarak capsule ates edin iki üç atıştan sonra ölecek.

Anlamadığınız bir yer var ise sorun.
Kolay gelsin.

Buyurunuz buda yazdığım kodun çalıştığının kanıtı.(Video bana aittir. İçeriklerde bana aittir)
Bu içeriği görüntülemek için üçüncü taraf çerezlerini yerleştirmek için izninize ihtiyacımız olacak.
Daha detaylı bilgi için, çerezler sayfamıza bakınız.
Tamam her şeyi yaptım. Ama mermi basmadığım zaman bile bitiyor?
 
Tamam her şeyi yaptım. Ama mermi basmadığım zaman bile bitiyor?
Bu aslında bir oyunum vardı orada kullanmıştım, kodun yarısı daha vardı ama sildim kafanız karışmasın diye. Mermi sayısını şimdi çok yüksek sayı yap,zaten bu senin ilk oyunun ve bunu yayınlayacak halinde yok ;)
Bugün içerisinde çözebilirim.
 
Bu aslında bir oyunum vardı orada kullanmıştım, kodun yarısı daha vardı ama sildim kafanız karışmasın diye. Mermi sayısını şimdi çok yüksek sayı yap,zaten bu senin ilk oyunun ve bunu yayınlayacak halinde yok ;)
Bugün içerisinde çözebilirim.
Öncelikle ilgin için çok teşekkür ederim. Bir sorunum daha var. Yaptığımız kapsül var ya ona görünüm nasıl ekleyeceğiz?
 
Öncelikle ilgin için çok teşekkür ederim. Bir sorunum daha var. Yaptığımız kapsül var ya ona görünüm nasıl ekleyeceğiz?
Onlar zor işler, biraz daha bu düzeyde takıl. Oyun motorunu biraz incele, kendince değişiklikler yapmaya dene. Özellikleri öğrenmeye çalış. Aslında Pekte zor değil ama capsule yerine koyacağın Model animasyonluysa bunu animasyonunu ayarlamak lazım ki bu oldukça karmaşık bir yapıya giriyor. Birazdan anlatırım capsule yerine Model koymayı ama animasyon işini anlaman için daha çok yolunuz var.
 
Onlar zor işler, biraz daha bu düzeyde takıl. Oyun motorunu biraz incele, kendince değişiklikler yapmaya dene. Özellikleri öğrenmeye çalış. Aslında Pekte zor değil ama capsule yerine koyacağın Model animasyonluysa bunu animasyonunu ayarlamak lazım ki bu oldukça karmaşık bir yapıya giriyor. Birazdan anlatırım capsule yerine Model koymayı ama animasyon işini anlaman için daha çok yolunuz var.
Bir de görüntüyü 3. kişi yapınca kamerayı sabitliyorum. Ama öyle yapınca karakter tam dönmüyor. Nedeni kameranın kısıtlaması mı acaba?
 
Şuan FPS kullanıyorsun, TPS characterini kullan.

Model için ise; “Capsule (Mesh Filter)” component'ini bulup Remove Component diyerek sil (component'in sağındaki dişli ikonuna tıkla). Aynı şeyi "Mesh Renderer" için de yap.

Sonra istediğin bir karakter modelini indir, modelin boyunu küçült normal senin boyun kadar olsun, sonra dusman objesine tıkla yeşil çizgili bir tür obje var bunu da, karakterin etrafına saracak şekilde ayarla. Yapamadığın yerin resmini at.
 
Şuan FPS kullanıyorsun, TPS characterini kullan.

Model için ise; “Capsule (Mesh Filter)” component'ini bulup Remove Component diyerek sil (component'in sağındaki dişli ikonuna tıkla). Aynı şeyi "Mesh Renderer" için de yap.

Sonra istediğin bir karakter modelini indir, modelin boyunu küçült normal senin boyun kadar olsun, sonra dusman objesine tıkla yeşil çizgili bir tür obje var bunu da, karakterin etrafına saracak şekilde ayarla. Yapamadığın yerin resmini at.
Model derken hangi objeyi seçmem gerekiyor?
 

Yeni konular

Geri
Yukarı