Çözüldü Unity GameObject Depolamak

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

kubricklynch

Hectopat
Katılım
12 Şubat 2021
Mesajlar
314
Çözümler
6
Yer
İstanbul
Merhaba, gününüz güzeldir umarım. Bir proje tasarlamak istiyorum, prefablar üzerinden instantiate ettiğim objeleri depolamak ve programı tekrar açtığımda otomatik yüklenmelerini istiyorum. Depolama işlemini nasıl yapabilirim? Json dosyası üzerinden olursa daha iyi olur sanırım ancak nasıl yapacağımı çözemedim. Yardımcı olursanız çok sevinirim, teşekkürler.
 
Son düzenleyen: Moderatör:
Çözüm
Şu tarz tutoriallara bakmak isteyebilirsiniz.

Bu içeriği görüntülemek için üçüncü taraf çerezlerini yerleştirmek için izninize ihtiyacımız olacak.
Daha detaylı bilgi için, çerezler sayfamıza bakınız.

Instantiate ettiğiniz GameObject'leri bir listede tutmanız ya da Object.FindObjectByType<GameObject>() benzeri bir çözüm kullanmanız gerekiyor. Daha sonra save sırasında bütün objeleri bir JsonUtility kütüphanesini kullanarak kaydetmeniz gerekiyor. Yükleme kısmı içinse dummyscene önerebilirim. İçi boş bir scene yaratıp oyunun ilk defa başlatıldığından emin olduktan sonra PlayerPrefs kullanarak bir int yaratıp onu doğrulayın. Ardından GameManager üzerinden Awake fonksiyonunda yine JsonUtility kullanarak bütün dosyaları tekrar instantiate edin.
Şu tarz tutoriallara bakmak isteyebilirsiniz.

Bu içeriği görüntülemek için üçüncü taraf çerezlerini yerleştirmek için izninize ihtiyacımız olacak.
Daha detaylı bilgi için, çerezler sayfamıza bakınız.

Instantiate ettiğiniz GameObject'leri bir listede tutmanız ya da Object.FindObjectByType<GameObject>() benzeri bir çözüm kullanmanız gerekiyor. Daha sonra save sırasında bütün objeleri bir JsonUtility kütüphanesini kullanarak kaydetmeniz gerekiyor. Yükleme kısmı içinse dummyscene önerebilirim. İçi boş bir scene yaratıp oyunun ilk defa başlatıldığından emin olduktan sonra PlayerPrefs kullanarak bir int yaratıp onu doğrulayın. Ardından GameManager üzerinden Awake fonksiyonunda yine JsonUtility kullanarak bütün dosyaları tekrar instantiate edin.
 
Son düzenleme:
Çözüm
Objelerin positionlarını PlayerPrefs ile kaydedip oyun başladığında geri çağırabilirsin.
PlayerPrefs bunun için kullanılmamalı. Yukarıdaki arkadaşın dediği yöntem ile yapılmalı. Oyunun yapısına göre belki ScriptableObject ile de yapılabilir. Ama en genel çözüm load save sistemidir.
 

Yeni konular

Geri
Yukarı