Oyuncaktan alete: ekskavatörü baştan yaptık

DustHaul Convoy’da kimse araçla başlamaz. Araçları sen yaparsın. Ekskavatör de ağır olanlardan biri. Yavaş, pahalı ve konvoyun kazması gerektiğinde sahip olabileceğin en iyi şey. İlk sürümü ekibe gösterdiğimizde yorum kısa oldu. Oyuncak gibi duruyor.
Haklıydılar. Bu yazıda neleri değiştirdiğimizi, değiştirdiğimiz sırayla anlatıyoruz.
Neden oyuncak gibi duruyordu
Hiçbir şeye dokunmadan önce sorunları yazdık. Çünkü “gerçek görünsün” bir iş tanımı değil. Zararı dört şey veriyordu.
- Kalın, yuvarlak ve basit formlar. Bom ve kol, uçları yumuşak kalın borulardı. Gerçek bomlar kaynaklı kutu profildir. İnceler ve kıvrılır.
- Düz ve temiz renk. Tek bir sarı. Aşınma yok, kir yok. Hiç çalışmamış bir makine.
- Çok az ayrıntı. Pim yok, hortum yok, gresörlük yok. Gözün inanacağı bir şey yoktu.
- Abartılı oranlar. Kısa bir gövdenin üstünde büyük bir kabin. Araba kapısı büyüklüğünde bir kova.
Durumu daha da kötüleştiren bir hata da vardı. Uzanma pozunda kova koldan kopuyor ve havada asılı kalıyordu.


Havada kalan kova
Aracı bir script kuruyor. Her hareketli parça bir öncekine bağlı. Üst gövde, bom, kol ve kova. Bizim kurucumuz bu iç içe menteşeleri bağlarken üst parçanın ters dönüşümünü korumuyordu. Duruş pozunda bu görünmüyor. Kol döndüğü anda kovanın konumu yanlış uzayda uygulanıyor ve kova piminden kayıp gidiyordu.
Düzeltme menteşe zincirinde tek satırdı. Kargo kamyonunun kasa kapısının kopması da aynı hatadan geliyordu. Yani tek düzeltme iki aracı birden onardı.
Önce gerçek oranlar
Ekskavatörü tasarlamayı bırakıp gerçek bir tanesini ölçmeye başladık. Hedef 14 tonluk sınıf bir makine. Her ölçü oradan geldi.
Bom bir muz şekli aldı. Kaynaklı sac bir profil, boyu boyunca derinliği değişiyor. Kökte ve dirsekte kalın, arada daha ince. Kol da aynı işlemden geçti. Kova da kolun gerçekten kavrayabileceği boyuta küçüldü.
Kütle bizim için süs değil. DustHaul’da her parçanın bir ağırlığı var ve ağırlık seni yavaşlatıyor. Bom, kol ve karşı ağırlık gerçek boyutunda modellenince parçalar gerçek bir makineye yakın bir sayıya ulaşıyor. Sürüş modeli de üzerinde çalışabileceği mantıklı bir sayı alıyor.

Bağlantılar
Bir kazıcıyı kazıcı gibi gösteren şey, kolla kova arasındaki kısım. H bağlantısını ve köpek kemiği denen parçayı modelledik. Her eklemde pim yuvası, pimlerde gresörlük var.
Hidrolikler çift parça. Her silindirde bir gövde, bir de mil var. Her parça kendi bağlantı noktasında dönüyor ve diğerine bakıyor. Böylece kol hareket ettikçe mil gövdenin içine girip çıkıyor, içinden bükülüp geçmiyor. Bomda iki silindir var, kolda bir, kovada bir. Hortum demetleri bom boyunca uzanıyor. Kelepçeler gerçek bir makinede nerede duruyorsa orada.

Dürüst olalım. Kova bağlantısının animasyonu hâlâ yaklaşık. Köpek kemiği kolu, H bağlantısı da kovayı izliyor. Oyun mesafesinden doğru görünüyor. Yakından bakınca fark edebilirsin. Buna geri döneceğiz.
Gövde ve kabin
Üst gövdeye motor bölmesinin üstünde panjurlar, servis kapakları, kavisli bir karşı ağırlık, yürüme yollarında kaymaz sac, kabinde de korkuluk ve devrilme koruma direkleri ekledik. Oyundaki her aracın artık modellenmiş bir içi var. Ekskavatörde araba torpidosu yerine bir operatör yeri var. İki joystick, yürüyüş kolları, bir ekran ve bir yangın söndürücü. Oyunda sürücü koltukta oturuyor ve camdan görünüyor.
Kir, pas ve boya
Temiz renk ikinci büyük sorundu. Artık pişirme işlemi aşınma maskelerine dikey pas ve kir akıntıları yazıyor. Tıpkı yağmur suyunun pası bir panelden aşağı taşıması gibi. Bunun üstünde üç boya var. Skin’lerin hepsini biz yapıyoruz. İçlerinde üçüncü taraf içerik yok.
- Sıradan: Hurdalık Sarısı. Makineyi bulduğun hali.
- Nadir: Yıkım Ekibi. Kırmızı beyaz, epey çalışmış.
- Efsanevi: Kaya Kurdu. Gri mavi ve çelik.

Ağırlığı olan geliştirmeler
Kademe kitleri gövdedeki yuvalara cıvatayla takılıyor. Her birinin bir kütlesi var ve oyun bunu sayıyor.
- 2. kademe, +440 kg. Kabin koruması ve iki palet kalkanı.
- 3. kademe, +850 kg. Kol ucunda kütük kepçesi, gövdede zırh plakaları ve tavanda bir silah.
Tam donanımlı bir ekskavatör daha güvenli ama gözle görülür biçimde daha yavaş. Bütün mesele de bu takas.

Motorda
Model, parçaları ve hareketli menteşeleri üç LOD ve dışbükey çarpışma kutularıyla Unity’ye aktarılıyor. Paletlerin dokusu metre başına 5,9 UV kayıyor. Böylece pabuçlar yer hızında hareket ediyor. İçe aktarıcı Blender’ın eksenlerini Unity’ninkilere çeviriyor. Her parçanın menteşe noktasını da shader’lar için ikinci bir UV kanalına yazıyor.

Hâlâ pürüzlü olanlar
- Yukarıda anlattığımız kova bağlantısı animasyonu.
- Sürücü gözünden ön cama bakınca parlak gün ışığında görüntü beyaza kaçıyor. Cam shader’ı işini yapıyor. Sorun kabinin içindeki pozlamada.
- Sırada dozer ve sondaj kamyonu var. Siluetleri iyiydi. Yüzeyleri değildi.
Ekskavatör bitmedi. Ama artık bir günlük iş çıkarmış gibi duruyor. Hedefimiz de buydu.
Maien5