Unity'de Physics 2D ile Gerçekçi Hareket Simülasyonu

Unity'nin Physics 2D sistemi, 2D oyunlarda nesnelerin doğal ve gerçekçi şekilde hareket etmesini sağlayan temel araçlardan biridir. Karakter kontrolünden çevre etkileşimine kadar pek çok mekanik bu sistem üzerinde çalışır.

Her fiziksel nesneye Rigidbody 2D bileşeni eklemek gerekir. Bu bileşen, nesnenin kütlesini, yerçekimi etkisini ve hareket türünü tanımlar. Dynamic nesneler tam fizik simülasyonuna tabi olurken, Kinematic nesneler sadece kodla kontrol edilir ve Static nesneler hareketsiz kalır.

CircleCollider2D ve BoxCollider2D, çarpışma algılaması için kullanılır. Çarpışma olduğunda OnCollisionEnter2D() veya OnTriggerEnter2D() gibi callback fonksiyonları tetiklenir. Trigger ayarı açıksa fizik simülasyonu atlanır ve sadece çarpışma algılanır.

Reklam · TEST
AdSense Test ReklamıYazı arası (gönderi içi) · Yazı arası
1using UnityEngine;
2
3public class PlayerController: MonoBehaviour
4{
5private Rigidbody2D rb;
6public float jumpForce = 5f;
7public float moveSpeed = 5f;
8
9void Start()
10{
11rb = GetComponent<Rigidbody2D>();
12}
13
14void Update()
15{
16float moveInput = Input.GetAxis("Horizontal");
17rb.velocity = new Vector2(moveInput * moveSpeed, rb.velocity.y);
18
19if (Input.GetKeyDown(KeyCode.Space))
20{
21rb.AddForce(Vector2.up * jumpForce, ForceMode2D.Impulse);
22}
23}
24}

Fizik simülasyonu CPU açısından pahalıdır. Gereksiz collider kullanmaktan kaçının ve Static nesneleri optimize edin. FixedUpdate() içinde fizik kodunu yazın, Update() değil. Physics2D ayarlarında iteration sayısını oyun ihtiyacına göre ayarlayın.

Unity'nin Physics 2D sistemi basit görünse de, doğru kullanıldığında oyunun hissiyatını tamamen değiştirir. Başlangıçta Rigidbody ve Collider ilişkisini anlamak, daha karmaşık mekanikler için sağlam bir temel oluşturur.

Reklam · TEST
AdSense Test ReklamıGönderi altı · Görüntülü
konu hakkında tepkinizi verebilirsiniz