Skip to content

Latest commit

 

History

7 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

IXIR-3DAnimatedModelViewer

Animasyonlu 3B karakter modellerini görüntüleyip oynatmak için yazılmış bir WinForms uygulaması. mixamo.com sitesinden indirdiğiniz karakterleri ve animasyonları açabilir, animasyonun her karesini kontrol edebilirsiniz. Modern OpenGL (GLSL 4.50) shader'ları kullanır. Model yükleme için Assimp, çizim için OpenTK kütüphaneleri kullanıldı.

Githubtaki acgessler/open3mod projesinden faydalanıldı ve geliştirildi. Temiz ve basit bir kod yazılmaya çalışıldı. Umarım faydalı olur. İyi eğlenceler.

special thanks to acgessler.

This is an image

Özellikler

  • Model yükleme: FBX, OBJ, DAE ve Assimp'in desteklediği diğer formatlar. Gömülü (embedded) texture'lar da okunur.
  • İskelet animasyonu: GPU üzerinde skinning (vertex başına 4 kemik). Mixamo animasyonları ayrı bir dosyadan modele uygulanabilir. Oynatma hızı, döngü ve kare kontrolü Inspector penceresinden yapılır.
  • Fiziksel tabanlı aydınlatma (PBR):
    • Cook-Torrance specular (GGX, Smith, Schlick Fresnel).
    • Diffuse, specular ve normal map desteği. FBX normal map'leri otomatik bulunur.
    • Ortam (ambient) ışığı skybox'tan hesaplanır, böylece model arka plandaki gökyüzü ve zeminle uyumlu aydınlanır.
    • Lineer renk uzayında hesap, ACES tone mapping ve gamma düzeltmesi.
    • Stüdyo tipi ışık düzeni: ana ışık, dolgu ışığı, arka kontur ışığı ve alttan yansıma.
  • Kameralar: Orbit ve FPS kamera.
  • Görünüm: skybox, zemin ızgarası ve FPS/kamera bilgi ekranı.

Gereksinimler

  • Windows, .NET Framework 4.8
  • OpenGL 4.5 destekleyen ekran kartı
  • Visual Studio (derlemek için)

Kullanılan kütüphaneler XR/Lib klasöründe bulunur: OpenTK 3.1, OpenTK.GLControl 3.1, AssimpNet 4.1, TargaImage.

Derleme ve çalıştırma

  1. XR.sln dosyasını Visual Studio ile açın.
  2. Derleyip çalıştırın (F5).

Örnek modeller XR/Resources/Model klasöründedir ve derleme sırasında çıktı klasörüne kopyalanır.

Kullanım

Menü İşlev
Open → Load Model Model dosyası açar
Open → Load Animation Açık modele başka bir dosyadaki animasyonu uygular
View → Environment / Display / Grid Skybox, bilgi ekranı ve ızgarayı açıp kapatır
View → Grid → Properties Izgara ayarları
Camera → Orbit / FPS Kamera türünü seçer
Inspection Animasyon seçimi ve oynatma kontrolleri (Inspector)

Fare ve klavye

Kontrol İşlev
Sol tuş + sürükle Kamerayı döndürür
Orta tuş + sürükle Kamerayı kaydırır (pan)
Tekerlek Orbit kamerada yakınlaştırır, FPS kamerada görüş açısını değiştirir
W / A / S / D İleri, sol, geri, sağ
Space / Sol Shift Yukarı / aşağı

Proje yapısı

XR/
├── Engine/         Model, Mesh, Animator, Renderer, Shader, Texture, Environment, kameralar
├── Forms/          Ana pencere, Inspector, ızgara ayarları
├── Controls/       Animasyon zaman çubuğu
├── Resources/
│   ├── Shaders/    GLSL shader'ları (Model, Environment, Grid2D, Label)
│   ├── Skybox/     Ortam haritası
│   └── Model/      Örnek modeller
└── Settings/       Uygulama ayarları

Bilinen sorunlar

  • Model kendi üzerine gölge düşürmez (shadow mapping yok).
  • Solus The Knight modelinin FBX dosyasında diffuse texture olarak occlusion map tanımlı, bu yüzden model beyaz görünür. Doğru renk haritası tex_knight_color_map_1024.png dosyasıdır.
  • LaraCroft modelinin mesh'i ile Mixamo animasyonları farklı birimlerde olduğundan, animasyon oynatılınca model büyük görünür.

About

3d model viewer and animator.

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages