Düz Bir Tuval Üzerinde Dörtte Üç Görünüm
15.0 sürümüne kadar TUNL'deki gemi yukarıdan çizilirken, etrafındaki mağara yandan bir kesitti. Bunu düzeltmek küçük bir 3D model, görüntünün büyümesine izin verilmeyen bir isabet kutusu ve neyin hareket etmesi gerektiği konusunda büyük bir öz kısıtlama gerektiriyordu.
Uyumsuzluk
TUNL'ün mağarası yandan bir kesit. Yerçekimi aşağı çeker, sarkıtlar tavandan sarkar ve her koşunun başındaki yaklaşma bir alacakaranlık gökyüzü çizgisidir. İçindeki tek şey doğrudan yukarıdan çizilen gemiydi, bir dağın yan görüntüsü içinden uçan bir uçağın yukarıdan bakışı gibi. Oyuncular bunu genellikle böyle dile getirmez, ama gemiyi hafifçe yapıştırılmış gibi hissettirir.
Bariz düzeltme, düz bir yan görünüm çizmek, geminin tanındığı yukarıdan siluetten vazgeçmek olurdu ve geminin şekli en iyi yukarıdan görüldüğünde görünür. Uzlaşma bir dörtte üç görünüm: aynı gövdenin, yukarıdan bakış açısından uzun ekseni etrafında döndürülmüş ve düz olarak yansıtılmış 3D bir modeli.
Minik bir işleyici
TUNL'de 3D kütüphane yok ve derleme adımı yok, bu yüzden işleyici küçük. Gövde zaten yukarıdan aydınlatılmış, üst yarısı beyaza, alt yarısı neredeyse siyaha karışmış düz yüzeylerden oluşan bir küme olarak vardı. 3D versiyon her yüzeye üçüncü bir koordinat verir, modeli uzun eksen etrafında döndürür, ortografik olarak yansıtır ve her yüzü aynı düz, yukarıdan aydınlatılmış tarzda doldurur. Bu, düz gövde için yaklaşık 40 dolguya karşılık kare başına yaklaşık 90 görünür yüzün doldurulmasına denk geliyor. Bulanıklık yok, bu önemli çünkü bulanıklık bir telefonun web görünümünde pahalı bir çağrı ve parıltı tek bir radyal dolgu. Zayıf bir cihaz bir gün zorlanırsa, bariz kesinti gövdeyi yuvarlanma açısına göre ekran dışı bir tuvale önbelleğe almaktır.
İsabet kutusu patrondur
En önemli kısıtlama, çarpışmanın değişmemesidir. Geminin isabet kutusu bir daire ve tüm oyunun zorluğu buna göre ayarlandı. Bu yüzden 3D görüntünün daireden daha büyük görünmesine izin verilmez ve kanat görünür şekilde bir şeye değmeden önce geminin "ölecek" kadar çok daha küçük görünmesine de izin verilmez.
Bu, yuvarlanma açısını bir zevk meselesi yerine bir ölçüm haline getirdi. Yukarıdan bakışın 45 derece dışına eğildiğinde, sadece yakın kanat okunur ve görüntü dairenin yüksekliğinin yarısından biraz fazlasından yaklaşık dörtte üçüne kadarını kaplar. 90 derecede bu basitçe yine eski yukarıdan bakış. 60 derecede her iki kanat da okunur ve açıklık tekrar dairenin yaklaşık %85'ine döner. Beş aday görünüm ve bir kapsama eğrisi olan küçük bir laboratuvar kurdum ve 60'ı seçtim. Şimdi bir test, herhangi bir yuvarlanma ve herhangi bir kanat süpürmesinde çizilen gövdenin daireyi asla aşmadığını ve düz burnu asla aşmadığını, uçarken de dairenin sağlıklı bir kısmını doldurmaya devam ettiğini doğruluyor.
Ne hareket ediyor, ne kasıtlı olarak hareket etmiyor
Gemi bir 3D nesne olduğunda, her şeyi canlandırmak cazip geldi. Bunun çoğu kesildi. Hayatta kalanın bilgi taşıması gerekiyor:
- Yuvarlanma tırmanışı takip eder. Sönümlü bir yay, gövdeyi her iki yöne de yaklaşık on dereceye kadar döndürür, tırmanırken sırt kameraya, düşerken karın kameraya döner. Bu, terminal hızın bir kesri olarak dikey hızla yönlendirilir, bu yüzden her ekranda aynı görünür. Yargılamaya çalıştığın şey hakkında ikinci bir okuma.
- Kanatlar hissettiğin hızla süpürülür. Değişken kanat geometrili bir savaş uçağı gibi, dış paneller yavaş başlangıçta açık ve mağara tam hıza ulaştığında iyice geriye katlanmış olur. Zamanı yavaşlatan mavi bir para, onları bir hava freni gibi öne fırlatır ve yavaşlamanın kayarak azalmasıyla tam olarak aynı hızda geriye katlanırlar. Bir warp onları yarım saniyede katlar.
- Warp halkası bir fıçı dönüşü verir. Yumuşatılmış, tam bir tur. Yapı gereği güvenlidir: bir warp seni dokunulmaz yapar, bu yüzden bir fıçı dönüşünün ortasında daireyi terk eden görüntü asla bir ölüme karar veremez.
Hayatta kalmayan şey ise serbestçe sallanan bir sallanmadır. Geminin bir hareketten sonra "sallandığı" daha önceki bir varyant canlı görünüyordu ve bu gürültüydü: tek becerisi mesafeleri okumak olan bir oyunda, kendi başına salınan bir gövde ihtiyacın olan bilgiyle yarışır. Bu, eklendiği gün kaldırılan uzak kaya siluetlerinden oluşan bir paralaks arka planla aynı mantık. Duvarların nerede olduğunu okumakla ilgili bir oyunda, farklı bir hızda hareket eden ikinci bir şekil kümesi, düşük kontrastta bile dikkat dağıtıcıdır.
3D Gövde Üzerine Boya
Geminin altı boya bitişi, plan koordinatlarında düz gövde için tasarlandı. Onları yeniden çizmek yerine küçük bir geometri parçası kullandım: belirli bir yuvarlanmada, gövdenin üst yüzeyi tam olarak plana, yuvarlanma açısının sinüsüyle dikey olarak sıkıştırılmış şekilde yansıtılır. Bu yüzden mevcut boyayıcı bu sıkıştırma altında çalışır ve 3D silüete kırpılır. Bu şekilde ifade edilemeyen iki şey, yüzey dikişleri ve kenar, ekran uzayında çizilir.
3D versiyon için bir düzeltme gerekliydi. Düz gövdenin yedi yüzeyi var ve 3D versiyonunun yaklaşık doksan yüzeyi var, ve her birine parlak bir dikiş çizmek STEALTH bitişini bir lambaya dönüştürdü. Bu yüzden 3D'de dikişler yarı güçte çalışır ve küçük yüzleri atlar, ve gövde bir fıçı dönüşünün ortasında neredeyse kenardan görünürken, desen o birkaç kare için atlanır.
Düz kalan
Sadece uçuştaki gemi yeni görünümü aldı. Hangar, mağaza ve paylaşım kartı gemiyi hâlâ yukarıdan gösteriyor, çünkü bunlar bir geminin portreleri, bir uçuşun görüntüleri değil, ve yukarıdan bakış tüm planı gösteren bakış açısı. Uygulama simgesi ve mağaza grafikleri de yukarıdan portreler, ve bunların bir gün uçuş görünümünü takip edip etmemesi gerektiği açık bir soru olarak kalıyor.
Geminin nasıl inşa edildiğinin ve boyandığının tam resmi gemiler sayfasında, ve bugünün mağarasında uçtuğunu görebilirsin.