BCA611 Video Oyunları için 3B Grafik · 2019. 1. 22. · • 10 ödev projesi ... Oyun...

Preview:

Citation preview

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 : zdemir@hacettepe.edu.tr

• 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

Recommended