Sosyal açıldı! Bir göz at → Hemen gir →

Knight Online map editor senaryosu

KY Üye
KAYIT
9 Mar 2026
Mesajlar
48
Tepki puanı
127

68747470733a2f2f692e696d6775722e636f6d2f6556784c4b35582e706e67.png


Github:

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

  1. Qt Arayüzü
    • Menü çubuğu (File, Edit, Tools)
    • Nesne listesi paneli
    • Özellik düzenleme paneli
    • DirectX viewport alanı
  2. DirectX Viewport
    • Kamera kontrolü
    • Sahne render
    • Nesne seçimi (mouse picking)
    • Grid ve yardımcı çizgiler
  3. Map Veri Yapısı
Örnek veri modeli:

Map
├ Terrain
├ StaticObjects
│ ├ Trees
│ ├ Buildings
│ └ Props
├ NPC
├ SpawnPoints
└ Lighting

Editör Çalışma Akışı

  1. Kullanıcı harita dosyasını açar.
  2. Editor sahne verilerini yükler.
  3. DirectX viewport içinde harita görüntülenir.
  4. Kullanıcı nesne seçer veya yeni nesne ekler.
  5. Nesne konumu ve özellikleri düzenlenir.
  6. Değişiklikler kaydedilir.
Viewport İçinde Yapılabilecek İşlemler

  • Kamera hareketi (WASD / mouse)
  • Nesne seçme
  • Nesne sürükleme
  • Rotation / Scale
  • Terrain yüksekliği düzenleme
  • Grid üzerinde hizalama
Tipik Editör Arayüzü

+---------------------------------------------------+
| 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ı

  1. Qt arayüzünü oluştur
  2. DirectX viewport entegre et
  3. Kamera ve sahne render sistemi ekle
  4. Mouse picking sistemi yaz
  5. Nesne yerleştirme sistemi oluştur
  6. Map load/save sistemi geliştir
  7. Terrain düzenleme araçları ekle
Geliştirilebilecek Ek Özellikler

  • Terrain sculpting
  • Texture paint
  • NPC spawn editor
  • Navigation mesh görüntüleme
  • Lighting editor
  • Undo / redo sistemi
  • Asset browser
Kullanım Alanları

  • Oyun map editörü
  • 3D sahne düzenleme aracı
  • simülasyon ortamları
  • level design araçları
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.
 
KY Üye
KAYIT
15 Haz 2024
Mesajlar
72
Çözümler
1
Tepki puanı
21
çalıştırabilen var mı ? aynı şekilde github indirdikten sonra kodlamalarıyla.
 
KY Üye
KAYIT
9 Mar 2026
Mesajlar
48
Tepki puanı
127
çalıştırabilen var mı ? aynı şekilde github indirdikten sonra kodlamalarıyla.

QtDirect3D, Qt tabanlı masaüstü uygulamalarında Microsoft DirectX kullanarak gerçek zamanlı 3D sahneler oluşturmayı sağlayan bir örnek proje ve kütüphane yapısıdır. Bu yapı sayesinde klasik Qt arayüzleri ile Direct3D tabanlı grafik motorunu aynı uygulama içinde birleştirmek mümkündür. Özellikle oyun araçları, 3D editörler, sahne görüntüleyiciler ve görsel araç geliştirmek isteyenler için oldukça kullanışlı bir altyapı sunar.

Proje temel olarak bir Qt penceresi içinde Direct3D render alanı oluşturarak farklı DirectX sürümleriyle sahne çizimi yapılmasına imkan verir. Örneklerde Direct3D9, Direct3D10, Direct3D11 ve Direct3D12 tabanlı widget örnekleri bulunmaktadır. Ayrıca Dear ImGui entegrasyonu ile debug arayüzleri veya araç panelleri de kolayca eklenebilir.

Bu yapı bir oyun motoru değildir ancak bir editör veya araç geliştirmek için güçlü bir temel sağlar. Örneğin bir map editörü, model görüntüleyici veya sahne düzenleme aracı geliştirmek için DirectX viewport altyapısı olarak kullanılabilir.

Gereksinimler
Projeyi derlemek ve çalıştırmak için aşağıdaki araçların sistemde kurulu olması gerekir:

  • Windows 10 veya üzeri
  • Visual Studio 2019 veya Visual Studio 2022 (C++ geliştirme bileşenleri ile)
  • CMake <<<< En önemlisi
  • Qt (MSVC uyumlu sürüm)
  • Git
Önerilen Qt kurulum bileşeni:

Qt 6.x
└ MSVC 2019 64-bit

Ek modüller gerekli değildir.

Kurulum Adımları

  1. Proje deposunu bilgisayara indirin:
git clone --recursive

  1. Proje klasörüne gidin:
cd QtDirect3D

  1. Derleme klasörü oluşturun:
mkdir build
cd build

  1. CMake ile Visual Studio proje dosyalarını oluşturun:
cmake .. -G "Visual Studio 16 2019" -A x64 -DCMAKE_PREFIX_PATH=C:\Qt\6.x\msvc2019_64

  1. Projeyi derleyin:
cmake --build . --config Release

Derleme tamamlandığında örnek uygulamalar build klasörü içerisinde oluşacaktır.

Uygulamayı Çalıştırma

Derleme tamamlandıktan sonra oluşturulan örnekleri çalıştırabilirsiniz. Örnekler içinde farklı DirectX sürümleri ile oluşturulmuş widgetlar bulunur.

Örnek klasör yapısı:

build
└ bin
└ x64-vc142
└ Release

Çalıştırılabilir dosyalar bu klasör içinde bulunur.

Qt bağımlılıklarını otomatik kopyalamak için şu komut kullanılabilir:

windeployqt <exe_klasörü>

Ne İçin Kullanılabilir

Bu proje aşağıdaki türde araçlar geliştirmek için uygun bir temel sunar:

  • 3D model görüntüleyici
  • sahne editörü
  • oyun araçları
  • map editörleri
  • görsel simülasyon uygulamaları
  • debug araçları
Qt arayüzü sayesinde menüler, paneller ve araç kontrolleri kolayca eklenebilirken DirectX tarafı yüksek performanslı sahne çizimini sağlar.
 
KY Üye
KAYIT
26 Şub 2026
Mesajlar
63
Tepki puanı
2
calıstıramadm menü vs calısmıyo sen o adam gıbı calıstırabıldınmı hocam
1778186933261.png
 
KY Kıdemli Üye
KAYIT
23 Nis 2024
Mesajlar
241
Tepki puanı
105
Yaş
35
Konum
istanbul
Web
liongames.com.tr

Ekli dosyayı görüntüle 15789

Github:

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

  1. Qt Arayüzü
    • Menü çubuğu (File, Edit, Tools)
    • Nesne listesi paneli
    • Özellik düzenleme paneli
    • DirectX viewport alanı
  2. DirectX Viewport
    • Kamera kontrolü
    • Sahne render
    • Nesne seçimi (mouse picking)
    • Grid ve yardımcı çizgiler
  3. Map Veri Yapısı
Örnek veri modeli:

Map
├ Terrain
├ StaticObjects
│ ├ Trees
│ ├ Buildings
│ └ Props
├ NPC
├ SpawnPoints
└ Lighting

Editör Çalışma Akışı

  1. Kullanıcı harita dosyasını açar.
  2. Editor sahne verilerini yükler.
  3. DirectX viewport içinde harita görüntülenir.
  4. Kullanıcı nesne seçer veya yeni nesne ekler.
  5. Nesne konumu ve özellikleri düzenlenir.
  6. Değişiklikler kaydedilir.
Viewport İçinde Yapılabilecek İşlemler

  • Kamera hareketi (WASD / mouse)
  • Nesne seçme
  • Nesne sürükleme
  • Rotation / Scale
  • Terrain yüksekliği düzenleme
  • Grid üzerinde hizalama
Tipik Editör Arayüzü

+---------------------------------------------------+
| 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ı

  1. Qt arayüzünü oluştur
  2. DirectX viewport entegre et
  3. Kamera ve sahne render sistemi ekle
  4. Mouse picking sistemi yaz
  5. Nesne yerleştirme sistemi oluştur
  6. Map load/save sistemi geliştir
  7. Terrain düzenleme araçları ekle
Geliştirilebilecek Ek Özellikler

  • Terrain sculpting
  • Texture paint
  • NPC spawn editor
  • Navigation mesh görüntüleme
  • Lighting editor
  • Undo / redo sistemi
  • Asset browser
Kullanım Alanları

  • Oyun map editörü
  • 3D sahne düzenleme aracı
  • simülasyon ortamları
  • level design araçları
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.
Ty
 
Üst Alt