-
Proje özeti
- Birkaç yıldır tarayıcıda çalışan 3D sahneler ve seviyeler üzerinde çalışıyorum
- Başlangıçta tekil demolar olarak başladı, ancak zamanla birbiriyle bağlantılı, oyunu andıran projelere dönüştü
- Belirli öğeleri uygulamak için prosedürel ve üretici teknikler kullanıyorum
-
Shaders + Textures
- Çoğu doku, geniş alanlarda bile desenler fark edilmesin diye dikişsiz olacak şekilde tasarlandı
- Three.JS içinde ek işlevler sağlamak için özel shader'lar oluşturuyorum
-
Triplanar Mapping
- UV map olmadan mesh'lere doku uygulanabilmesini sağlar; bu da prosedürel olarak üretilen araziler için kullanışlıdır
- Basitçe uygulanabilir ve farklı mesh'lere uygulanabilir
pow()fonksiyonunu kullanarak ağırlıkları ayarlayıp kaliteyi artırıyor ve performansı optimize ediyorum
-
Hex Tiling
- Dikişsiz dokuların tekrarını gizleyen bir algoritma
- Three.JS projelerine kolayca entegre edilebilen bağımsız bir kütüphane olarak port ettim
- UV map gerektirir ve performans yükü yüksektir
-
Depth Pre-Pass
- Performansı artırmak için sahneyi iki kez render ederek piksellerin derinliğini kaydediyorum
- Overdraw'un fazla olduğu sahnelerde performansı %30'dan fazla artırabilir
-
AI-Powered PBR Texture Synthesis
- Yapay zeka ile üretilen dokuları kullanarak sahnenin kalitesini artırıyorum
- PBR haritaları oluşturmak için DeepBump ve Materialize kullanıyorum
-
Volumetric Fog/Clouds
- Sahneye bulut veya sis ekleyen shader'lar geliştirdim
- Çeşitli özellikler eklemek için LoD noise lookup kullanıyorum
-
Meshes + Geometry
- Çalışma anında mesh oluşturma ve dönüştürme tekniklerini araştırıyorum
- Daha çok dekorasyon veya arka plan öğelerini prosedürel olarak üretiyorum
-
LoD Terrain
- Noise fonksiyonlarıyla arazi üretiyor, kamera uzaklığına göre çözünürlüğü dinamik olarak ayarlıyorum
-
Procedural Mesh Processing + Manipulation Pipeline
- Düşük poligonlu mesh'leri prosedürel olarak alt bölümlere ayıran ve dönüştüren bir işlem hattı kurdum
- Normal işleme önemli ölçüde emek gerektiriyor
-
Future Work
- Mesh'leri birleştirmek veya kesmek için Constructive Solid Geometry (CSG) kullanmayı planlıyorum
- Daha iyi kavrayış kazanmak için Rust'a port etmeyi hedefliyorum
GN⁺ özeti
- Bu yazı, prosedürel oyun geliştirmede faydalı olan çeşitli teknikleri ve araçları tanıtıyor
- Triplanar Mapping ve Hex Tiling gibi kaplama teknikleriyle performans ve kalite aynı anda iyileştiriliyor
- Yapay zeka destekli doku üretimi ve Volumetric Fog/Clouds shader'ları sahnenin gerçekçiliğini artırıyor
- Constructive Solid Geometry gibi gelecekteki çalışmalar, mesh dönüşümü için büyük potansiyel taşıyor
- Benzer özelliklere sahip projeler arasında Unity'nin ProBuilder'ı ve Houdini bulunuyor
1 yorum
Hacker News yorumu
Geçmişte prosedürel üretimi denemiştim
İyi arazi üretimi basit değil
Web'deki prosedürel teknikler hakkında harika bir yazı
Depth prepass kullanımıyla ilgili karışık deneyimlerim oldu
Bir 3D sanatçısı olarak çok ilginç bir makaleydi