Gerİ
FORTNITE'TAN RE:IMAGINE LONDRA - UEFN'DE LONDRA'YI HAYATA GEÇİRİN
Fortnite Ekibi
Re:Imagine Londra (ada kodu: 1442-4257-4418), Londra'nın ikonik bir bölgesini doğru şekilde yeniden oluşturmak için ünlü Zaha Hadid Architects (ZHA) ve Epic Games arasında yapılan bir işbirliği. Fortnite oyuncularını da adada kendi benzersiz binalarını tasarlayarak katkıda bulunmaya davet ediyoruz.
Bu projede birkaç ana hedefimiz vardı:
Unreal Engine konusunda halihazırda deneyimli olan ZHA, bu projede çok önemli bir rol oynadı. Sadece binaları tasarlamakla kalmadılar, aynı zamanda gerçek dünyadan mimari ve inşaat konseptlerini dahil ederek oynanışı da tasarladılar. ZHA ve Epic, oyundaki oynanabilir alanı oluşturmak için UEFN'e yüksek doğrulukta Londra modelleri getiren ve bir diğer Unreal Engine uzmanı olan Accucities ile de işbirliği yaptı.
Re:Imagine Londra'nın ardındaki hikâye hakkında daha fazla bilgi edinmek için The B1M YouTube kanalındaki bu videoya göz atın.
Oyuncuların keşfedebileceği alanda St. Paul Katedrali, Tate Modern Galerisi ve Shakespeare's Globe Tiyatrosu gibi simge yapılar yer alıyor. Bu oynanabilir Londra alanında dört yapı sahası bulunuyor.
Oyuncular, vokselleri yerleştirerek binaların şeklini ve kategorisini belirlerken yeni sistem de otomatik olarak gerçekçi yapılar oluşturuyor. ZHA, modüler parçaları tasarlayıp bu parçaların nasıl birleşeceğine dair kuralları belirleyerek, tek bir vokselden çok daha büyük binaların oluşturulmasına olanak sağladı.
Bir oyuncu Ateş Etme düğmesine bastığında, önce oyuncunun "yapı bölgesi"nde olup olmadığını kontrol ediyoruz ve ardından hangi voksel yüzüne baktığını belirlemek için bir ışın dökümü çalıştırıyoruz. Geçerli olması durumunda bu konuma yeni bir voksel ekleniyor.
Ekip, her iki teknik için daha sonra çalışma zamanında Verse tarafından çıkarılan (toplam 330'un üzerinde) büyük bir modüler bina nesneleri seti oluşturdu. Kod, belirlenimci (determinist) özellikte olduğundan nesneler yalnızca gerektiğinde siliniyor ve ortaya çıkarılıyor.
Bu tekniklerin nasıl çalıştığına dair kısa bir açıklama:
Şekil Grameri, basit kurallardan oluşur ve her bir kural, bir kutuyu alıp sonraki kurallar için bir veya daha fazla alt kutu oluşturur. Örneğin, bir kural uzun bir kutuyu bir voksellik yüksek bir "zemin" şeklinde bölerken başka bir kural, köşeleri bir kurala, duvarları başka bir kurala atayabilir. Özel bir kural, kutunun boyutunda ve konumunda bir nesne ortaya çıkarır.
Her bir kural ayrı bir Verse sınıfı olarak tanımlanır ve bu sınıf, kodda bir "ağaca" dönüşür. Bu yaklaşım; yeni kurallar oluşturmayı, farklı fikirlerle denemeler yapmayı ve her bir bina türüne farklı stiller atamayı kolaylaştırır. Aynı voksel setine farklı kurallar uygulandığında, aşağıdaki resimde gösterilen çeşitli sonuçlar ortaya çıkar.
Belirli voksel kombinasyonları bir araya getirildiğinde kurallar, "yükseltilmiş" bir parçayı da seçebilir (örn. Park ve Konut vokseli).
Bu uygulamada, karelerden oluşan bir set kullanılır ve ardından ekip, hangi karelerin birbirine komşu olabileceğini belirtir. Her bir kenara bir "etiket" uygulanır ve kareler yalnızca etiketler eşleştiğinde yerleştirilebilir. Algoritma, ızgara üzerinde bir konum seçer, olası seçeneklerden rastgele seçim yapar (veya "daraltır") ve ardından bu seçimin sonuçlarını diğer konumlardaki olası seçeneklere yayar.
Bu işlem, bölgenin tamamı oluşturulana kadar devam eder.
Bu özellik, normalde görünmez olan kutular ortaya çıkararak ve Materyal Parametresi Koleksiyonu'nu kontrol etmek için bir Si̇nemati̇k Sekans Cihazı kullanılarak uygulanır. Materyal Parametresi Koleksiyonu ise materyal opaklığını ayarlar. "Yalnızca Tetikleyen" seçeneği, oyuncuların bu görünümü bağımsız olarak kontrol etmesine olanak tanır; yani görünüm yalnızca onu etkinleştiren oyuncuyu etkiler, diğerlerini etkilemez.
Ada, oyuncunun oyun içi seviyesi, tamamlanan görevler ve kilidi açılan parçalar gibi bilgileri de kaydeder. Bunların hepsi Verse Sürekliliği sayesinde mümkündür!
Şehre canlılık katmak için üç farklı teknik uygulandı:
Bir veri katmanı, sokak lambalarının kolayca açılıp kapanmasını sağlıyor. Ayrıca bir Materyal Parametresi Koleksiyonu, geceleri pencereler gibi belirli materyallerin parlaklığını ayarlıyor.
Re:Imagine Londra'yı keşfederken ve farklı tasarımlar yaparken keyif alacağınızı ve gelecekteki adalarınız için fikirler edineceğinizi umuyoruz!
Bu projede birkaç ana hedefimiz vardı:
- Fortnite İçin Unreal Editor (UEFN) içinde yeni bir oynanış türünü göstermek.
- Verse ve diğer UEFN özelliklerinin sınırlarını zorlamak, tam potansiyellerini keşfetmek ve geliştirmek.
- Fortnite'ın geniş bir kitleye yenilikçi fikirleri ilgi çekici bir şekilde nasıl sunabileceğini göstermek.
- Deneyimli Unreal Engine kullanıcılarının uzmanlıklarını UEFN'e nasıl uygulayabileceklerini keşfetmek.
- En önemlisi, oyunculara gelecekteki şehirlerin nasıl daha yürünebilir, canlı, yeşil ve sürdürülebilir olabileceği konusunda ilham vermek.
Unreal Engine konusunda halihazırda deneyimli olan ZHA, bu projede çok önemli bir rol oynadı. Sadece binaları tasarlamakla kalmadılar, aynı zamanda gerçek dünyadan mimari ve inşaat konseptlerini dahil ederek oynanışı da tasarladılar. ZHA ve Epic, oyundaki oynanabilir alanı oluşturmak için UEFN'e yüksek doğrulukta Londra modelleri getiren ve bir diğer Unreal Engine uzmanı olan Accucities ile de işbirliği yaptı.
Re:Imagine Londra'nın ardındaki hikâye hakkında daha fazla bilgi edinmek için The B1M YouTube kanalındaki bu videoya göz atın.
Yepyeni Bir Bina Türü
Re:Imagine Londra, Verse’te yazılmış yepyeni bir bina sistemi sergiliyor. Oyuncular, altı farklı bina türü (Yürüyüş Yolu, Yapı, Park, Ticari, Ofis ve Konut) arasından seçim yapıyor ve ilgili vokselleri yapı sahasına yerleştirerek binayı tasarlıyor.Oyuncuların keşfedebileceği alanda St. Paul Katedrali, Tate Modern Galerisi ve Shakespeare's Globe Tiyatrosu gibi simge yapılar yer alıyor. Bu oynanabilir Londra alanında dört yapı sahası bulunuyor.
Oyuncular, vokselleri yerleştirerek binaların şeklini ve kategorisini belirlerken yeni sistem de otomatik olarak gerçekçi yapılar oluşturuyor. ZHA, modüler parçaları tasarlayıp bu parçaların nasıl birleşeceğine dair kuralları belirleyerek, tek bir vokselden çok daha büyük binaların oluşturulmasına olanak sağladı.
Voksel Izgarası ve Işın Dökümü
Re:Imagine Londra'nın temelinde, her bir yapı sahası için 3D bir "hücreler" ızgarası bulunuyor ve bu ızgarada, mevcut bina vokseliyle ilgili bilgiler depolanıyor (varsa). "İsteğe bağlı" bir referanslar dizisi kullanarak bunu Verse'te uygulamak son derece kolay. Ayrıca, basit bir ışın dökümü yordamı, bir başlangıç konumu ve yönünden başlayarak dolu bir hücreye ulaşana kadar ızgarada ilerliyor.Girdi Yönetimi
Ada; Ateş Etme (voksel ekle), Nişan Alma (vokseli kaldır), Sonraki/Önceki Eşya (kategoriyi değiştir) ve Kazma (özel menüyü aç) gibi kontrollere yanıt vermek için bir dizi Girdi Tetikleyici Cihazı kullanıyor.Bir oyuncu Ateş Etme düğmesine bastığında, önce oyuncunun "yapı bölgesi"nde olup olmadığını kontrol ediyoruz ve ardından hangi voksel yüzüne baktığını belirlemek için bir ışın dökümü çalıştırıyoruz. Geçerli olması durumunda bu konuma yeni bir voksel ekleniyor.
Verse'te Prosedürel Üretim
Re:Imagine Londra, Verse'te iki tür prosedürel üretim uyguluyor: Şekil Grameri ve Dalga Fonksiyonu Daraltma. Şekil Grameri, 3D binalara (Yapı, Ticari, Ofis, Konut) uygulanırken Dalga Fonksiyonu Daraltma ise 2D "düz" alanlar (Yürüyüş Yolları, Parklar) için kullanılır.Ekip, her iki teknik için daha sonra çalışma zamanında Verse tarafından çıkarılan (toplam 330'un üzerinde) büyük bir modüler bina nesneleri seti oluşturdu. Kod, belirlenimci (determinist) özellikte olduğundan nesneler yalnızca gerektiğinde siliniyor ve ortaya çıkarılıyor.
Bu tekniklerin nasıl çalıştığına dair kısa bir açıklama:
Şekil Grameri
Öncelikle, her bir kategorinin tüm vokselleri Şekil Grameri'ni uygulamak için daha büyük dışbükey kutularda "ayrıştırılır".Şekil Grameri, basit kurallardan oluşur ve her bir kural, bir kutuyu alıp sonraki kurallar için bir veya daha fazla alt kutu oluşturur. Örneğin, bir kural uzun bir kutuyu bir voksellik yüksek bir "zemin" şeklinde bölerken başka bir kural, köşeleri bir kurala, duvarları başka bir kurala atayabilir. Özel bir kural, kutunun boyutunda ve konumunda bir nesne ortaya çıkarır.
Her bir kural ayrı bir Verse sınıfı olarak tanımlanır ve bu sınıf, kodda bir "ağaca" dönüşür. Bu yaklaşım; yeni kurallar oluşturmayı, farklı fikirlerle denemeler yapmayı ve her bir bina türüne farklı stiller atamayı kolaylaştırır. Aynı voksel setine farklı kurallar uygulandığında, aşağıdaki resimde gösterilen çeşitli sonuçlar ortaya çıkar.
Belirli voksel kombinasyonları bir araya getirildiğinde kurallar, "yükseltilmiş" bir parçayı da seçebilir (örn. Park ve Konut vokseli).
Dalga Fonksiyonu Daraltma
Dalga Fonksiyonu Daraltma (WFC), parçaların nasıl birleşebileceğini belirleyen kurallara göre rastgele alan oluşturmak için kullanılan bir tekniktir. Bu metot, The Matrix Awakens: Generating a World başlıklı State of Unreal 2022 konuşmasında ele alınmıştı.Bu uygulamada, karelerden oluşan bir set kullanılır ve ardından ekip, hangi karelerin birbirine komşu olabileceğini belirtir. Her bir kenara bir "etiket" uygulanır ve kareler yalnızca etiketler eşleştiğinde yerleştirilebilir. Algoritma, ızgara üzerinde bir konum seçer, olası seçeneklerden rastgele seçim yapar (veya "daraltır") ve ardından bu seçimin sonuçlarını diğer konumlardaki olası seçeneklere yayar.
Bu işlem, bölgenin tamamı oluşturulana kadar devam eder.
Görünüm Modu
Oyuncular, ne tür vokseller yerleştirdiklerini görmek için, yapı sahasını renkli kutularla kaplayan Görünüm Modu'na geçiş yapabilir.Bu özellik, normalde görünmez olan kutular ortaya çıkararak ve Materyal Parametresi Koleksiyonu'nu kontrol etmek için bir Si̇nemati̇k Sekans Cihazı kullanılarak uygulanır. Materyal Parametresi Koleksiyonu ise materyal opaklığını ayarlar. "Yalnızca Tetikleyen" seçeneği, oyuncuların bu görünümü bağımsız olarak kontrol etmesine olanak tanır; yani görünüm yalnızca onu etkinleştiren oyuncuyu etkiler, diğerlerini etkilemez.
Binaları Kaydetme
Oyuncular, farklı oturumlarda binaları üzerinde çalışabilir ve oluşturdukları binaları Verse Sürekliliği özelliği sayesinde arkadaşlarıyla paylaşabilir. Bina vokselleri metin dizesine (string) dönüştürülür, dizi olarak kaydedilir ve daha sonra yeniden yüklenebilir.Ada, oyuncunun oyun içi seviyesi, tamamlanan görevler ve kilidi açılan parçalar gibi bilgileri de kaydeder. Bunların hepsi Verse Sürekliliği sayesinde mümkündür!
Yayalar
Şehre canlılık katmak için üç farklı teknik uygulandı:
- Sequencer
- Tüm şehirde yayaların, arabaların, bisikletlerin, teknelerin ve trenlerin animasyonlarını oluşturmak için kullanıldı.
- StaticMesh'ler
- Sabit duran veya önceden tanımlanmış yolları izleyen yayalar için, iskelet örgü animasyonu yerine verteks animasyon materyalleri içeren StaticMesh'ler kullanıldı. Bu yaklaşım, tamamen GPU'da çalıştığı için daha verimlidir. Verteks Animasyonuna Genel Bakış eğitimine göz atarak bu teknik hakkında daha fazla bilgi edinebilirsiniz.
- Karakter Çıkma Yeri Cihazı
- Yapı sahalarındaki yayalar için özel bir Verse davranışıyla birlikte Karakter Çıkma Yeri Cihazı kullanıldı. Bu NPC'ler park ve yürüyüş yolu alanlarında gezer ve saha geliştikçe daha çok dinamik olarak ortaya çıkar. NPC'ler MetaHuman iskeletini ve hareket animasyon setini kullanır.
Prosedürel Müzik
Oyuncular yapı inşa ettikçe gelişen, prosedürel bir müzik sistemi uygulamak için Patchwork kullanıldı. Bir sahada inşaat ilerledikçe müzik de yavaş yavaş daha dinamik bir hal alıyor. Bestelenen üç müzik katmanı, füzyon yamalarına aktarıldı ve ardından bu katmanlar, Patchwork Enstrüman Çalarlara yüklendi ve Şarkı Senkronizasyonu Cihazı'nda bir MIDI parçası tarafından tetiklendi. Hoparlör sesi, bina yoğunluğuna bağlı olarak artırılıp azaltılabiliyor.Gece ve Gündüz
Şehrin hem gündüz hem de gece halini göstermek için özel bir gündüz-gece döngüsü uygulandı. Aydınlatma parametrelerini zaman içinde ayarlamak için Sequencer kullanıldı ve değişiklikler Verse aracılığıyla tetiklendi.Bir veri katmanı, sokak lambalarının kolayca açılıp kapanmasını sağlıyor. Ayrıca bir Materyal Parametresi Koleksiyonu, geceleri pencereler gibi belirli materyallerin parlaklığını ayarlıyor.
Re:Imagine Londra'yı keşfederken ve farklı tasarımlar yaparken keyif alacağınızı ve gelecekteki adalarınız için fikirler edineceğinizi umuyoruz!