
unıtyde altınları ve engeli sonsuz yolda otomatik yerleştiremiyorum
4
●150
- 29-04-2025, 04:48:15Uzman 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:20neyin x 100 kordinatını alıcam tam olarak anlamadım daha anlaşılır yazssanızphpwebdeveloper adlı üyeden alıntı: mesajı görüntüle

- 29-04-2025, 05:58:541. 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:00Hocam 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
