T.C. GEBZE YÜKSEK TEKNOLOJĠ ENSTĠTÜSÜ Bilgisayar Mühendisliği Bölümü LĠSANS BĠTĠRME PROJESĠ ÖN RAPOR YAZIM KILAVUZU Ebubekir AKGÜL DanıĢman Yrd. Doç. Dr. Yakup GENÇ ġubat, 2014 Gebze, KOCAELĠ i T.C. GEBZE YÜKSEK TEKNOLOJĠ ENSTĠTÜSÜ Bilgisayar Mühendisliği Bölümü LĠSANS BĠTĠRME PROJESĠ ÖN RAPOR YAZIM KILAVUZU Ebubekir AKGÜL DanıĢman Yrd. Doç. Dr. Yakup GENÇ ġubat, 2014 Gebze, KOCAELĠ ii ĠÇĠNDEKĠLER KISALTMA LĠSTESĠ ........................................................................ V SEMBOL LĠSTESĠ ............................................................................................... V 1. GĠRĠġ ............................................................................................... 1 1.1. PROJE TANITIMI .................................................................................... 1 1.2. PROJEDE KULLANILACAK DONANIM VE TEKNOLOJĠLER ....... 4 2.3. PROJENĠN NEDENĠ AMAÇLARI .......................................................... 4 2.4. PROJENĠN KULLANIM ALANLARI ..................................................... 4 2. ÖN RAPOR ĠÇERĠĞĠ ............................................................... 5 2.1.1 DONANIMSAL GEREKSĠNĠMLER ....................................................... 5 2.1.2 YAZILIMSAL GEREKSĠNĠMLER ......................................................... 5 2.2. SĠSTEM MĠMARĠSĠ.................................................................................. 6 2.2.1. UML DĠYAGRAMLARI ........................................................................... 7 2.2.1.1 CLASS DĠYAGRAMI............................................................................... 7 2.2.1.2 USE CASE DĠYAGRAMI ......................................................................... 8 2.2.1.3 REQUĠREMENT DĠYAGRAMI............................................................... 8 2.3. Ġġ PLANLARI ............................................................................................ 9 2.4. BAġARI KRĠTERLERĠ ............................................................................ 5 6. SONUÇ............................................................................................. 5 KAYNAKLAR..................................................................................... 6 EKLER..................................................................................................11 iii ġEKIL LISTESI Şekil 1.1 Kullanıcı ekrana karşıdan bakarken oluşacak örnek sahne ........................ 2 Şekil 1.2 Kullanıcı ekrana soldan bakarken oluşacak örnek sahne ........................... 2 Şekil 1.3 Kullanıcı cisme sol taraftan bakarken oluşacak görüntü............................ 3 Şekil 1.4 Kullanıcı cisme sağ taraftan bakarken oluşacak görüntü ........................... 3 Şekil 2.1 Örnek sistem görünümü ........................................................................... 5 Şekil 2.2 Sahne şeması............................................................................................ 6 Şekil 3 Clas diyagramı ............................................................................................ 7 Şekil 3 Use case diyagramı ..................................................................................... 8 Şekil 3 Requirement diyagramı ............................................................................... 8 Şekil 4 İş Planı....................................................................................................... 10 iv KISALTMA LĠSTESĠ UML G.Y.T.E. AR 3D : Unified Modeling Language (Birleşik Modelleme Dili) : Gebze Yüksek Teknoloji Enstitüsü : Augmented Reality : 3 Dimension SEMBOL LĠSTESĠ v 1. GĠRĠġ Bu proje 3 boyutlu bir cismin, veya 3 boyutlu bir çevrenin(enviroment) 3D bir ekranda kullanıcıya gerçeklik hissi vererek göstermeyi amaçlar. 3 boyutlu cismi, kullanıcının posizyonuna bağlı olarak, yönünü ve büyüklüğünü değiştirerek, sanki o cisim orada gerçekten varmış gibi hissedilmesini sağlar. Bu işlemin gerçekleştirilebilmesi için kullanıcının ekrana göre konumu tespit edilmektedir. Bu da Microsoft firmasının Kinect adlı cihazı ile gerçekleştirilmektedir. Projede iki farklı çevre tasarımı olacaktır. İlk olarak "Gerçek pencere" oalrak adlandırdığımız pencere yapılacaktır. Bu sistemde görüntü ekranın arkasında oluşturulup, ekrana bakan kullanıcının konumuna göre yeniden yapılandırılacaktır. Bu olayı tıpkı gerçek pencereden dışarıya bakmak gibi de anlatabiliriz. Bir diğer çevre tasarımında da görüntü ekranın önünde oluşturulacak, kullanıcıya sanki orada gerçekten bir cisim varmış gibi görüntü oluşturulacaktır. 1.1. PROJE TANIMI True 3D projesinde 3 boyutlu ekranlarla sanal gerçeklik oluşturmak, ve bunu kullanıcıya ürün olarak sunabilmek amaçlanmaktadır. Proje 2 kısımdan oluşacak olup, aynı mantık ve mekanizmada çalışacaktır. Projenin ilk kısmı olan "Sanal Pencere" kısmında ekranın arkasında bir görüntü oluşturulacak, ekran karşısındaki kullanıcının her hareketinde bu görüntü yeniden konumlandırılacaktır. Kullanıcı ekrana karşıdan baktığı zaman aşağıdaki gibi bir görüntü görebilecektir. Kullanıcı her yer değiştirişinde bu ekrandaki sahne de değiştirilip, sanal gerçeklik sağlanacaktır. 1 ġekil 1.1 Kullanıcı ekrana karşıdan bakarken oluşacak örnek sahne ġekil 1.2 Kullanıcı ekranın solundan bakarken göreceği örnek sahne 2 Projenin ikinci kısmında ise bir çeşit sanal stüdyo yapılıp, görüntü ekranın önünde olacaktır. Stüdyo ortamları iki tane yapılacak olup karmaşıklıkları (complexity) en az 100 000 ve 1 000 000 triangle olacaktır. Prensip olarak Sanal Pencere uygulaması ile benzer çalışacak, kullanıcının 3 boyutlu nesneyi etrafında gezerek incelemesine olanak tanıyacaktır. Aşağıdaki temsili resimlerde kullanıcı arabaya soldan baktığında şekil 1.3 'deki gibi, sağdan baktığında ise 1.4 'deki gibi bir görüntü görecektir. ġekil 1.3 Kullanıcı cisme kendisine göre sol taraftan bakınca oluşan görüntü. Şekil 1.4 Kullanıcı cisme kendisine göre sağ taraftan bakınca oluşan görüntü. 3 1.2. PROJEDE KULLANILACAK DONANIM VE TEKNOLOJĠLER Projede donanım olarak 3 boyutlu görüntüyü oluşturmak için 3D TV , ve 3D gözlük kullanılacaktır. Ayrıca kullanıcının konumunu bulmak için de Microsoft firmasının Kinect cihazı kullanılacaktır. Projenin bütün yazılım ve tasarımları Unity 3D editörü kullanılacak yapılacaktır. Unity ile sahne tasarımı, 3D görüntü oluşturma, cisimleri yönetme, kullanıcı konumunu algılama gibi işlemler gerçekleştirilecektir. Unity'de bulunan fizik motoru 3 boyutlu nesneleri yönlendirmek(transform & rotation) için yeterli niteliklere sahiptir. Unity ile oluşturulacak yazılım teorik olarak bütün platformlarda çalışmaktadır. 1.3. PROJENĠN NEDEN ve AMAÇLARI Proje 3 boyutlu arttırımış gerçeklik(3D Augmented Reality) kullanarak, kullanıcılara sanal görsellik sunmayı amaçlamaktadır. Ayrıca proje AR (augmented reality) kullanımının gerçek hayattaki bir uygulaması olup, oluşturulacak yapı(geliştirme kütüphanesi) 3D oyun tasarımında kullabilir hale getirilecek, kullanıcılar için daha interaktif oyunlar üretmeyi sağlıyacaktır. 1.4. PROJENĠN KULLANIM ALANLARI Gelişirilecek olan sistem aşağıdaki gibi kullanım alanlarına sahip olabilir. o 3D oyunların geliştirilmesi o Müze ve fuarlarda nesnelerin gösterimi o İç mimaride değişebilen manzara veya resimler için kullanılması 4 2. ÖN RAPOR ĠÇERĠĞĠ 2.1. PROJE GEREKSĠNĠMLERĠ 2.1.1. DONANIMSAL GEREKSĠNĠMLER ġekil 2.1 Örnek sistem görünümü Şekil 2.1 'de sistemin genel görüntüsü bulunmaktadır. Üsttaraftaki şekilde projenin donanım bileşenlerini 3D TV 3D gözlük Kinect olarak sıralayabiliriz. 2.1.2. YAZILIMSAL GEREKSĠNĠMLER Yapılacak olan sistem Kinect'den kullanıcı pozisyonunu okuyup, gelen bilgileri işleyerek ekranda oluşacak görüntüyü güncellemelidir. Ekrana gönderilecek görüntü işlenerek 3 boyutlu bir hale getirilmelidir. Bu işlemler 100 milisaniyeden kısa sürmelidir. Geliştirme ortamında Kinect driver ve SDK yazılımlarının yüklü olması gereklidir. 5 2.2. SĠSTEM MĠMARĠSĠ ġekil 2.3 Sahne şeması Üstteki şekil oluşacak platformun temsili bir resmidir. Kullanıcının her yer değişiminde oluşan 3D cisim yeniden boyutlandırılıp, yönü değiştirilir. Ayrıntılı bilgiler UML diyagramları bölümünde bulabilirsiniz. 6 2.2.1. UML DĠYAGRAMLARI 2.2.1.1. CLASS DĠYAGRAMI Şekil 2.3 Class Diyagramı 7 2.2.1.2. USE CASE DĠAGRAMI Şekil 2.4 Use Case Diyagramı 2.2.1.3. REQUĠREMENT DĠAGRAMI Şekil 2.5 Requirement Diyagramı 8 2.3. Ġġ PLANLARI Projede takip edilecek adımlar aşağıdaki gibidir. o o o o o o o o o o Literatür araştırması Kullanılacak SDK ve editörlerin öğrenilmesi 3D sahnelerin tasarlanması 3D nesnelere fizik modülleri eklenmesi Kinect ile entegrasyon Ara yüzün hazırlanması Stereo görüntü oluşturulması Sistemin birleştirilmesi Genel sistem testleri Rapor ve sunumlar 9 ġekil 2.3 ĠĢ Takvimi 4 2.4. BAġARI KRĠTERLERĠ Projede 3 tane başarı kriteri bulunmaktadır. o İki ayrı senaryo(pencere ve obje) ve her senaryonun altında 2 ayrı alt senaryo o İki değişik model complexity (100k ve 1M triangles) o Sistemin tepki süresi 100ms'den az olmalıdır. 3. SONUÇ Yapılacak olan sistem birleştirilip çalıştırıldığında 3 boyutlu cisimleri gerçekleyen bir başyapıt haline gelecektir. Oluşturlacak olan yazılım paketlenip kütüphane haline getirilip, oyun geliğtiricilerinin hizmetine sunulacaktır. Hazırlanan kütüphane yardımıyla da kolaylıkla yeni AR oyunlar geliştirilebilecektir. 5 KAYNAKLAR [1] Unity, Unity 3D Tutorial & Reference guide, http://docs.unity3d.com/Documentation/Manual/index.html [Ziyaret Tarihi: 24 Şubat 2014] [2]Wikipedia.com, Anaglyph 3D http://en.wikipedia.org/wiki/Anaglyph_3D [Ziyaret Tarihi: 28 Şubat 2014] [3]openni.org,Programming guide http://www.openni.org/openni-programmers-guide [Ziyaret Tarihi: 28 Şubat 2014] [4]microsoft.com, Kinect SDK http://msdn.microsoft.com/en-us/library/hh855347.aspx [Ziyaret Tarihi: 28 Şubat 2014] 6
© Copyright 2024 Paperzz