Popüler Yayınımıza da Göz Atabilirsiniz
Unity ile Nesnelerin Çarpışma Hızını Bulmak
- Bağlantıyı al
- X
- E-posta
- Diğer Uygulamalar
Merhaba Herkese,
Mesela bir bombamız var eğer duvara çok hızlı çarpıyorsa bu duvarın yok olmasını ama yavaş çarparsa hiçbir şey olmasını istemez isek bunu Unity üzerinde nasıl yapabiliriz?
İlk olarak; objelerimizin çarpışmasını Unity üzerinde OnCollisionEnter (3d için) , OnCollisionEnter(2D için) algılıyorduk. Duvar nesnemizin scriptine gidip bu fonksiyonu yazıyoruz. Bu sayede çarpan nesneleri kod üzerinde algılayabiliriz.
class Duvar : MonoBehaviour {
void OnCollisionEnter2D()
{
}
}
Evet Fonksiyonumuzu yazdık peki çarpan nesneyi nasıl anlayacağız. Onu ise parantez aralığına Collision2D coll yazarak. Artık duvara nesnenin ismi coll.
class Duvar : MonoBehaviour {
void OnCollisionEnter2D(Collision2D coll)
{
}
}
Artık çarpma hızımızı algılayabiliriz. Bunun için relativeVelocity vektörünü kullanacağız.
class Duvar : MonoBehaviour {
void OnCollisionEnter2D(Collision2D coll)
{
if (coll.relativeVelocity.magnitude > 7f) {
Destroy(gameobject);
}
}
}
RelativeVelocity vektörü duvara çarpan nesnenin x,y,z ekseninde hareket vektörüdür. Magnitude dememizle birlikte bu vektörün uzunluğunu bulmuş oluyoruz yani duvara çarptığı anki hızını. If sayesinde kontrol ederek eğer 7f den büyükse objeyi yok et diyoruz.
Mesela bir bombamız var eğer duvara çok hızlı çarpıyorsa bu duvarın yok olmasını ama yavaş çarparsa hiçbir şey olmasını istemez isek bunu Unity üzerinde nasıl yapabiliriz?
İlk olarak; objelerimizin çarpışmasını Unity üzerinde OnCollisionEnter (3d için) , OnCollisionEnter(2D için) algılıyorduk. Duvar nesnemizin scriptine gidip bu fonksiyonu yazıyoruz. Bu sayede çarpan nesneleri kod üzerinde algılayabiliriz.
class Duvar : MonoBehaviour {
void OnCollisionEnter2D()
{
}
}
Evet Fonksiyonumuzu yazdık peki çarpan nesneyi nasıl anlayacağız. Onu ise parantez aralığına Collision2D coll yazarak. Artık duvara nesnenin ismi coll.
class Duvar : MonoBehaviour {
void OnCollisionEnter2D(Collision2D coll)
{
}
}
Artık çarpma hızımızı algılayabiliriz. Bunun için relativeVelocity vektörünü kullanacağız.
class Duvar : MonoBehaviour {
void OnCollisionEnter2D(Collision2D coll)
{
if (coll.relativeVelocity.magnitude > 7f) {
Destroy(gameobject);
}
}
}
RelativeVelocity vektörü duvara çarpan nesnenin x,y,z ekseninde hareket vektörüdür. Magnitude dememizle birlikte bu vektörün uzunluğunu bulmuş oluyoruz yani duvara çarptığı anki hızını. If sayesinde kontrol ederek eğer 7f den büyükse objeyi yok et diyoruz.
- Bağlantıyı al
- X
- E-posta
- Diğer Uygulamalar
Bu blogdaki popüler yayınlar
C# Puan Tablosu Oluşturma
Merhaba arkadaşlar bugün sizlere bir menajer oyununda takımların puan tablosunu ve doğru biçimde sıralamayı nasıl yapacağımızı göstereceğim. Tabi bildiğimiz üzere ligde takımlar puanına göre sıralanıyor eşit olması durumunda ise averaj ve atılan gollere bakılıyor.Bizde bu sisteme göre yapacağız. Öncelikle böyle büyük çaplı bir menajer oyununda classları kullanmamız şarttır. Bize bir "Takım" adında class lazım , hemen oluşturalım. Bu oluşturduğumuz Takım class'ına IComparable interface'ni uygulayalım bu yapının bize verdiği CompareTo komutuyla işlemlerimizi kolaylıkla gerçekleştireceğiz. Eğer isterseniz hazırlamış olduğum football manager youtube serisinide kanalımdan izleyebilirsiniz. https://www.youtube.com/playlist?list=PLw919wW8ikxenpnSTVecZ-oWZjXbPwEDl public class Takim : IComparable { string takim_adi; int Puan; ...
Unity ile Basit Android Oyun Yapımı
Merhaba arkadaşlar , bugün sizlere Unity'ye yeni başlayanlar için basit bir android oyun nasıl yapabileceğimizden bahsedeceğim . Bu seri çok basit bir platform oyunu olacak. Basit bir oyun için öncelikle gereken basit bir karakter ve zemin spriteları , onları bu adresten indirebilirsiniz. Karakter ve zemin spriteları için link : https://yadi.sk/d/TAA5Yvq23FNziY Ve bu dosyaları indirdikten sonra basit anlaşılır android oyun serimize başlayabilirsiniz. Ama sizlere bu seride öğreneceğimiz bilgilerden bahsedeyim. Daha sonrada alttaki youtube da yayınlanan ücretsiz serinin ilk videosunu izleyerek serimize başlayabiliriz. karakterin zıplaması , zeminde durması , düşmesi , fizik olayları , animasyon yapımı , kamera kullanımı , karakterimizle yıldız ve can toplama , var olan yıldız ve can sayısının gösterimi , tuzak kullanımı , karakter ölümü , level geçme , skor toplama ve kaydetme , level kilit s...
C# İle Adam Asmaca Oyun Yapımı? Nasıl Yapılır?
C# oyun yapımı derslerinde Adam Asmaca oyunu yapımını öğreneceğiz. Basit bir görünüm kolay ve anlaşılır şekilde sizlere aktaracağım. Bu serinin tüm videolarını aşağı bıraktığım Youtube üzerinde yayınlamış olduğum seri ile rahatça erişebilir ve dinleyebilirsiniz. Ayrıca oyunun bitmiş halini de aşağıdaki linkten erişebilirsiniz. İndirme bağlantısı : https://yadi.sk/d/J9VbCaCTrYJf2

Yorumlar
Yorum Gönder