Oyununuzu optimize etmek, varlıklarınızı ve Studio ayarlarınızı yapılandırarak bellek ve grafik işleme birimi (GPU) sınırlamaları olan cihazlar için kare hızınızı ve performans seviyelerinizi yüksek tutma sürecidir. Bu süreç, neredeyse her kullanıcının çevrelerinizi görüntülerken aynı oyun deneyimini ve görsel deneyimi yaşamasını sağlar.
Çevresel Sanat - Optimize Etme .rbxl dosyasını referans olarak kullanarak, bu çevresel sanat müfredatının bu bölümü, yer dosyanızı optimal grafikler için gözden geçirme ve yapılandırma yöntemlerini gösterir; bu, aşağıdakiler hakkında rehberlik içerir:
- Her varlığın fizik ve render parametrelerini gözden geçirerek, bunların bellek ve motor performansını koruduğundan emin olmak.
- Roblox Motorunun varlıklarınızı render etmek için gerçekleştirmesi gereken hesaplamaların miktarını gereksiz yere artıran fazla doku, geometri veya saydamlıkları kaldırmak.
Roblox Motoru çoğu optimizasyon işini sizin için halletse de, Mikroprofiler kullanarak belirli kareleri render etmenin ne kadar zaman aldığını görmek suretiyle bu optimizasyon çabalarına yardımcı olabilirsiniz. Bu bilgiyi kullanarak, varlıklarınızın parametreleri veya fazla içerikleri ile ilgili hangi varlıkların dikkatinizi gerektirdiğine dair bilinçli kararlar alabilirsiniz. Sahne Analizi kaynak kullanımını kontrol etmek için başka bir güçlü araçtır.

Fizik ve render parametrelerini gözden geçirin
Bir varlık kütüphanesi oluşturun bölümünde, varlıklarınızın bellek ve GPU sınırlamaları olan cihazlar arasında yüksek görsel kalitelerini korumalarını sağlayan fizik ve render parametrelerini ayarlamanın ne kadar önemli olduğunu öğrendiniz. Ancak, çevrenizi oluştururken bu parametreleri, bir varlığın bağlamsal konumu ve oyundaki amacı doğrultusunda ayarlamak yaygındır. Örneğin, son örnek lazer tag çevresindeki bitkilerin çoğu, çevrenin gerçekçiliğini artırdığı için bir performans maliyeti olmasına rağmen gölgeler oluşturur.
Fizik ve render parametrelerini değiştirdiğinizde, geliştirme sürecinin sonunda tüm parametreleri gözden geçirip, estetik hedeflerinizi ve oyun gereksinimlerinizi korurken hangi parametreyi optimize edebileceğinizi görmek faydalıdır. Örneğin, oyun alanının kenarındaki bitkiler için BasePart.CastShadow özelliğini devre dışı bırakabilirsiniz; bu, bir kullanıcının oyun deneyimini veya görsel deneyimini etkilemeden performans tasarrufu sağlar.


Gereksiz içeriği kaldırın
Fizik ve render parametrelerinizi gözden geçirdikten sonra, oyununuza etki etmeyen gereksiz içerikleri kaldırmak için varlıkları gözden geçirebilirsiniz; örneğin, farklı varlık kimliklerine sahip aynı dokular, birçok kenarı olan karmaşık geometriler veya kamera görünümüne bağlı olarak üst üste binen saydamlıklar. Aşağıdaki bölümler, bu içeriği gözden geçirmek için neler yapabileceğinizi ve bunun optimizasyon çabalarına neden yardımcı olduğunu detaylandırır.
Tekrar eden dokuları kaldırın
Varlıklarınızı geliştirirken ve çevrenizi oluştururken, estetik hedefleriniz veya oyun gereksinimleriniz için gerekli olanı buldukça, mesh veya dokular üzerinde yineleme yapmak yaygındır. Eğer varlıklarınızı paketlere dönüştürmezseniz, bu yinelemeleri Studio'ya aktardığınızda, Roblox Motorunun varlıklarınızı çevrede render ederken referans alması gereken benzersiz varlık kimlikleri oluşturuyorsunuz demektir.
Örneğin, aşağıdaki iki yangın musluğu mesh'ini Studio'ya ayrı ayrı aktarırsanız, görünüm olarak tam olarak aynı olsalar bile, Roblox Motoru bunları benzersiz varlık kimliklerine sahip iki nesne olarak değerlendirir. Motorun yapması gereken daha fazla benzersiz çağrı olduğunda, bellek ve performans üzerinde daha fazla etki olur. Bu nedenle, bir varlığı birden fazla kez yeniden kullanıyorsanız, o varlığın her bir örneğinin aynı varlık kimliğini kullandığından emin olmak önemlidir; böylece motor, onu tekrar tekrar render etmek için yalnızca bir çağrı yapmak zorunda kalır.

Geometrileri optimize edin
Cihazlar arasında kare hızını artırmak için daha fazla ayarlama yapmanız gerektiğini düşünüyorsanız, geometrinizi optimize edebileceğiniz yerleri görmek faydalıdır:
- Mesh gruplarını tek bir varlıkta birleştirmek.
- Geometrik karmaşıklığı olan varlıkların poligon sayısını azaltmak.
Bu ilk tekniği genişleterek, oyununuzdaki her benzersiz varlık, GPU üzerinde bir çizim çağrısı temsil eder; bu, Roblox Motorunun varlığı doğru bir şekilde render etmesi için bilgi çağırması için GPU'ya bir sinyal gönderir. Ne kadar çok benzersiz varlığınız olursa, sistemin yapması gereken o kadar çok çizim çağrısı olur. Bu nedenle, oyununuzdaki daha büyük bir bileşeni oluşturan bir grup mesh'e sahipseniz, bunları üçüncü taraf modelleme araçlarında bir araya getirerek birden fazla çizim çağrısı gereksinimini azaltabilirsiniz.
Bu noktayı açıklamak için, son örnek lazer tag çevresi, binanın dışındaki büyük kuleleri oluşturmak için birden fazla parçayı ve mesh'i bir araya getirir. Eğer bu bireysel bileşenleri birleştirirseniz, onu yalnızca bir varlık kimliği olan tek bir varlık haline getirebilir ve çizim çağrılarının sayısını 8'den 1'e düşürebilirsiniz. Ancak, bu tekniğin her bileşenin görsel ve fiziksel özelliklerini, konumunu veya malzemesini serbestçe değiştirme yeteneğinizi ortadan kaldırdığını belirtmek önemlidir.
Örneğin, aşağıdaki görüntüde, sol kule bir Model nesnesinin altında birden fazla varlık içerirken, sağ kule tek bir varlıktır. Sol kuledeki her bileşeni ayrı ayrı değiştirebilirsiniz, ancak sağ kuleyi değiştirdiğinizde, örneğin rengini siyaha değiştirdiğinizde, bu nesnenin tamamını etkiler. Bu nedenle, estetik hedeflerinizi etkilemeden performansı artırabileceğiniz yerleri bildiğinizde, bu tekniği çevrenizin geliştirilmesinin sonunda dikkate almanız önemlidir.

İkinci tekniği genişleterek, geometrik karmaşıklığı olan varlıklar daha fazla poligon içerir; bu da motorun görsel görünümünü render ederken hesaplaması gereken daha fazla kenar olduğu anlamına gelir. Bu, daha az karmaşıklık ve sadelikteki varlıkların render edilmesinin daha az maliyetli olduğu ve hem performans hem de bellek açısından iyileşme sağladığı anlamına gelir.
Katmanlı saydamlıkları silin
Çevreye bir gerçekçilik hissi vermek için, son örnek lazer tag çevresi, dış mekan alanındaki bitkiler, gelecekteki tabelalar veya saksı korkulukları gibi farklı saydamlık seviyelerine sahip birçok mesh içerir. Kamera, birbirinin önünde veya arkasında olan birden fazla yarı saydam nesneyi görüntülediğinde, Roblox Motoru, üst üste binen pikselleri saydam alanları hesaba katmak için birden fazla kez render etmelidir. Bu süreç yüksek saydamlık aşırı çizimi olarak adlandırılır ve performans üzerinde önemli bir etkiye sahiptir.
Örneğin, örnek çevredeki bir saksının aşağıdaki görünümünü düşünün. Motor, kameraya en yakın bitkiden dış mekan alanına en yakın bitkiye kadar yaprakların saydam alanlarını katmanlar halinde render etmelidir; bu da yüz binlerce aşırı çizilmiş piksel anlamına gelir. Bu etkinin bir kısmını hafifletmek için, çevrenizdeki tüm yarı saydam nesnelerin düzenini gözden geçirmek ve ekranın büyük alanlarında çok fazla üst üste binme katmanı olmadığından emin olmak önemlidir.


Tüm içeriğinizi gözden geçirip, cihazlar arasında optimal olduğundan emin olduktan sonra, oyununuz artık yayınlanmaya hazır!