Darboğazını bulmak
Birkaç yüz hareketli nesne sorun olmamalıdır. Ancak, birkaç yüz çarpışan nesne olabilir. Bazı testler alacaktır, ancak sahip olduğunuz darboğazın çarpışma olduğuna inanıyorum.
Bu arada, kaç tane nesneden bahsediyoruz? Platform nedir Bir mobil oyun için yüz nesne bir web oyunu için bir yüz veya bir masaüstü oyunu için yüz nesne ile aynı değildir.
Aynı oyunu, ancak devre dışı bırakılmış kesme nesneleri arasındaki çarpışmalarla test edin ve benzer miktarda nesnede gecikme olup olmadığını görün. Bu durumda, nesnelerin büyük miktarının sorunun nedeni olduğu anlamına gelir; Aksi takdirde, çarpışmalar problemdir.
Bu, performansı artırmak için ne yapacağınız konusundaki kararınızı size bildirecektir. Aşağıdaki fikirlerin tümü geçerli olmayacak ve yine de test etmeniz gerekecektir.
Nesnelerle etkileşime girerken sorun ortaya çıktığı için, oyuncudan uzaktaki çok sayıda nesne için optimizasyon hakkında konuşmayacağım.
hareket etmelerine neden olduğunuzda bir sorun var.
Nesnelerle etkileşimde sorun yaşanırsa, görünür olmayan nesnelerin kaldırılmasının onu nasıl çözeceği belli değil ... henüz, bunun yardımcı olabileceğini farzedeceğim.
Sadece oyuncudan uzaktaki nesneler bir sorunsa, daha küçük seviyelere sahip olarak başlayabilir veya oyuncunun nereye gittiğine bağlı olarak oyunu yükleyip boşaltabileceğiniz parçalara ayırmaya başlayacağınızı söyleyeceğim.
Sınırların dışında
Molozların temizliği söz konusu olduğunda, ilk yapılması gereken şeyin sınırları dışındaki nesneleri çıkarmak olduğuna inanıyorum. Örneğin, bir çukura düşen parça. Oyuncunun onu görebilmek için oraya ulaşması mümkün değilse, etrafta kalması için hiçbir sebep yoktur.
Buna geri döneceğim.
Daha gerçekçi hale getirin (bölüm 1)
Tahta testereyi, balta veya benzeri bir aletle keserseniz, kaybolan malzeme (talaş, talaş vb.) Olacaktır. Lazerle kesseniz bile, lazer biraz odun yakar. Ayrıca, odun olmayan bir şey için genellikle kesme, ufalama, vb. Etrafında deformasyon olacaktır.
Demek istediğim, kesim mükemmel değil ve bazı malzemeler kaybolacak. Bunu oyunda modelleyebilirsin. Bu sihirli kırmızı kesme şeyinin kalınlığı var. Bu kalınlığı nesnelerden kaldırın (kendinizi suçlu hissederseniz parçacık efektleri ekleyin).
Bu, o kalınlıktan daha küçük bir şeyi kesemeyeceğiniz anlamına gelir, aslında bunu yapmaya çalışmak onu oyundan çıkarır. Bu iyi! Bu, olacak bir moloz miktarının üst sınırı olduğu ve oyunda onu temizlemek için mekanik olarak sağlam bir yol olduğu anlamına gelir.
Küçük nesneler için dişlileri değiştirin
Çarpışmalar sorunsa bu daha iyi sonuç verecektir.
Bir nesne çok küçük olduğunda, sahip olduğu farklı açıların detayları daha az ilgilidir. Daha az doğru bir çarpışma tamircisine dönüşebilirsin. Örneğin, daire çarpıştırıcılarını kullanabilirsiniz.
Daha küçük nesnelere kendi aralarında çarpışma olmadan da davranabilirsiniz; sadece aralarında ve ajan nesneleri (örneğin oyuncunun avatarı veya AI kontrollü karakterler gibi) arasındaki çarpışmayı göz önünde bulundurun.
Son olarak, çok küçük nesneler sadece toza dönüşebilir (parçacık efektleri).
Daha gerçekçi hale getirin (bölüm 2)
Çarpışmalar sorunsa bu daha iyi sonuç verecektir.
Malzeme deforme olur ve basınç altında kırılır. Çok az kalınlığa sahip uzun nesnelerle karşılaşırsanız, yukarıdaki çözümden yararlanmaları için onları daha küçük nesnelere bölün.
Vurduğunuzda ufalanan ve kırılan çok küçük bir kalınlığa sahip olduğunu iddia edebiliriz.
Nesneleri birleştirme
Nesnelerin sayısı sorunsa bu daha iyi çalışacaktır.
Pek çok oyunun performansa zarar verebilecek büyük miktardaki düşüşle başa çıkmak için kullandığı yaygın bir hile, düşüşleri birlikte paketlemektir.
Birbirine yakın küçük nesneler için benzer bir şey deneyebilirsiniz. Onları tek bir nesne haline getirin. Ancak parçaları birbirine yapıştırmak istemiyorum. Fiziklerini idare etmek için tek bir nesne yaratmak; nesneyi oluşturan parçaları, belki de parçacık efektlerine benzeyen teknikleri kullanarak hala temsil edebilirsiniz.
Daha gerçekçi hale getirin (bölüm 3)
Rüzgarı duydun mu? Gerçek dünyada rüzgar var.
Küçük nesneleri uzaklaştırmak için rüzgar kullanın.
Sayacın sezgisel gelebileceğini biliyorum çünkü bu, küçük nesnelerin en azından hemen dinlenemediği anlamına geliyor. Kararınızı vermeden önce aşağıda okuyun.
Şunları yapabilirsiniz kullanmak rüzgar önce uzak küçük bir nesne itmek - veya en kısa sürede - onlar yığmak başlar. Küçük nesneler için optimizasyon kullanıyorsanız (bunlar onları birleştiriyor veya aralarındaki çarpışmaları kaldırıyorsanız) hangisi daha iyi çalışır.
Ayrıca, eşyaları çukurlara itmek için ya da sınırların dışına itmek için rüzgarı kullanabiliyorsanız, eşyaları çıkarmak için bir bahane olarak kullanabilirsiniz. Sana buna geri döneceğimi söylemiştim. Yapmasanız bile, oyuncudan çok uzakta olan küçük nesneleri çıkarmak bahane olarak kullanılabilir, oyuncu bakmıyorken rüzgar onlardan kurtulmuş gibi yapın.
Oyuncu bakmazken bazı nesneleri çıkarabilirsiniz, benim kutsamam sizde.
Buna ek olarak, artık oyunun diğer mekaniğinin veya engellerin bir parçası olarak rüzgarı ekleyebileceğiniz rüzgarı eklemek için bir bahaneniz var. Öyle bir eğiminiz varsa, anlatıya olayları temiz tutmaya çalışan rüzgar ruhunu bile ekleyebilirsiniz.
Not : Temizlemek için moloz olduğu zaman rüzgarı tetiklemeniz gerekmez (bunun işe yaramasına rağmen), muhtemelen rastgele aralıklarla rüzgâr olabilir.
Beavers!
Bazı can sıkıcı kunduz gelir ve odun çalmak!
Artık bir düşman tipiniz var!
Ayrıca, tabii ki, siz bakarken odunları temizlerler. Hatta tasarlayabilirsiniz, böylece bir kunduzun kullanıldığı yerde bir tahta parçasıyla kaçan bir kunduz görürsünüz. Bu unutulmaz bir anı doğuracak, ahşabın neden ortadan kaybolduğunu açıklayacak ve karşılaştığınız bazı performans problemlerini bir kerede çözecektir.
Her şey değişiyor
Platformun veya seçtiğiniz araçların sınırlamaları vardır, oyunu geliştirmek için harcadığınız zaman ve bütçe bile bir sınırlamadır. Henüz mükemmel bir gerçeklik simülasyonu yapamazsınız . Kimse yapamaz .
Her geliştirici, hedef platformlarının ve onlara uyguladıkları araçların sınırlamaları dahilinde çalışır ve en iyi oyunlar, oyunun eğlenceli ve ilgi çekici olmasını sağlamak için travmalar yapmak zorunda kaldılar ... çoğu zaman eğlenceli ve ilgi çekicidirler çünkü gerçekçi değildirler.
Yaratıcılığın bu sınırlamalardan gelmesine izin verin.
Bununla birlikte, gelişiminiz için uygun olan kısımları seçerek oyununuzu daha gerçekçi hale getirebilirsiniz . Bazen oyuncudan uzakta olan nesneleri kaldırmanın eğlenceli bir oyun yapma maliyetinin bir parçası olduğunu düşünün.