orta

Unity'de El Bombası Scripti

Unity'de gerçekçi el bombası fırlatma ve patlama sistemini fizik ve parçacık efektleriyle nasıl oluşturacağınızı öğrenin.

Unity'de El Bombası Scripti
Görüntü 1
Görüntü 2
Görüntü 3

Gereksinimler

  • Unity ve C# temel bilgisi
  • Unity 2022.3 veya daha yeni sürüm
  • Rigidbody ve Collider bileşenleri hakkında bilgi

Gerekli Dosyalar

El Bombası Modeli

3D Model.fbx2.5MB

İndir

Patlama Sesi

Ses.wav1.2MB

İndir

Patlama Parçacık Efekti

Parçacık Sistemi.unitypackage3.1MB

İndir
1

El Bombası Modelini Oluştur

Model İmport İşlemi

  1. Unity Asset Store'dan bir el bombası modeli indirin veya kendi modelinizi oluşturun
  2. Modeli projenize import edin
  3. Hierarchy penceresinde yeni bir obje oluşturun
  4. Modeli bu objenin altına sürükleyin

Model Ayarları

  • Scale değerleri: x:1, y:1, z:1
  • Pivot noktasının merkezde olduğunu kontrol edin
  • Mesh Collider'ın doğru şekilde ayarlandığından emin olun

İpucu: Modelin boyutunu test etmek için sahneye bir karakter modeli ekleyip karşılaştırabilirsiniz.

Notlar

  • Bu adımda herhangi bir kod yazmanıza gerek yok
  • Sadece modelinizin doğru import edildiğinden ve ölçeklendirildiğinden emin olun
El bombası modeli Unity'de import edilmiş hali

Unity'de import edilmiş el bombası modeli

2

Rigidbody Bileşeni Ekle

Rigidbody Ekleme Adımları

  1. Hierarchy'de el bombası objesini seçin
  2. Inspector panelinde Add Component butonuna tıklayın
  3. Arama kutusuna "Rigidbody" yazın ve seçin

Önemli Ayarlar

Mass: 1.0 Drag: 0.1 Angular Drag: 0.05 Use Gravity: ✓ Is Kinematic: ✗ Interpolate: Interpolate Collision Detection: Continuous

Not: Collision Detection'ı Continuous olarak ayarlamak, yüksek hızlarda daha doğru çarpışma tespiti sağlar.

Notlar

  • Inspector'da Rigidbody bileşenini ekleyin
  • Tüm ayarları önerilen değerlere göre yapılandırın
Rigidbody bileşeni ekleme

Add Component menüsünden Rigidbody seçimi

Rigidbody ayarları

Rigidbody bileşeni ayarları

3

El Bombası Scriptini Oluştur

Script Oluşturma

  1. Project penceresinde Scripts klasörü oluşturun
  2. Sağ tık > Create > C# Script > "ElBombasi" olarak adlandırın

Değişkenler

  • firlatmaGucu: Bombanın fırlatılma kuvveti
  • patlamaYaricapi: Patlamanın etki alanı
  • patlamaGucu: Patlama sonucu oluşan itme kuvveti
  • patlamaGecikmesi: Bombanın patlama süresi

Önemli Metodlar

  • Start(): İlk fırlatma kuvvetini uygular
  • Patla(): Patlama efektlerini ve fiziğini yönetir

İpucu: Değişkenleri [Header] attribute'u ile gruplandırmak, Inspector'da daha düzenli bir görünüm sağlar.

Yeni script oluşturma

Project penceresinde yeni C# script oluşturma

Script Inspector görünümü

Script Inspector'da değişkenlerin görünümü

1using UnityEngine;
2
3public class ElBombasi : MonoBehaviour
4{
5    [Header("El Bombası Ayarları")]
6    public float firlatmaGucu = 10f;
7    public float patlamaYaricapi = 5f;
8    public float patlamaGucu = 700f;
9    public float patlamaGecikmesi = 3f;
10    
11    [Header("Efektler")]
12    public GameObject patlamaEfekti;
13    public AudioClip patlamaSesi;
14    
15    private Rigidbody rb;
16    private bool patladi = false;
17    
18    void Start()
19    {
20        rb = GetComponent<Rigidbody>();
21        rb.AddForce(transform.forward * firlatmaGucu, ForceMode.Impulse);
22        Invoke("Patla", patlamaGecikmesi);
23    }
24    
25    void Patla()
26    {
27        if (patladi) return;
28        patladi = true;
29        
30        // Patlama efektini oluştur
31        if (patlamaEfekti != null)
32        {
33            Instantiate(patlamaEfekti, transform.position, Quaternion.identity);
34        }
35        
36        // Patlama sesini çal
37        if (patlamaSesi != null)
38        {
39            AudioSource.PlayClipAtPoint(patlamaSesi, transform.position);
40        }
41        
42        // Yakındaki nesnelere patlama gücü uygula
43        Collider[] colliders = Physics.OverlapSphere(transform.position, patlamaYaricapi);
44        foreach (Collider yakinNesne in colliders)
45        {
46            Rigidbody rb = yakinNesne.GetComponent<Rigidbody>();
47            if (rb != null)
48            {
49                rb.AddExplosionForce(patlamaGucu, transform.position, patlamaYaricapi);
50            }
51        }
52        
53        // El bombasını yok et
54        Destroy(gameObject);
55    }
56}
4

Patlama Efektini Yapılandır

Parçacık Sistemi Oluşturma

  1. Hierarchy'de sağ tık > Effects > Particle System
  2. Sistemi "PatlamaEfekti" olarak adlandırın

Temel Ayarlar

Duration: 1 Looping: ✗ Start Lifetime: 0.5 Start Speed: 10 Start Size: 2 Start Color: Turuncu → Kırmızı (Gradient) Simulation Space: World

Modül Ayarları

  1. Emission

    • Rate over Time: 0
    • Burst: Count 100, Time 0
  2. Shape

    • Shape: Sphere
    • Radius: 0.1
  3. Color over Lifetime

    • Gradient: Turuncu → Kırmızı → Saydam
  4. Size over Lifetime

    • Curve: Başlangıçta büyük, sonda küçük

İpucu: Test etmek için Play Mode'da Particle System'i manuel olarak tetikleyebilirsiniz.

Notlar

  • Unity Editor'de parçacık sistemini oluşturun
  • Tüm ayarları önerilen değerlere göre yapılandırın
  • Test ederek görsel efektin istediğiniz gibi olduğundan emin olun
Parçacık sistemi ayarları

Parçacık sistemi Inspector ayarları

Parçacık sistemi görünümü

Parçacık sisteminin Scene görünümü

Sonuç

Yorumlar

Mehmet Yılmaz

Mehmet Yılmaz

2024-03-16

Harika öğretici! Adım adım talimatlar çok net ve kod mükemmel çalıştı.

Ayşe Demir

Ayşe Demir

2024-03-15

Çok yardımcı oldu, ancak parçacık sistemi ayarları hakkında daha fazla açıklama olabilirdi.