Asset bundle
- Oyun Geliştirme kursu
- Uzman
- Ders 11/47
- 4 dk
AssetBundle ile büyük varlıkları parça parça yüklemeyi öğrenirsin.
AssetBundle nedir?
AssetBundle, oyun varlıklarını tek bir paket dosyasında taşıyan yapıdır. Büyük varlıkları oyun başında tek seferde yüklemek yerine AssetBundle ile parça parça yükleyebilirsin. Bu sayede aynı anda bellekte kalan veri miktarı azalır.
AssetBundle paket = AssetBundle.LoadFromFile("dolap");Paket, varlıklar gerektikçe açılır ve kullanılır.
Streaming
Streaming, varlıkların akış hâlinde ve gerektikçe yüklenmesidir. Oyuncunun hemen görmeyeceği bir bölüm daha sonra yüklenebilir. Böylece hem yükleme süresi hem bellek yükü bölüşülür.
string paketAdi = "SahneVarligi";
int parcaSayisi = 3;Parça parça yükleme, büyük oyunlar için vazgeçilmezdir.
Uygulama Paket kaydı tut
VarlikYukleme sınıfında paketAdi adında bir metin alanını "SahneVarligi" ve parcaSayisi adında bir tam sayı alanını 3 değeriyle tanımla. Start metodu içinde Debug.Log ile "Paket: ", paketAdi, " Parca: " ve parcaSayisi parçalarını birleştirerek yazdır.
Başlangıç kodu
using UnityEngine;
public class VarlikYukleme : MonoBehaviour
{
// paketAdi adli metin alanini "SahneVarligi", parcaSayisi adli tam sayi alanini 3 degeriyle tanimla
void Start()
{
// "Paket: " + paketAdi + " Parca: " + parcaSayisi biciminde yazdir
}
}Örnek çözüm
using UnityEngine;
public class VarlikYukleme : MonoBehaviour
{
string paketAdi = "SahneVarligi";
int parcaSayisi = 3;
void Start()
{
Debug.Log("Paket: " + paketAdi + " Parca: " + parcaSayisi);
}
}Beklenen çıktı
Paket: SahneVarligi Parca: 3
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 AssetBundle kullanmanın temel amacı nedir?
- Tüm varlıkları oyun başında tek seferde yüklemek
- Işık hesaplarını oyun sırasında hızlandırmak
- C# dosyalarını derlemek
- Büyük varlıkları gerektikçe parça parça yüklemek Doğru cevap
Açıklama: AssetBundle büyük veriyi böler; böylece tüm varlıklar aynı anda belleğe yüklenmez.
2 Paketi dosyadan yükle
AssetBundle.____("dolap");
AssetBundle.LoadFromFile("dolap");
Açıklama: AssetBundle.LoadFromFile paket dosyasını diskten yükler; gereksiz tam yükleme yerine bu yöntem kullanılır.
3 AssetBundle terimleri
| Kavram | Anlamı |
|---|---|
AssetBundle |
Varlıkları taşıyan paket dosyası |
Parça parça yükleme |
Büyük varlıkları bölerek getirme |
Streaming |
Gerektikçe akışla yükleme |
Bellek yükü |
Aynı anda taşınan veri miktarı |