Kaynak Motorun bunu kutudan çıkaran tek motor olduğundan eminim. Gamasutra'da bulduğum bir makalede , gelecekteki okuyucular için buraya kopyalanan teknik konulardan bazılarını okuyabilirsiniz :
"Karşılaştığımız bir başka sorun, modeller için ayrıntı seviyesi (LOD) gibi mesafe tabanlı sistemleri değiştirme ihtiyacıydı, çünkü oyunumuzla mesafe portal konumlarına göreli.
Bu, mesafe hesaplamalarının tek bir çizgiden ziyade iki noktayı birleştiren üç çizginin seçimi olduğu anlamına gelir. Ayrıca, görüş hattı, hedefine ulaşmak için tek bir portaldan birden fazla kez geçebilir.
Source Engine, kaldırma için önceden hesaplanmış birçok görünürlük optimizasyonu yapar. Kullanıcıların görünürlük yapraklarını portallarla köprülemesine izin vermek başka bir karmaşıklık düzeyi daha ekledi.
Daha iyi oluşturma için, portal görünümleri için bir şablon tampon çizim yöntemi uyguladık; Bu bizim "sonsuz" koridorları oldukça düzgün görünmesini sağlayan sonsuz derinlikte (sadece performansla sınırlı) sayıda portal oluşturmamızı sağladı.
Şablon çizimi, HDR çiçeklenme gibi Kaynak motordaki diğer teknolojilerle düzgün bir şekilde entegre olma sorununu çözmemize de yardımcı oldu. Portallarımız için sahnelerimizi iki kat daha fazla hale getirmemiz gerektiğinden, portalın köşelerine dayanan özel görünüm frustum ayıklaması ve portal çizimi için liste optimizasyonları gibi portalların olabildiğince hızlı görüntülenmesi için çok çaba sarf ettik. "
Bir yerde, aynı bloğun karşı taraflarında portallar olması gibi birçok özel durum olduğunu okuduğumu da hatırlıyorum. Portal yapmak basit bir iş değildir.
DÜZENLE:
Bunu içeren başka bir iyi makale daha bulundu :
Hızlı bir şekilde, portalları oluşturmak ve oynatıcı ile diğer nesnelerin bunlar arasında sorunsuz bir şekilde hareket etmesini sağlamak için daha sağlam bir yönteme ihtiyacımız olduğunu fark ettik. Bu, Kaynak motorun oluşturma ve fizik kodunu biraz daha derinlemesine incelememizi gerektirdi ve kendi portal sistemimizi programlamamız gerekiyordu.
Temel olarak, Kaynak fizik sistemine bir duvarın sadece bir tarafında geçici bir delik açmasını ve portalın arkasındaki her şeyin haritanın başka bir kısmındaki geometriye bağlı olduğunu söylememiz gerekiyordu. Bunun işe yaraması ve çözümlerin gerçek zamanlı çalışacak şekilde optimize edilmesi büyük bir zorluktu.