Bir duvar uçak olarak mı yoksa kutu olarak mı oluşturulmalı?


22

Bir duvarın bir uçak veya kutu olarak olmasının faydaları nelerdir? Örgü çarpıştırıcı yerine kutu çarpıştırıcılı bir düzlem kullanmalı mıyım?

Yanıtlar:


15

Dikkate almanız gereken birkaç farklı şey olacak.

Not: Aşağıda açıklanan optimizasyonlardan elde edilen avantajların yalnızca bir ton duvarla gerçekten ilgili olduğunu unutmayın. Bu noktada, oyununuzdaki duvarlarınızı yapmak için ikili alan bölümleme (BSP) gibi farklı bir çözümü düşünmek akıllıca olabilir. Bu, seviyelerinizi (doğru şekilde tasarlandıysa) ve fizik için (neyin çarpıştığını ve neyin çarpmadığını çok iyi tanımladığınız için) yüksek düzeyde optimize edilmiş kılar.

sıva

Bir kutu bir uçaktan daha çok render almak için alacak. Köşe gölgelendiricinizin ve rasterizatörün daha fazla veri üzerinden çalıştırılması gerektiği anlamına gelen daha çok köşeleri ve üçgenleri vardır. Bu nedenle, yalnızca görünürlük açısından gerektiğinde bir kutu kullanın. Müzikçaların görmesi gerekenler için gereken yüzleri kaldırın.

Fizik

Her zaman yapabildiğiniz BoxColliderbir MeshColliderzamana karşı bir a kullanmalısınız. MeshColliderAğın yüzüne (veya dışbükey bir kabuk olarak) çarpışmalar uygulamak ve koşuşturmayı ve fiziği yavaşlatmak zorundadır (ancak sadece bir kutu için ihmal edilebilir bir miktardır). Bir diğer şey ise BoxColliders, oyuncunun çok hızlı ilerlerken aralarında geçiş yapmasının daha zor olması. Sürekli çarpışmalarda bile, kendinizi hala duvarların arasında bir şeyleri yaşadığını fark ederseniz,BoxColliders

verimlilik

Uçaklarla çalışma konusunda çok daha hızlıysanız MeshColliders( BoxCollidersboyutlarını eşleştirmek için hepsini ayarlamanız gerekmediğinden ), yalnızca istediğiniz performansı elde ederseniz, bunları kullanmak iyi olabilir.


10

"Coburn" un noktalarında biraz genişleyen :

Rendering : Eğer duvarı sadece bir düzlem olarak yaparsanız, o zaman duvar sadece bir taraftan görünecektir, çünkü düzlem (veya daha fazla tam olarak yüzleri) sadece bir render tarafına sahiptir. Yani eğer oyuncu duvarın etrafında hareket edebiliyorsa, tüm tarafları kaplamak için birden fazla düzene ihtiyacınız olacak, bu da yine de bir kutu ile sonuçlanacağınız anlamına geliyor.

Fizik : Basit geometri çarpıştırıcıları (küreler, kutular vb.), Her bir örgüyle karşılaştırıldığında hesaplamak için her zaman daha hızlıdır, çünkü örgütün tüm yüzleri ayrı ayrı kontrol edilmek zorunda değildir. Bunun yerine "basit" değerler kullanılabilir veya mesafe hesaplamaları yapılabilir (örneğin, küre eksi küre boyutuna uzaklık).

Ayrı bir "uçak çarpıştırıcısı" olan (Birliğin vermeyen) diğer fizik motorları için "daha iyi" olan yoktur. Bir uçak performans açısından biraz daha hızlı olabilir, ancak daha sonra aslında çarpışmadan içinden geçen hızlı nesneler sorunuyla karşılaşabilirsiniz. Daha sonra burada açıklandığı gibi daha kalın çarpıştırıcılara sahip olursunuz (düzlem yerine kutu) veya Sürekli Çarpışma Algılama (CCD) .


Neredeyse her zaman arka yüzeydeki culling'i kapatabilirsiniz.
Bálint

2
@ Bálint Doğru. Kullanıcı bu durumda duvarı diğer taraftan da görebilir (bu durumda yanlış aydınlatma olsa da (diğer taraftaki / odadaki kaynaklar tarafından, bunun içinde durduğu ışıkla gönderilen ışık).
Philip Allgaier

İkinci noktanda, bunun bir profesyonel mi yoksa bir mahkum mu olduğunu ve ne için olduğunu gerçekten belirtmedin. Bir uçak bir kutudan daha basit bir şekilde geometrik görünmektedir, yani sizin amacınız bu mu?
Bakuriu

@Bakuriu Bildiğim kadarıyla, Birliğin bir "uçak çarpıştırıcısı" yok, bu yüzden "kutu" en yakın şey. Diğer fizik motorları için bir not ekledim.
Philip Allgaier


0

Her zaman bana, ışık kanamasına yardımcı olmak için sağlam kılmanın en iyi yolunu bulacağınız gölgeler olacaksa, çünkü derinlikteki fark küçüktür ve kanar.

Yanılıyor olabilirim, ama bütün duvarlarımı ve iki taraf gibi şeyleri yapıyorum, bir duvar sadece bir kaç tepe noktası olacak, bu yüzden bir düzlem oluşturarak bu kadar tasarruf olmamalıydı.

Kenarlarımı bıraktığım bazı şeyler var, ama çoğunlukla hafif kanamaya yardım etmek için etrafta birçok şey olan şeylerin altında ya da üstünde.

Aynı şeyi fizik için yapıyorum, herkes bunu gerçekten düşünmedi ama bana göre bir duvarı bir duvar olarak ve bir uçağı bir uçak olarak kullanmak doğru görünüyordu, ama bu sadece benim

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.