Roblox'taki madencilik ve hayatta kalma oyunlarında arazinin anında kazılabilmesi oyuncu deneyimi için kritik öneme sahiptir.
Luau kullanarak `Terrain:FillBall` ile akıcı tüneller açmayı ve enkaz parçacıklarını 60 FPS'de çalıştırmayı öğrenin.
1. Dikkatsiz Arazi Çağrılarının Yarattığı Performans Tuzakları
Sürekli arazi değiştirmek ağı kilitler ve işlemciyi aşırı yükler:
- Ağ replikasyonunun tıkanması.
- Çarpışma geometri modellerinin sürekli yeniden hesaplanması.
- Havada asılı kalan taşlar.
2. Matematiksel Temeller: 4x4x4 Voksel Izgarası ve Yoğunluk
Roblox arazisi 4 studluk hücrelerde malzeme ve 0.0-1.0 arası doluluk değerleri tutar.
- 4 studluk ızgara kuantizasyonu.
- Malzeme ve Doluluk kanalları.
- Temel kaya bağlantısı için BFS taraması.
3. Tam Luau Madencilik Motoru Uygulaması
Bekleme süresi, küresel oyma ve hafif enkaz parçacıkları üreten modüler Luau kodu.
- FillBall ile oyma işlemi.
- Çarpışmasız hafif taş parçaları.
- Hızlı tıklama engelleme.
-- Tam Luau kodu için İngilizce bölüme bakınız
4. Yapısal Çökme ve Mağara Göçüğü Fiziği
Desteksiz kalan tavan bloklarının tespiti ve serbest düşen fizik parçalarına dönüştürülmesi.
- Taşıyıcı kolon tespiti.
- Voksellerin serbest parçalara dönüşmesi.
5. Mobil Optimizasyon ve Ağ Tasarrufu
60 FPS'yi korumak için enkaz parçalarını yalnızca istemci tarafında oluşturma.
- RemoteEvent ile istemci taraflı efektler.
- CanCollide = false kullanımı.
Frequently Asked Questions
FillBall ile WriteVoxels farkı?
FillBall hızlı yerel bir kesme işlemidir; WriteVoxels doğrudan 3B dizi kontrolü sağlar.
Oyuk kenarları neden köşeli görünür?
4 studluk ızgara nedeniyle; ara yoğunluk değerleri ile pürüzsüzleştirilebilir.
Kırılmaz kaya nasıl yapılır?
Kazmadan önce malzemenin türü kontrol edilerek.
Arazi değişimleri nasıl kaydedilir?
Sıkıştırılmış koordinat farkları veritabanında saklanarak.
Enkaz parçaları gecikme yapar mı?
CanCollide ve CanQuery kapalı olduğu sürece yapmaz.