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

vSro Paylaşım Silkroad Online İkili Varlık Biçimleri (JMXV Asset Formats) Mimarisi, GPU Pipeline ve Blender Entegrasyonu

Cevaplar3
Görüntüleme209
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 İkili Varlık Biçimleri (JMXV Asset Formats) Mimarisi, GPU Pipeline ve Blender Entegrasyonu

1. Giriş ve JMXV Standart Başlık Mimarisi (Common Header)
Silkroad Online (Joymax Co., Ltd.) istemci ve sunucu mimarisi, tescilli JMXV (Joymax Vector) ikili dosya biçim ailesi üzerine inşa edilmiştir. İstemci PK2 arşivlerinde (Data.pk2, Media.pk2, Map.pk2, Particles.pk2) yer alan ve Direct3D 9.0c grafik boru hattı tarafından işlenen on binlerce varlık, standartlaştırılmış bir ikili başlık (header) ile başlar.

Metin tabanlı indeks biçimleri (JMXVOBJI, JMXV2DTI) hariç tutulduğunda, tüm ikili JMXV biçimleri sabit 12 baytlık temel bir tanımlayıcı blok içerir:
- Magic (4 Bayt): "JMXV" (0x4A, 0x4D, 0x58, 0x56)
- Format ID (4 Bayt): Sol-hizalı ve boşluk dolgulu ASCII tanımlayıcı (Örn: "BMS ", "DDJ ", "RES ", "BAN ", "BSK ", "BMT ", "DOF ", "NVM ", "CPD ")
- Sürüm Dizgisi (4 Bayt): ASCII sürüm kodu (Örn: "0110", "0109", "0102", "0101", "1000")

Bu monograf, Joymax grafik motorunun varlık ayrıştırma mekanizmalarını, donanım register kısıtlamalarını ve modern Blender 3D (BMesh/Armature) entegrasyonunda uygulanan lineer cebir dönüşümlerini eksiksiz olarak belgelemektedir.

---

2. JMXVDDJ — Doku Kapsayıcısı (Texture Container) ve Bellek Çözümleme
Oyun istemcisinde 31.000'den fazla bulunan .ddj dosyaları, standart Microsoft DirectDraw Surface (DDS) verisini çevreleyen 20 baytlık tescilli bir Joymax konteyneridir.

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. JMXVBMS — İkili Meş (Binary Mesh), Köşe Adımı ve Donanım Sınırları
.bms dosyaları, statik nesnelerin ve iskeletsel animasyonlu karakter meşlerinin 3D tepe noktalarını (vertex), yüzey indekslerini (faces), materyal bağlarını ve fizik simülasyon katmanlarını barındırır. Arşivde iki sürüm bulunur: 0109 (17 dosya) ve standart 0110 (16.835 dosya).

A. Koordinat Uzayı Permütasyonu ve UV İnversiyonu
Silkroad motoru Direct3D sol-el koordinat sistemini (Y-Yukarı, Z-Derinlik) kullanırken, Blender sağ-el sisteminde (Z-Yukarı, Y-Derinlik) çalışır. Dönüşüm afin dönüşüm matrisiyle sağlanır:
X_sro = X_blender, Y_sro = Z_blender, Z_sro = Y_blender.
UV haritalama düzleminde ise dikey ters çevrim zorunludur: V_blender = 1.0 - V_sro.

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


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. JMXVRES (BSR) — Sahne Kaynak Grafiği (Scene Resource Graph)
.bsr dosyaları, nesnenin tüm alt bileşenlerini (.bms meşleri, .bmt materyalleri, .bsk iskeletini ve .ban animasyonlarını) bir araya getiren ana sahne grafiğidir.

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


Ekipman Montaj Boru Hattı (Equipment Pipeline):
- Zırhlar (Skinned Replacement): Kendi iskeletleri yoktur (count=0). Meşleri doğrudan karakterin Bip01 iskeletine göre ağırlıklandırılmıştır. Karakter giydiğinde charactervisualchange.txt dosyasındaki slot bitmaskine göre (Örn: Göğüs: 0x0002, Bacak: 0x0010, Başlık: 0x0801) temel vücut meşini gizler ve yerine geçer.
- Silahlar / Aksesuarlar (Bone Attachment): Kendi yerel iskeletlerine sahiptir. BSR Section 2 içindeki attach_bone alanı ile karakter iskeletindeki hedef kemiğe bağlanırlar:
- Bip01 R HandMid (181 Varlık): Kılıç, bıçak, mızrak, balta.
- Bip01 L Hand (46 Varlık): Kalkan, yay.
- Bip01 Spine1 (14 Varlık): Kanat ve sırt aksesuarları.

---

5. JMXVBSK — İskelet Hiyerarşisi (Binary Skeleton) ve Rest Pose
.bsk dosyaları, karakter ve yaratıkların kemik bağlama pozlarını (bind pose) ve hiyerarşik ebeveyn-çocuk ilişkilerini tanımlar.

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. JMXVBAN — İskeletsel Animasyon ve Quaternion Enterpolasyonu
.ban biçimi, her bir kemiğin zamana bağlı rotasyonel (Quaternion) ve öteleme (Translation Vector) anahtar karelerini (keyframes) saklar.

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


---

7. JMXVBMT — İkili Materyal ve Shading Modeli
.bmt dosyaları, Direct3D 9 D3DMATERIAL9 yapısını birebir yansıtan renk ve yansıma parametrelerini tanımlar.

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


---

8. Yardımcı İkili Formatlar: JMXVDOF, JMXVNVM ve JMXVCPD
- JMXVDOF 0101 (Dungeon Object File): Zindan mimarisini belirler. Blok koordinatları [x, z, y], yaw açısı, görünür ve bağlı blok indeksleri depolanır. Her blok altındaki statik meş ve ışık kaynakları BSR referansları üzerinden çözülür.
- JMXVNVM 1000 (Navigation Mesh): Bölge bazlı (1920x1920 dünya birimi) 96x96 lık hücre ızgarasıdır. Zemin yükseklik haritası (HeightMap 97x97), su haritası ve meş bazlı çarpışma kenarlarını (Outline / Inline) içerir.
- JMXVCPD 0101 (Compound Parameter Data): Karakter avatar setleri ve önizleme kompozisyonları için temel BSR ile zırh BSR parçalarını zincirleyen üst düzey montaj tanımlayıcısıdır.

---

9. Sonuç
Silkroad Online JMXV varlık boru hattı, 2000 li yılların grafik donanım kısıtlamalarına göre optimize edilmiş kompakt ve birbiriyle sıkı sıkıya bağlı bir varlık grafiğidir. Başarılı bir tersine mühendislik ve Blender aktarımı; BSR -> BMT -> DDJ doku zincirinin harf duyarsız çözülmesine, BSK kök afin dönüşümünün (E²=I) uygulanmasına ve BMS dual-weight sınırlarına tam riayet edilmesine dayanmaktadır.

🙏 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!
 
Paylaşım için teşekkürler :)
 

Konuyu görüntüleyenler

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