Unity 3D TR Forum

Orjinalini görmek için tıklayınız: FPS FUTBOL OYUNUMA FALSO EKLEMEK İSTİYORUM
Şu anda (Arşiv) modunu görüntülemektesiniz. Orjinal Sürümü Görüntüle internal link
Merhabalar. Sohbet Bölümünde Yazdığım Gibi Şu Anda Xifoball İsimli Bir Mobil FPS Futbol Oyunu Geliştiriyorum. Ve En Kısa Zamanda da Çıkarmayı Planlıyorum. Ama Bir Kaç Eksiği Var Bunlardan Biri de Topun Sadece Düz gitmesi. Topa Nasıl Falso Verebilirim ? Hep Düz Gitmesin de R Tuşuna Basınca Falso Almasını İstiyorum Yardım Edebilir misiniz? Şimdiden Yardım Eden Herkese Çok Teşekkür Ediyorum.  Rolleyes

Topun Hareket Etmesini Sağlayan Scriptim : 
Kod:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Karakter : MonoBehaviour {
    public bool top;
    public GameObject topobj;
    public float sut1,sut2,hava1,hava2,falso1,falso2;
    void Start () {
        topobj.name = "Top";
        
        
    }
    
    // Update is called once per frame
    void Update () {
        if(top) {
            if (Input.GetKey(KeyCode.Q)){
                topobj.GetComponent<Rigidbody> ().velocity = transform.TransformDirection (new Vector3 (Random.Range (falso1,falso2), Random.Range (hava1, hava2), Random.Range (sut1, sut2)));
            }
            if (Input.GetKey (KeyCode.E)) {
                topobj.GetComponent<Rigidbody> ().velocity = transform.TransformDirection (new Vector3 (0, 0, 7));
            }
            }    
    }
}

Nasıl Yapabilirim ? Confused
Dostum neye göre falso alacağını belirlemelisin. Falsoyu sağlayan mekanik ne olacak, oyuncu neye basarsa neye göre falso alacak vb detaylandırmalısın. Ardından kod tarafında destek verilebilir.
(03-08-2017, Saat: 19:13)vic Nickli Kullanıcıdan Alıntı: Linkleri görüntüleyebilmek için Kayıt ol manız veya Giriş yapmanız gerekiyor.Anlayışınız için teşekkürler.!Dostum neye göre falso alacağını belirlemelisin. Falsoyu sağlayan mekanik ne olacak, oyuncu neye basarsa neye göre falso alacak vb detaylandırmalısın. Ardından kod tarafında destek verilebilir.

Hemen Düzeniyorum Postu.Ama mekanik derken neyden bahsettiğinizi anlamış değilim. Smile Yorumunuz ve Öneriniz İçin Teşekkür Ederim Smile
Falso topun yada yuvarlak her hangi bir çizmin havada veya fiziksel bir ortamda giderken kendi ekseni etrafında dönmesiyle dönüş rotasının buna oranla değişmesidir bunu baz alarak yapabilirsin yani tamamen deneme yaparak yapabileceğin bir şey Top sağa giderken Kendi ekseni etrafında sola dönerse ilk önce sağa sonra biraz sola doğru yanaşır örnek bunu sende oyununda kendi ekseni etrafında ki dönüş hızına bağlı olarak topa sol'dan bir kuvvet uygulayabilirsin hatta unity'nin fizik motoru bunu kendi bile yapabilir bir dene merak ettim bende Smile
Çok Güzel açıklamışsınız Çooook teşekkür ederim Smile  Kendi etrafında Dönmesini ve havadayken ve yerdeyken rota değiştirmesini kodla mı yoksa fizik motoru ile mi yapmam lazım ?
İkisinide denemeni öneririm hangisi ile daha iyi sonuç alırsan onu kullan. ama ilk tabi fizik motoru ile dene.
İngilizce Forumlardan inceledim de AddForce ve Add Torque komutlarıyla bir kod sayesinde yapılabilirmiş ayrıca Constant Force unity hazır fiziği İle de yapılabilirmiş ama bunların ikisini de denedim aradığım sonuca ulaşamadım. ben top normal dursun r tuşuna basınca hava da yön değiştirsin istiyorum. bunun için de benim yazılım ve unity bilgim yetmiyor Smile Bunlarla ilgili bir bilginiz varsa beni mutlu edersiniz Smile
Evet Falso Olayının Yarısını Çözdüm Öncelikle Şu Kodu Ekledim : 
Kod:
using UnityEngine;
using System.Collections;

public class Soccer : MonoBehaviour {

    Rigidbody rb;
    bool bKicked = false;

    void Start () {
        rb = GetComponent<Rigidbody>();
        transform.eulerAngles = new Vector3(0.0f, 10.0f, 0.0f);
    }

    void Update () {
        if (bKicked)   // Curve force added each frame
            rb.AddRelativeForce (Vector3.right*0.06f, ForceMode.Impulse);
        if (Input.GetKey (KeyCode.Q)) {
            rb.AddRelativeForce (Vector3.forward * 0.8f + Vector3.up * 0.1f, ForceMode.Impulse);
            bKicked = true;
        }
    }


}
Daha Sonra İse Bir Constant Force Ekleyip "Force Değerlerini Sırasıyla : 0 -2 -20 yaptım. Ve Artık Top Falso Alıyor Ama Top Topa Dokunulmadığı Halde Kendi Kendine Sola Doğru Gidiyor. Bunu Sadece Q tuşuna Basınca Constant Forcun Etkinleşmesi Ve Basılmadığı Zaman Çalışmaması  İçin Ne yapabilirim?
O dediğini yapmak aslına bakarsan biraz fizik dışı oluyor yani sen cisme hali hazırda bir falso verdikten sonra onun falsolu bir şekilde ilerlemesi fizik motorunun kendi hesabıyla alakalı bir şey yani bir kere verdin mi devam edecektir ne yazık ki ona zıt bir kuvvet ile bu sorunu çözebilirsin belki.
Merhaba belki ardan uzun bir süre geçti fakat bende aynı konudan yakınıyorum. Hiç bir kaynak da bulamadım. Rica etsem falso ile ilgili olan kodların tamamını atabilir misiniz? Rolleyes