Tüm Rehberler

Top Zıplat — Rigidbody Fizik Oyunu

Başlangıç ⏱ 75 dk
BÖLÜM 4 / 8

Yay (Spring) Platformu — AddForce ile Zıplatma

Topa çarptığında büyük kuvvetle yukarı fırlatan yay platform oluşturuyoruz. Rigidbody.AddForce'un Impulse modu kullanılıyor.

Unity Editör Adımları

'+' > 3D Object > Cube → 'Spring', sarı renge boyandı
Add Collider → isTrigger = false (normal çarpışma)
Assets > C# Script → 'SpringPad'
Spring objesine scripti ekle
csharp
using UnityEngine;

public class SpringPad : MonoBehaviour
{
    public float springForce = 18f;
    public ParticleSystem springEffect;

    void OnCollisionEnter(Collision collision)
    {
        Rigidbody rb = collision.rigidbody;
        if (rb == null) return;

        // Mevcut dikey hızı sıfırla ve yukarı fırlat
        Vector3 vel = rb.linearVelocity;
        vel.y = 0;
        rb.linearVelocity = vel;
        rb.AddForce(Vector3.up * springForce, ForceMode.Impulse);

        // Efekt
        if (springEffect)
            springEffect.Play();

        // Görsel geri bildirim
        StartCoroutine(SquishEffect());
    }

    System.Collections.IEnumerator SquishEffect()
    {
        transform.localScale = new Vector3(1.3f, 0.5f, 1.3f);
        yield return new WaitForSeconds(0.1f);
        transform.localScale = Vector3.one;
    }
}

ForceMode.Impulse kütleyi dikkate alır. Kitleleri eşit olduğunda aynı kuvveti uygular.

Kaynaklar & Asset Linkleri

Ücretsiz Particle Efektleri: https://assetstore.unity.com/packages/vfx/particles/cartoon-fx-remaster-free-109565

Önceki Bölüm Sonraki Bölüm