BCA611 Video Oyunları için 3B Grafik · 2019. 1. 22. · • 10 ödev projesi ... Oyun...
Transcript of BCA611 Video Oyunları için 3B Grafik · 2019. 1. 22. · • 10 ödev projesi ... Oyun...
BCA611 Video Oyunları için 3B Grafik
Zümra KavafoğluDers 1
Hakkımda• 2007-2010 Yüksek Lisans : Hesaplamalı Geometri, 3B Modelleme ve
Görselleştirme Algoritmaları
• Proje: Madencilik Otomasyon Tasarımı ve Yazılımı Geliştirme (NetProMine) • Maden cevherlerinin 3B Modellenmesi için üçgenleştirme ve katı model
algoritmalarının geliştirilmesi
Hakkımda
• 2010-2016 Doktora : Fiziksel Karakter Animasyonu
• Proje: Veri Güdümlü Sanal İnsan Animasyonu • Yürüme, tırmanma, denge gibi insan hareketlerinin fiziksel simülasyonları için
çeşitli makine öğrenmesi ve optimizasyon yöntemleriyle kontrolcülerin geliştirilmesi
Hakkımda
Araştırma Alanları
• Bilgisayar Grafiği ve Animasyonu • Fizik-tabanlı Animasyon • Karakter Animasyonu
• Bilgisayar Animasyonu için Makine Öğrenmesi
• 3B Modelleme ve Görselleştirme
Kaynaklar
• JungHyun Han, 3D Graphics for Game Programming, CRC Press, ISBN-13: 978-1-4398-2738-3
http://media.korea.ac.kr/book
• OpenGL Red Book http://www.glprogramming.com/red/
• WebGL http://learningwebgl.com
Puanlama
• 10 ödev projesi (Proje başına %6)
• 1 final projesi (%40)
• Tüm projeler WebGL ile yapılacak.
• Her ders rasgele 2 kişi ödev projesini anlatacak.
İletişim
• e-posta adresi : [email protected]
• Ofis Saatleri: Pazartesi 10:00 - 12:00
(Gelmeden önce e-posta ile haber verin)
Bilgisayar Grafiği nedir?
Bilgisayar yazılımları ve donanımları aracılığıyla üretilen tüm görüntülerin genel adı.
Kullanım alanları - Oyunlar
Beyond Two Souls - QuanticDream
Yooka-Laylee -Playtonic Games
Kullanım alanları - Filmler
Curious Case of Benjamin Button - 2008
Up - 2009
Kullanım alanları - Bilimsel Görselleştirme
Kullanım alanları - Eğitim Simülasyonları
Ameliyat SimülasyonlarıUçuş Simülasyonları
Kullanım alanları - Tasarım/Mimari
Endüstriyel Tasarım Mimari Tasarım
Kullanım alanları - Sanal Gerçeklik
Oyun Üretimi (Grafik)
Modelleme
Oyun üretiminin 3 ana bileşeni
Modelleme ve çevrimdışı(offline) animasyon: Grafik sanatçıları Run-time Animasyon ve Render: Yazılımcılar
Animasyon Render
Modelleme
GTA V - Rockstar Games
Modelleme - Poligonal Mesh
Modelleme için en çok kullanılan yöntem nesnenin ya da karakterin yüzeyini poligonlarla modellemektir ve bu modele poligonal mesh denir.
Modelleme - Dokulama(Texturing)
Poligonal Mesh Doku(Texture)
Run-time’da nesne yüzeyine yapıştırılır
Modelleme sadece 3B modelleri oluşturmaktan ibaret değildir. Görsel gerçekçiliği arttırmak amacıyla bir 3B model doku(texture) ile kaplanmalıdır.
En basit hali ile bir doku nesne yüzeyine yapıştırılan bitmap resimleridir
Animasyon insan gözünün ardarda çok hızlı bir biçimde gösterilen sabit resimleri(frames/kareler) hareket olarak algılamasından faydalanılarak üretilir.
19
Karakter Animasyonu - Rigleme
• Karakterin iskelet yapısı belirlenir
• Poligonal mesh’in bu iskeletin hareketleri altında nasıl deforme olacağı tanımlanır. Bu işleme rigleme denir.
Çevrimdışı Animasyon
Riglenmiş modellerin grafik artistleri tarafından istenilen hareket için animasyonu çeşitli yazılımlarla çevrimdışı olarak üretilebilir.
Animasyon ve Modelleme Yazılımları
Çevrimdışı Animasyon - Hareket Yakalama(Motion Capture / Mocap)
Run-time Animasyon Problemleri
• Çevrimdışı üretilen animasyonlar oyun içinde her zaman olduğu gibi kullanılabilir mi?
• Run-time’da değişen çevre koşulları ve etkiler altında karakterlerin ve nesnelerin hareketlerinin değişmesi gerekmez mi?
• Ne zaman hangi animasyon çalınmalı, bu animasyonlar arasındaki geçişler nasıl olmalı?
• Bir animasyon tamamen run-time’da prosedürel olarak üretilemez mi?
Rendering
GTA V - Rockstar Games
Grafik API’leri(Application Programming Interface/Uygulama Geliştirme Arabirimi)
• Run-time animasyon ve rendering için Grafik API’leri kullanılır.
• API programlanmış uygulamalarla bilgisayarın bileşenleri arasında bağlantı kuran bir yöntemler bütünüdür.
Program Grafik API Donanım
Grafik API’leri(Application Programming Interface/Uygulama Geliştirme Arabirimi)
• Başlıca grafik API’leri OpenGL(cross-platform) ve Direct3D(sadece Microsoft)’dir.
• Unity3D gibi oyun motorları veya OGRE3D gibi grafik kütüphaneleri de grafik API’leri üzerine kuruludur.
WebGL
• WebGL (Web Graphics Library) 3B grafiklerin, uyumlu web tarayıcılarında herhangi eklentiye(plug-in) ihtiyaç olmadan renderlanmasını sağlayan bir JavaScript API’sidir.
• Kullanımı OpenGL’e çok benzerdir.
http://learningwebgl.com
• Herhangi bir kurulum gerektirmez.
• Sistem bağımlı değildir.
Ders İçeriği
• Poligonal Meshler • Vertex İşleme
• Transformlar • Vertex Işıklandırması
• Rasterizasyon • Dokulama • Işıklandırma • Gölgelendirme(Shading) • Shader Modeller
Rendering Animasyon• Keyframe Animasyon • Hareket Yakalama (Motion Capture) • Rotasyon Gösterimleri
• Euler Açıları • Rotasyon Matrisleri • Quaternion
• Hiyerarşik Modelleme • İleri Kinematik(Forward Kinematics) • Skinleme • Ters Kinematik(Inverse Kinematics)
Bir sonraki ders
• WebGL tanıtımı
• Poligonal Meshler