İçeriğe geç
Türkiye'nin SRO tanıtım & topluluk platformu

vSro Paylaşım Silkroad Online Arazi ve Harita Render Mimarisi: Dünya Izgarası, JMXVNVM NavMesh ve HeightMap

Cevaplar0
Görüntüleme17
Ticaret Puanı
0
Katılım
19 Ocak 2026
Mesajlar
277
Tepkime puanı
225
Puanları
0
Web sitesi
www.youtube.com
Discord
ayzekk.
Mevcut Bakiye
4605 ₺
🗺️ Silkroad Online Arazi ve Harita Render Mimarisi: Dünya Izgarası, JMXVNVM NavMesh ve HeightMap

Silkroad Online'ın devasa açık dünya arazisi (China, Taklamakan, Hotan, Alexandria, Baghdad ve zindanlar); yüksek performanslı bir karo tabanlı yükseklik alanı (**Tile-Based Heightfield**), 8 bölümlü tescilli navigasyon meşi (**JMXVNVM 1000**), iki katmanlı doku harmanlama (Texture Splatting) ve fiziksel tabanlı **atmosferik saçılma (Atmospheric Scattering)** gölgelendirici mimarisi üzerine inşa edilmiştir.

Bu teknik monografta; ~227 x 81 bölgeden (5.040 NVM dosyası) oluşan dünya ızgara sistemi, **NVM dosyasının 8 ardışık ikili bölümü**, 96x96 hücre ve 97x97 yükseklik örnekleme matrisi, **Preetham / Hoffman (2002) Rayleigh & Mie atmosferik saçılma algoritması**, normal haritasından ufuk açısıyla kendi kendine gölgeleme (Self-Shadowing) ve 4 dalgalı Taylor serisi okyanus tepe noktası öteleme mekanizması akademik bir titizlikle incelenmektedir.

---

### 1. Dünya Izgara Sistemi (World Grid) ve Bölge Koordinatları

Silkroad dünyası, iki boyutlu kartezyen bir ızgara üzerinde dikdörtgen bölge karolarına (Region Tiles) bölünmüştür. Her bir bölge karosu dünya koordinat sisteminde tam olarak **$1920 \times 1920$ dünya birimlik** sabit bir alanı kaplar.

#### 1.1 Çift Koordinat Standardı (Hex vs Desimal)
Oyun motoru bölge tanımlarında iki ayrı sistem koşturur:
- **Onaltılık (Hex) Sistem:** `nv_XXYY.nvm` (Örn: `nv_198c.nvm` ➔ X: `0x19` = 25, Y: `0x8C` = 140). NVM navigasyon dosyalarında ve `objectstring.ifo` yerleşimlerinde kullanılır.
- **Onluk (Desimal) Sistem:** `XXXxYYY` (Örn: `100x100` ➔ Hex `nv_6464.nvm`). Minimap dosyalarında (`Media.pk2\minimap\`) ve `regioninfo.txt` tanımlarında kullanılır.

Dünya ızgarasının kapsama alanı minimap verilerinden ölçüldüğünde:
- **X Ekseni:** 26 ile 252 arası
- **Y Ekseni:** 37 ile 117 arası
olmak üzere yaklaşık **227 x 81 bölge karosunu (5.040 aktif NVM dosyası)** içerir.

Bu gizli bloğun içeriği yalnızca şu üyeler tarafından görülebilir. Bu İçerik Premium Üyelere Özeldir. Engelsiz Tüm Gizli İçerikleri Görmek İçin Premium Üyelik satın alabilirsiniz. Ücretli Üyelikler


---

### 2. Arazi Geometrisi ve NavMesh Mimarisi (`JMXVNVM 1000`)

Her bir bölge karosu, `navmesh/nv_XXYY.nvm` dosyasında saklanan ve istemci ile GameServer tarafından ortaklaşa okunan **8 ardışık ikili bölümden (Section)** oluşur:

Bu gizli bloğun içeriği yalnızca şu üyeler tarafından görülebilir. Bu İçerik Premium Üyelere Özeldir. Engelsiz Tüm Gizli İçerikleri Görmek İçin Premium Üyelik satın alabilirsiniz. Ücretli Üyelikler


---

### 3. Arazi Dokulandırma ve Harmanlama (Texture Splatting)

Arazi yüzeyinin görsel zenginliği, `navmesh/tile2d.ifo` dosyası ve iki katmanlı harmanlama (Splatting) ile elde edilir.

#### 3.1 Karo İndeksi (`tile2d.ifo`) ve Yüzey Bayrakları
`JMXV2DTI 1001` formatındaki bu dosya, arazi karolarında kullanılan **603 adet tescilli DDJ dokusunu** listeler.

Bu gizli bloğun içeriği yalnızca şu üyeler tarafından görülebilir. Bu İçerik Premium Üyelere Özeldir. Engelsiz Tüm Gizli İçerikleri Görmek İçin Premium Üyelik satın alabilirsiniz. Ücretli Üyelikler


---

### 4. Gölgelendirici ve Atmosferik Saçılma Boru Hattı (Shader Pipeline)

Silkroad motoru, 2005 yılı standartlarının çok ötesinde fiziksel tabanlı bir gökyüzü ve arazi aydınlatma modeline sahiptir.

Bu gizli bloğun içeriği yalnızca şu üyeler tarafından görülebilir. Bu İçerik Premium Üyelere Özeldir. Engelsiz Tüm Gizli İçerikleri Görmek İçin Premium Üyelik satın alabilirsiniz. Ücretli Üyelikler


---

### 5. Okyanus ve Su Render Mimarisi

Silkroad su çizimi iki farklı mimariye sahiptir:

Bu gizli bloğun içeriği yalnızca şu üyeler tarafından görülebilir. Bu İçerik Premium Üyelere Özeldir. Engelsiz Tüm Gizli İçerikleri Görmek İçin Premium Üyelik satın alabilirsiniz. Ücretli Üyelikler


---

### 6. Blender ve 3D Harita Geliştiricileri İçin Standartlar

1. **Koordinat Dönüşüm Matrisi:**
- Silkroad Dünya Dosyaları: `(x, z, y)` (Y ekseni yukarı).
- Blender Çalışma Alanı: `(x, y, z)` (Z ekseni yukarı).
- Blender'a NVM veya arazi meşi aktarılırken eksen takası ve Euler kök dönüşümü uygulanmalıdır.
2. **96x96 Hücre ve 97x97 Heightmap Uyumu:** Özel arazi üreticileri yükseklik matrisini $96 \times 96$ değil, komşu bölgelerle dikiş (seam) boşluğu oluşmaması için mutlaka $97 \times 97$ olarak dışa aktarmalıdır.
3. **Kenar Bayrakları Disiplini:** Şehir surları veya dağ eteklerindeki hücrelerin kenarlarına `0x03` (`Blocked`) bayrağı konulmadığında canavarlar ve botlar arazinin altına düşer (Mesh Falling Bug).

🙏 Silkroad Geliştirici Camiasına Teşekkür ve Saygı

Bu kapsamlı teknik dokümantasyon, tersine mühendislik mimarisi ve protokol analizlerinin gün ışığına çıkmasında Silkroad ekosistemine yıllardır karşılıksız devasa emekler veren ve bu mirası ileriye taşımaya devam eden öncü geliştiricilerimize en içten teşekkürlerimizi sunarız:

⭐ DaxterSoul — Paket filtreleme, proxy mimarileri ve sunucu güvenliğindeki temel çalışmaları ve topluluğa kazandırdığı standartlar için,
⭐ florian0 — İstemci (Client) ve GameServer ikili (binary) tersine mühendisliği, hook ve assembly düzeyindeki rehber niteliğindeki araştırmaları için,
⭐ JellyBitz — Açık kaynak Silkroad araçları, paket analiz kütüphaneleri ve geliştirici ekosistemine sunduğu paha biçilmez açık kaynak yazılımlar için,
⭐ ferdoran — İstemci-sunucu protokol analizlerinin, opcode referanslarının ve teknik dokümantasyonun derlenip topluluğa kazandırılmasındaki büyük gayretleri için.

Silkroad geliştirici topluluğuna kattığınız değer, paylaştığınız bilgi birikimi ve sunduğunuz vizyon için sonsuz teşekkürler. İyi ki varsınız!
 

Konuyu görüntüleyenler

Yükleniyor...
Yükleniyor...
Şu anda sitemizde 18,005 Aktif Kullanıcı
Çevrimiçi üyeler
Konular 1,209
Mesajlar 4,051
Kullanıcılar 1,597
Son üye serkankacan
Geri
Üst