Reklam
çalıştırabilen var mı ? aynı şekilde github indirdikten sonra kodlamalarıyla.
Ty
Ekli dosyayı görüntüle 15789
Github:Ziyaretçiler için gizlenmiş link,görmek için Giriş yap veya üye ol.
Aşağıdaki senaryo, Qt + DirectX tabanlı bir map editor geliştirmek isteyenler için örnek bir mimari ve kullanım akışını gösterir. Amaç; oyun haritalarını görsel olarak düzenleyebilen, nesne yerleştirme ve sahne yönetimi yapabilen bir araç oluşturmaktır.
Amaç
Harita dosyalarını yükleyip düzenleyebilen, sahnede nesne ekleme/çıkarma yapabilen ve yapılan değişiklikleri kaydedebilen bir editör geliştirmek.
Temel Bileşenler
Örnek veri modeli:
- Qt Arayüzü
- Menü çubuğu (File, Edit, Tools)
- Nesne listesi paneli
- Özellik düzenleme paneli
- DirectX viewport alanı
- DirectX Viewport
- Kamera kontrolü
- Sahne render
- Nesne seçimi (mouse picking)
- Grid ve yardımcı çizgiler
- Map Veri Yapısı
Map
├ Terrain
├ StaticObjects
│ ├ Trees
│ ├ Buildings
│ └ Props
├ NPC
├ SpawnPoints
└ Lighting
Editör Çalışma Akışı
Viewport İçinde Yapılabilecek İşlemler
- Kullanıcı harita dosyasını açar.
- Editor sahne verilerini yükler.
- DirectX viewport içinde harita görüntülenir.
- Kullanıcı nesne seçer veya yeni nesne ekler.
- Nesne konumu ve özellikleri düzenlenir.
- Değişiklikler kaydedilir.
Tipik Editör Arayüzü
- Kamera hareketi (WASD / mouse)
- Nesne seçme
- Nesne sürükleme
- Rotation / Scale
- Terrain yüksekliği düzenleme
- Grid üzerinde hizalama
+---------------------------------------------------+
| File | Edit | View | Tools |
+--------------------+------------------------------+
| Object List | |
| | |
| Tree01 | |
| House02 | DirectX Viewport |
| Rock03 | |
| | |
+--------------------+------------------------------+
| Object Properties |
| Position: X Y Z |
| Rotation: X Y Z |
| Scale: X Y Z |
+---------------------------------------------------+
Nesne Yerleştirme Örneği
Kullanıcı bir model seçer ve haritaya ekler:
1. Model seçilir (tree.fbx)
2. Harita üzerinde tıklanır
3. Nesne sahneye yerleştirilir
4. Position / Rotation ayarlanır
Kayıt Formatı Örneği
Basit JSON map formatı:
{
"objects": [
{
"model": "tree.fbx",
"position": [120, 0, 45],
"rotation": [0, 90, 0],
"scale": [1, 1, 1]
}
]
}
Geliştirme Aşamaları
Geliştirilebilecek Ek Özellikler
- Qt arayüzünü oluştur
- DirectX viewport entegre et
- Kamera ve sahne render sistemi ekle
- Mouse picking sistemi yaz
- Nesne yerleştirme sistemi oluştur
- Map load/save sistemi geliştir
- Terrain düzenleme araçları ekle
Kullanım Alanları
- Terrain sculpting
- Texture paint
- NPC spawn editor
- Navigation mesh görüntüleme
- Lighting editor
- Undo / redo sistemi
- Asset browser
Bu yapı sayesinde Qt arayüzünün esnekliği ile DirectX’in yüksek performanslı 3D çizimi bir araya getirilerek güçlü bir harita düzenleme aracı oluşturulabilir.
- Oyun map editörü
- 3D sahne düzenleme aracı
- simülasyon ortamları
- level design araçları