• 29-04-2025, 04:30:19
    #1
  • 29-04-2025, 04:48:15
    #2
    Uzman arkadaşlar daha iyi bilir tabi ki ama neden parça parça yerleştirmeye çalışıyorsunuz ki bir tane referans noktası atıyorum x 1000 coordinatını alın onun üzerine +100 x ekleyerek ilerletin unity kendi üretsin hem böylelikle boyutu daha optimize olmuş olur
  • 29-04-2025, 04:51:20
    #3
    phpwebdeveloper adlı üyeden alıntı: mesajı görüntüle
    Uzman arkadaşlar daha iyi bilir tabi ki ama neden parça parça yerleştirmeye çalışıyorsunuz ki bir tane referans noktası atıyorum x 1000 coordinatını alın onun üzerine +100 x ekleyerek ilerletin unity kendi üretsin hem böylelikle boyutu daha optimize olmuş olur
    neyin x 100 kordinatını alıcam tam olarak anlamadım daha anlaşılır yazssanız
  • 29-04-2025, 05:58:54
    #4
    1. Altın ve Engel Prefab'lerini Hazırla
    • Altın ve engeller için birer Prefab oluştur. Bu, tekrar kullanılabilir nesneler yaratmana olanak tanır.
    • Prefab'lerini organize etmek için bir klasör oluşturabilirsin (örneğin, Assets/Prefabs).

    2. Sonsuz Yol Mantığını Ayarla
    • Sonsuz bir yol için genelde bir "kaydırma" mekanizması veya sürekli olarak yeni yolların oluşturulması kullanılır.
    • Yolu segmentlere ayırarak her segmentin sonunda yeni bir segment oluşturabilirsin.

    3. Spawn (Yerleştirme) Sistemi
    • Altın ve engelleri rastgele pozisyonlarda yerleştirmek için bir spawn sistemi oluştur.

    Örnek bir Spawner script'i:

    using UnityEngine;
    
    public class Spawner : MonoBehaviour
    {
        public GameObject[] coins; // Altın prefab'leri
        public GameObject[] obstacles; // Engel prefab'leri
        public Transform[] spawnPoints; // Spawn noktaları (yatay eksende rastgele pozisyonlar)
        public float spawnInterval = 2f; // Yerleştirme aralığı
        private float timer;
    
        void Update()
        {
            timer += Time.deltaTime;
    
            if (timer >= spawnInterval)
            {
                SpawnObjects();
                timer = 0;
            }
        }
    
        void SpawnObjects()
        {
            // Rastgele bir spawn noktasını seç
            int randomIndex = Random.Range(0, spawnPoints.Length);
            Transform spawnPoint = spawnPoints[randomIndex];
    
            // Rastgele bir altın ve engel prefab'i seç
            GameObject coinPrefab = coins[Random.Range(0, coins.Length)];
            GameObject obstaclePrefab = obstacles[Random.Range(0, obstacles.Length)];
    
            // Altın ve engeli spawn et
            Instantiate(coinPrefab, spawnPoint.position + Vector3.up, Quaternion.identity);
            Instantiate(obstaclePrefab, spawnPoint.position, Quaternion.identity);
        }
    }
    4. Spawn Noktalarını Belirle
    • Spawn noktaları için sahnede boş GameObject'ler oluştur ve bunları spawn noktaları olarak kullan.
    • Bu GameObject'leri bir listeye (Transform[]) ekleyerek script'te kullanabilirsin.

    5. Objeleri Yok Et
    • Performansı artırmak için ekrandan çıkan objeleri yok etmelisin.

    Bunun için aşağıdaki gibi bir script kullanabilirsin:

    using UnityEngine;
    
    public class DestroyAfterTime : MonoBehaviour
    {
        public float destroyTime = 5f; // X saniye sonra objeyi yok et
    
        void Start()
        {
            Destroy(gameObject, destroyTime);
        }
    }
    Bu script'i altın ve engel prefab'lerine ekle.

    6. Optimize Etmek İçin Object Pooling Kullan
    • Eğer çok fazla obje spawn ediyorsan, performansı artırmak için Object Pooling yöntemi kullanabilirsin.
    • Bu yöntemle objeleri yok etmek yerine yeniden kullanırsın.

    7. Test Et ve Hata Ayıkla
    • Sistemi sahnede test ederek spawn noktalarının doğru çalışıp çalışmadığını kontrol et.
    • Altın ve engellerin yerleştirme sıklığını spawnInterval ile ayarlayabilirsin.
  • 29-04-2025, 06:04:00
    #5
    Hocam hangi eğitimleri izlediniz bilmiyorum ama orta ve ileri seviye eğitimler izleyin, şuan yaptığınız şey başlangıç seviyesi öyle test yapmalık şeyler