Unity Rigidbody Nedir? Nasıl Eklenir?

nhtctn nhtctn

Rigidbody nesnelerinizi gerçekçi bir şekilde hareket etmesini sağlar. Herhangi bir nesneye eklendiğinde , kuvvet ve ivme gibi fizik davranışlarıyla etkileşime girmesine izin veren bir özelliktir.

2D oyun tasarımıyla çalışırken , Rigidbody yerine Rigidbody2D’yi kullanıyoruz. Rigidbody2D yalnızca xy ekseninde etkileşime girmekte ve 2 boyutta çalışması bakımından farklıdır. Nesneye hız ve ivmeler eklemekte yardımcı olur.

RigidBody Elemanları

MassNesnenin kütlesi (varsayılan olarak kilogram cinsinden).
DragNesnenin hareket ederken hava direncinin ne kadar etki ettiği anlamına gelir.
Angular DragNesnenin dönüşte hava direncinin ne kadar etki ettiği anlamına gelir.
Use GravityEtkinleştirilirse, nesne yer çekiminden etkilenir.
Is KinematicEtkinleştirilirse, nesne fizik motoru tarafından çalıştırılmaz ve yalnızca 
Dönüşümü ile değiştirilebilir. Bu, hareketli platformlar için veya bir HingeJoint takılı bir 
Rigidbody’yi canlandırmak istiyorsanız kullanışlıdır.
InterpolateRigidbody’nizin hareketinde sarsıntı görüyorsanız deneyin.
NoneEnterpolasyon uygulanmaz.
 InterpolateDönüştürme, önceki karenin Dönüştürmesine göre düzgünleştirilir.
 ExtrapolateDönüşüm, sonraki karenin tahmini Dönüşümüne göre düzgünleştirilir.
Collision DetectionHızlı hareket eden nesnelerin algılama yapmadan diğer nesnelerden geçmesini önlemek için kullanılır çarpışmalar.
DiscreteDiğer çarpışanlar, ona karşı çarpışmayı test ederken ayrık çarpışma algılaması kullanacaktır. 
Normal çarpışmalar için kullanılır
 ContinuousDinamik Çarpıştırıcılara (Rigidbody ile) ve süpürme tabanlı olarak ayrık çarpışma algılamasını kullanın sürekli çarpışma tespiti Statik Çarpıştırıcılara karşı (Rigidbody olmadan). Sürekli Dinamik olarak ayarlanmış katı cisimler , bu katı cisme karşı çarpışmayı test ederken sürekli çarpışma algılamasını kullanacaktır. 
Diğer katı cisimler, Ayrık Çarpışma algılamasını kullanacaktır. Sürekli Dinamik algılamanın çarpışması gereken 
nesneler için kullanılır . 
(Bunun fizik performansı üzerinde büyük bir etkisi vardır , hızlı nesnelerin çarpışmalarıyla ilgili sorun yaşamıyorsanız bunu Ayrık olarak bırakın.
Continuous DynamicSürekli Dinamik çarpışmaya 
ayarlanmış GameOjects’e karşı süpürme tabanlı sürekli çarpışma algılamasını kullanın . Ayrıca, statik Çarpıştırıcılara karşı (bir Rigidbody olmadan) sürekli çarpışma algılaması kullanacaktır. Diğer tüm çarpışanlar için ayrı çarpışma algılaması kullanır. Hızlı hareket eden nesneler için kullanılır.
Continuous Speculativespekülatif sürekli çarpışma tespiti
Rigidbodies ve Collider’lara karşı. Bu aynı zamanda kinematik gövdeleri ayarlayabileceğiniz tek CCD modudur. Bu yöntem, tarama tabanlı sürekli çarpışma algılamasından daha ucuz olma eğilimindedir.
ConstraintsRigidbody’nin hareketiyle ilgili kısıtlamalar: –
Freeze Position

Freeze Rotation
Rijidbody’nin X, Y ve Z eksenlerinde seçici olarak hareket etmesini durdurur.

Rigidbody’nin yerel X, Y ve Z eksenleri etrafında seçici olarak dönmesini durdurur.

RigidBody Nasıl Eklenir?

GameObject kısmından nesnenize isim verdikten sonra Bileşen Ekle kısmına tıklayın. GameObject nesnesini değiştirmediyseniz Sprite Renderer bileşenin hemen altında bulunmalıdır.

  • Physics 2D → RigidBody2D’ye gidin . Bu, gameObject’inize bir Rigidbody2D bileşeni ekleyecektir.
  • Sprite Renderer’ın hemen altına, etkileşim görünümünde yeni bir RigidBody 2D özellikleri satırı eklenir .

Bu aşamada oyununuzu çalıştırdığınız zaman GameObject nesnenizin hızlıca yere çakıldığını göreceksiniz. Bunu engellemek için;

Rigidbody’nin özelliklerinden Gravity Scale değerini ‘0‘ olarak ayarlayın.

function Start () {
rigidbody.velocity.x = 15;
var rigbody : Rigidbody;
rigbody = gameObject.AddComponent(Rigidbody);
}

function Update () {
if(rigidbody.velocity.x >0) {
rigidbody.velocity.x -= 0.1;
}else{
rigidbody.velocity.x = 0;
}
}

Yorum yazın

BENZER YAZILAR