“Dünyadan düşmeye” ne sebep oldu ve onu ne düzeltti?


15

Birçok erken 3D oyun, neşeyle birlikte dolaşacağınız bir sorunla karşılaştı ve aniden her şey siyahtı, yukarıdaki mesafeye yükselen sahnenin içi boş cephe kabuğuna benzeyen bir ada vardı. Çünkü dünyadan düşmüşsün. Bunun Bethesda Softworks için özel ve uzun süredir devam eden bir sorun olduğunu hatırlıyorum, ancak kesinlikle yalnız değillerdi. Vahşi doğada gördüğümden bu yana bir süre geçti, bu yüzden geçtik gibi görünüyor. Sorum iki bölümden oluşuyor:

1) Bunun nedeni veya nedenleri neydi? (Benim tahminim, çokgenler arasında kayan nokta hassasiyeti ile ilgili dikişler, nokta modelli karakter konumu ile etkileşime girmesi, yani zemin parçası A 1.0 konumunda bitiyor, zemin parçası B 0.9998 konumunda başlıyor ve mikrosaniye için konumunuz 0.99992 ve patlama, dünyaya düşüyorsun, ama bu sadece bir tahmin.)

2) Nasıl düzeltildi?


Morrowind. Vivec. Anılar ...
Tobias Kienzler

3
Bethesda'dan bahsetmişken ve yere düşerken , skyrim'de talihsiz bir NPC .
Chris

Daima Skate 3'ü düşündürüyor .
user1118321

Yanıtlar:


14

En çok geometride "çatlaklar". Bu oyunların birkaç ortak noktası var, yerçekimi var ve çarpışma tespiti var.

Bu anormallikler, çarpışma algılamanın bir şekilde başarısız olduğu yerlerdir. Keskin kenarlar, boşluklar veya bir dizi başka geometri anomalisi olabilir. Güncellemelerin reddedildiği ve karakterin mükemmel bir geometriye düşmesine izin verilen fizik motorundaki zaman adımları ile ilgili sorunlar bile olabilir.

Bu, oyuncu seviye tasarımcıları tarafından beklenmeyen bir şey yaptığında yaygındır. Olmaması gereken bir yere atlamak ya da bir şekilde yapmamaları gereken bir düşüşten kurtulmak. Ya da, oyuncu oyundaki ışınlanma veya uçma gibi özellikleri kullandığında, tasarımcıların oyuncuların alabileceği seviyelere gelmedi. Skyrim ( video: 11:25'te dünyadan düşmek gibi ) sesi kısmayı öneririm.)

Çarpışma algılama başarısız olduğunda, yer çekiminden geri itilecek hiçbir şey yoktur, böylece düşersiniz. Tıpkı bir uçurumdan yürümek gibi.

Gerçekten "sabit" değil. Bundan kaçınmak için teknikler vardır, ancak çoğunlukla manzara için daha iyi araçlar ve geometri oluşturma araçlarıdır, bu nedenle bu anomaliler ortaya çıkmaz.


5

Dünyada kırpmanın belirli bir nedeni olduğunu söylemek mümkün değil. Oyunlar arasındaki oyun motorları / fizik prosedürlerindeki farklılıklar nedeniyle, bunun birçok nedeni buna yol açabilir.

Bundan dolayı, dünyadan düşmenin mutlaka ortadan kaldırılmadığından eminim.

Birkaç büyük ölçekli oyun motoruna (Unreal, CryEngine, vb.) Sahip olmak, söz konusu motorların sürekli üzerinde çalışılması nedeniyle daha az öngörülemeyen sorunlara yol açabilir. Bununla birlikte, bir geliştiricinin en çok çalışan oyun motorunda bile dünya kırpmasına izin verebilecek özelliklere / ilginç değişiklikler eklemesini engelleyen hiçbir şey yoktur.

DÜZENLEME: 1. Bunun altında yatan nedenler, bildiğim kadarıyla, bunun gerçekleşmesine izin veren oyun motorlarının bir oyuncunun yanlış hareket edip etmediğini tespit etmek için sınırlı bir yöntemi olmasıyla ilgilidir. Daha önceki oyun motorları muhtemelen bununla ilgili daha fazla sorun yaşamıştı çünkü yer düzlemi çoğu zaman sadece bir uçaktı. Eğer bir oyuncu uçakta olsaydı, düşmezdi. Sebebi ne olursa olsun, dikey konumu biraz aşağıya inerse, o zaman sonsuza kadar düşecekti. Kayan nokta hesaplamaları ile ilgili söyledikleriniz hemen hemen. Motorlar daha sağlam olabilir ve bir oyuncunun tüm sınırları aşan bir BÖLGEDE olup olmadığını kontrol edebildiğinden, hatayı tetiklemek daha az olasıdır.


1
Evet, yeterli tampon yoksa veya karakter bir nokta olarak temsil edilirse kayan nokta hesaplamaları buna kolayca neden olabilir. +1
MichaelHouse

5

Benim tahminim, eski motorların muhtemelen geometri ile çarpışmayı tespit etmek için hızlı ve basit bir ışın vs üçgen testi kullanması olurdu. Bu, en küçük boşlukların (veya hesaplamalarda hassas bir hatanın) bile oynatıcının zaman zaman geçişine izin verebileceği anlamına gelir.

Daha modern oyunlar muhtemelen oyuncuyu temsil eden bir küre veya kapsülle daha pahalı bir test kullanacak ve bu küçük boşluklara uymayacaktır. Birçok modern oyun da kendi testlerini yazmak yerine iyi test edilmiş fizik ara katmanları kullanacak.

Bazı durumlarda fizik güncellemesinde büyük bir zaman adımı kesinlikle suçlanabilir. Elit oyunlardan en az birinde, bu nedenle bazı durumlarda doğrudan bir gezegende uçabileceğinizi hatırlıyorum. Bu, ekstra CPU zamanına da mal olan sürekli çarpışma tespiti kullanılarak düzeltilebilir .

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.