1 puan yazan GN⁺ 2024-05-25 | Henüz yorum yok. | WhatsApp'ta paylaş

Voxel Displacement Renderer — Retro 3D Estetiğinin Modernleştirilmesi

Estetik motivasyon

  • 90'ların başı ve ortasındaki 3D oyunlar (Doom, Quake, Duke Nukem) teknoloji ve oynanış açısından büyük etki yarattı.
  • Son dönemde bu oyunların görsel sınırlamaları retro bir çekicilik olarak algılanıyor.
  • Ortam geometrisi basit ama hayal gücü yüksekti ve dokular keskin piksel sınırlarına sahipti.
  • Bu stil, 2D piksel sanatındaki stilize soyutlamaya benziyor.
  • Bu yaklaşım, modern retro esinli oyunlarda ve 3D bağımsız yapımlarda popülerlik kazanıyor.

Voxel'lerin normalde çalışma biçimi

  • Voxel mesh, tüm küp biçimli hücrelerin dolu ya da boş olduğu üç boyutlu bir ızgaradır.
  • Büyük voxel'ler dokuludur, küçük voxel'ler ise düz renklidir.
  • Büyük ortamlar oluşturmak için tüm geometri ortak bir ızgaraya yerleştirilebilir ya da bağımsız voxel mesh'ler aynı uzayda konumlandırılabilir.
  • Bir oyun dünyasını voxel'lerle kurmaya karar verdiğinizde voxel geometrisi üretmeniz gerekir; render alma ve oynanış mantığı da voxel düzeyinde çalışmalıdır.
  • Voxel mesh'te geometri eklemek veya kaldırmak kolaydır.

Deplasmanın normalde çalışma biçimi

  • Displacement mapping, bir dokudaki her pikselin mesh yüzeyinden ne kadar içeri ya da dışarı uzatılması gerektiğini tanımlar.
  • 3D modelleme yazılımları, displacement mapping uygulamak için mesh'i alt bölümlere ayırıp yeni köşeleri deplase edebilir.
  • Gerçek zamanlı grafikte bu teknik, yüzey gölgelendirme efektleriyle birlikte kullanılarak mesh'in fiziksel biçimini değiştirmeden ayrıntılı geometrik detay üretilebilir.
  • Shell mapping, nesnenin silüeti boyunca deplasmanın görünmesini sağlar.

Yaptığım şey — voxel ile displacement mapping'in birleşimi

  • Klasik 3D oyunların ortamlarını modellemek için geleneksel low-poly mesh'ler kullanıp voxel ölçeğindeki yüzey detaylarını tanımlamak üzere displacement map uyguluyorum.
  • Üçgen mesh ve sınırlı displacement map bilgisini kullanarak renderer'ın GPU'ya yükleyeceği geometri verisini dönüştürüyorum.
  • Render sırasında gereken bilgiyi üretmek için dokuları ön işlemden geçiriyorum.
  • Mesh ve doku durumunu kullanarak voxel displacement geometrisini render ediyorum.

Sanat varlıkları ve ortam üretimi

  • İki tür varlık üretilmeli: dokular ve mesh'ler.
  • Her doku bir albedo map ve bir displacement map'ten oluşur.
  • Mesh'ler, geleneksel low-poly texture-mapped üçgen mesh'lerdir.
  • Mesh yapısı ve doku eşleme üzerinde bazı kısıtlar vardır.

Bu yaklaşımın avantajları

  • İçerik, tanıdık iş akışlarıyla üretilebilir.
  • Ortam üçgen mesh olarak hazırlandığı için fizik motoru ya da karakter denetleyicisi yazmak gerekmez.
  • Oynanış sistemlerinin çoğunun voxel detaylarıyla ilgilenmesi gerekmez.

Gelecek planları

  • Doğrudan renderer'a eklenecek veya iyileştirilecek çok sayıda özellik var.
  • Küçük nesneleri veya animasyonlu nesneleri nasıl entegre edeceğimi araştırıyorum.
  • Aydınlatma uygulamasını geliştirmeyi planlıyorum.
  • Bu render tekniğini bir oyuna entegre etmenin gerçekçi bir yol olduğunu düşünüyorum.

GN⁺ görüşü

  • Teknik zorluk: Voxel'leri displacement mapping ile birleştirmek son derece zor bir iş. Çok sayıda özel mekanizma gerektiriyor.
  • Pratiklik: Bu tekniğin mevcut oyun motorlarına entegre edilme olasılığı yüksek. Bu da geliştiricilerin mevcut sistemlerden yararlanmasını sağlar.
  • Estetik çekicilik: Retro 3D oyun estetiğini modern biçimde yeniden yorumlamak birçok oyuncu için çekici olabilir.
  • Performans değerlendirmesi: Bu render tekniği performans optimizasyonu gerektiriyor. Özellikle gerçek zamanlı render için bu kritik bir unsur.
  • Gelecek potansiyeli: Bu teknik çeşitli oyun türlerine uygulanabilir ve özellikle bağımsız oyun geliştiricileri için faydalı olabilir.

Henüz yorum yok.

Henüz yorum yok.