Kamis, 05 Juli 2012

Augmented Reality


Augmented Reality (AR) adalah fisik dunia nyata yang unsur-unsurnya ditambah dengan yang dihasilkan komputer input sensoris seperti suara, video, grafik atau data GPS. Hal yang terkait dengan konsep yang lebih umum disebut Realitas Dimediasi, dimana pandangan realitas dimodifikasi oleh komputer. Akibatnya fungsi teknologi dengan persepsi saat ini merupakan salah satu peningkatan dari kenyataan. Sebaliknya, Virtual Reality menggantikan dunia nyata menjadi simulasi.

Augmentasi adalah konvensional dalam real-time dan dalam konteks semantik dengan unsur-unsur lingkungan, seperti skor olahraga di TV selama pertandingan. Dengan bantuan teknologi canggih AR (misalnya menambahkan visi komputer dan pengenalan obyek ) informasi tentang dunia nyata sekitar pengguna menjadi interaktif dan digital dimanipulasi. Buatan informasi tentang lingkungan dan benda -benda yang dapat dilakukan overlay pada dunia nyata. Realitas ditambah jangka diyakini telah diciptakan pada tahun 1990 oleh Thomas Caudell, bekerja di Boeing.

Penelitian mengeksplorasi aplikasi komputer-generated imagery di live-video stream sebagai cara untuk meningkatkan persepsi dari dunia nyata. AR teknologi mencakup kepala-mount display dan menampilkan retina maya untuk tujuan visualisasi, dan pembangunan lingkungan terkendali yang berisi sensor dan aktuator.

Augmented realitas dianggap sebagai perpanjangan dari virtual reality. Virtual reality (VR) adalah ruang virtual di mana pemain membenamkan diri ke dalam ruang itu dan melampaui batas-batas realitas fisik. Dalam virtual reality, waktu, hukum-hukum fisika dan sifat material mungkin tidak lagi dianggap sebagai benar, berbeda dengan lingkungan dunia nyata. Alih-alih mempertimbangkan AR dan VR sebagai konsep sebaliknya, Milgram et al. mengklaimnya sebagai realitas-virtual (RV) kontinum (Milgram, Takemura, Utsumi dan Kishino, 1994).

Ronald Azuma ditawarkan definisi pada tahun 1997. R. Azuma, Sebuah Survei Augmented Reality Kehadiran: Teleo. AR adalah tentang menambah lingkungan dunia nyata dengan informasi virtual dengan meningkatkan indra manusia dan keterampilan. AR campuran karakter virtual dengan dunia nyata. Dia mengidentifikasi tiga karakteristik umum dari adegan AR: kombinasi dari yang nyata dan virtual, interaktif real-time , dan memiliki layar terdaftar dalam 3D.

Pada grafik, R asal di bagian kiri bawah menunjukkan kenyataan yang tidak dimodifikasi. Sebuah kontinum di sumbu Virtuality V mencakup realitas ditambah dengan informasi tambahan (AR), serta realitas virtual ditambah dengan realitas (augmented virtualitas atau AV). Simulasi AV unmediated dibatasi agar sesuai dengan dunia nyata perilaku jika tidak di isi.

Sumbu mediality mengukur modifikasi AV, AR dan campuran daripadanya. Menjauh dari asal pada sumbu ini, dunia digambarkan menjadi semakin berbeda dari kenyataan. Diagonal berlawanan dari R adalah dunia maya yang tidak memiliki hubungan dengan realitas. (Di kanan) Ini termasuk kontinum realitas virtualitas (pencampuran), tetapi juga, selain efek aditif, juga termasuk modulasi dan / atau berkurangnya realitas. Mediasi meliputi modifikasi yang disengaja dan / atau tidak disengaja.



Teknologi pada Augmented Reality

## Hardware

Komponen perangkat keras utama untuk augmented reality adalah: prosesor, layar, sensor dan perangkat input. Unsur-unsur ini, khususnya CPU , layar, kamera dan MEMS sensor seperti accelerometer , GPS , solid state kompas sering hadir dalam modern smartphone , yang membuat mereka platform calon AR.



## Tampilan

Beberapa contoh menampilkan realitas ditambah spasial termasuk lampu shader, proyektor mobile, tabel virtual, dan proyektor pintar, dijelaskan oleh O. Bimber dan R. Raskar pada tahun 2005. Shader lampu, yang dikembangkan oleh Raskar dkk. pada tahun 1999, meniru dan menambah realitas dengan memproyeksikan citra ke benda netral, memberikan kesempatan untuk meningkatkan penampilan objek dengan bahan dari unit-sederhana proyektor, kamera, dan sensor. Proyektor genggam lebih lanjut tujuan ini dengan memungkinkan konfigurasi cluster penginderaan lingkungan, mengurangi kebutuhan untuk penginderaan perangkat tambahan.

Aplikasi nyata lainnya termasuk proyeksi meja dan dinding. Salah satu inovasi tersebut, Tabel Virtual Extended, memisahkan virtual dari nyata dengan memasukkan balok-splitter cermin yang melekat pada langit-langit pada sudut disesuaikan. Virtual menampilkan, yang menggunakan balok-splitter mencerminkan bersama dengan menampilkan grafis ganda, menyediakan sarana interaktif secara bersamaan terlibat dengan virtual dan nyata. Secara keseluruhan, saat ini augmented reality teknologi layar dapat diterapkan untuk memperbaiki desain dan visualisasi, atau berfungsi sebagai simulasi ilmiah dan alat untuk pendidikan atau hiburan. Lebih banyak implementasi dan konfigurasi spasial membuat augmented reality menampilkan alternatif interaktif semakin menarik.



## Kepala-mount

Sebuah layar kepala-mount (HMD) menempatkan gambar kedua dunia fisik dan terdaftar objek grafis virtual atas pandangan pengguna di dunia. Para HMDS baik optik tembus atau video tembus. Optical tembus mempekerjakan setengah perak cermin untuk lulus gambar melalui lensa dan informasi overlay akan tercermin ke mata pengguna. HMD harus dilacak dengan sensor yang menyediakan enam derajat kebebasan. Pelacakan ini memungkinkan sistem untuk menyelaraskan informasi virtual ke dunia fisik. Keuntungan utama dari HMD AR adalah pengguna yang immersive pengalaman. Informasi grafis bekerja keras dengan pandangan pengguna. Produk yang paling umum digunakan adalah sebagai berikut: Microvision Nomad, Sony Glasstron , Vuzix , Lumus , Laster Teknologi , dan I / O Menampilkan.

Sementara The New York Times melaporkan Google berharap untuk mulai menjual kacamata virtual tidak hanya untuk hiburan tetapi juga untuk informasi dan realitas ditambah pada akhir tahun 2012, [20] Laporan yang lebih baru dari Google tentang " Kaca Proyek "(seperti yang sekarang disebut ) mengatakan siaran komersial 2012 tidak mungkin.



## Genggam

Menampilkan genggam menggunakan layar kecil yang pas di tangan pengguna. Semua AR genggam solusi sampai saat ini memilih untuk video tembus. AR Awalnya genggam digunakan spidol fidusia , dan kemudian GPS unit dan MEMS sensor seperti kompas digital dan enam derajat kebebasan accelerometer - giroskop . Hari ini SLAM pelacak markerless seperti PTAM mulai datang mulai digunakan. Genggam tampilan AR menjanjikan untuk menjadi keberhasilan komersial pertama untuk teknologi AR. Dua keuntungan utama genggam AR adalah sifat portabel dari perangkat genggam dan sifat mana-mana kamera ponsel. Kerugiannya adalah kendala fisik pengguna harus memegang perangkat genggam di depan mereka setiap saat serta efek distorsi dari klasik macam-siku kamera ponsel bila dibandingkan dengan dunia nyata dilihat melalui mata.



## Tata Ruang

Daripada pengguna memakai atau membawa layar seperti dengan kepala-mount display atau perangkat genggam, Tata Ruang Augmented Reality (SAR) yang menggunakan proyektor digital untuk menampilkan informasi grafis ke benda-benda fisik. Perbedaan utama dalam SAR adalah bahwa tampilan terpisah dari pengguna sistem. Karena menampilkan tidak berhubungan dengan setiap pengguna, SAR skala alami hingga kelompok pengguna, sehingga memungkinkan untuk kolaborasi collocated antara pengguna. SAR memiliki beberapa keunggulan dibandingkan tradisional kepala-mount display dan perangkat genggam. Pengguna tidak diperlukan untuk membawa peralatan atau memakai layar lebih mata mereka. Hal ini membuat ruang AR calon yang baik untuk kerja kolaboratif, sebagai pengguna dapat melihat wajah masing-masing. Sebuah sistem dapat digunakan oleh beberapa orang pada saat yang sama tanpa masing-masing harus memakai layar kepala-mount.

Tata Ruang AR tidak menderita dari resolusi layar terbatas saat ini kepala-mount display dan perangkat portabel. Sebuah sistem layar proyektor berbasis hanya dapat menggabungkan proyektor lebih untuk memperluas area tampilan. Dimana perangkat portabel memiliki jendela kecil ke dunia untuk menggambar, sistem SAR dapat menampilkan pada sejumlah permukaan suasana dalam ruangan sekaligus. Kekurangan, bagaimanapun, adalah bahwa sistem SAR proyektor tidak bekerja dengan baik di sinar matahari dan juga membutuhkan suatu permukaan di mana untuk proyek yang dihasilkan komputer grafis. Augmentations tidak bisa hanya menggantung di udara seperti yang mereka lakukan dengan genggam dan HMD berbasis AR. Sifat nyata dari SAR, meskipun, membuat ini sebuah teknologi yang ideal untuk mendukung desain, karena SAR mendukung visualisasi grafis dan pasif haptic sensasi bagi pengguna akhir. Orang-orang dapat menyentuh benda-benda fisik, dan itu adalah proses yang menyediakan sensasi haptic pasif.



## Pelacakan

Modern mobile augmented kenyataan sistem menggunakan satu atau lebih dari teknologi pelacakan berikut: kamera digital dan / atau sensor optik , akselerometer , GPS , giroskop , kompas solid state , RFID dan sensor nirkabel. Teknologi ini menawarkan berbagai tingkat akurasi dan presisi. Yang paling penting adalah posisi dan orientasi kepala pengguna. Pelacakan tangan pengguna (s) atau perangkat genggam dapat memberikan masukan teknik interaksi 6DOF.



## Input devices

Teknik meliputi sarung tangan mencubit , tongkat dengan tombol dan sebuah smartphone yang sinyal posisi dan orientasi dari gambar kamera.





## Komputer

Komputer analisis data visual dan lain merasakan untuk mensintesis dan augmentations posisi.



## Software dan algoritma

Sebuah ukuran utama dari sistem AR adalah bagaimana realistis mereka mengintegrasikan augmentations dengan dunia nyata. Perangkat lunak ini harus mendapatkan koordinat dunia nyata, independen dari kamera, gambar dari kamera. Proses itu disebut citra pendaftaran dan merupakan bagian dari definisi Azuma dari augmented reality .

Pendaftaran citra menggunakan metode yang berbeda dari visi komputer , sebagian besar terkait dengan video pelacakan . Metode visi Banyak komputer augmented reality diwariskan dari odometry penglihatan . Biasanya metode tersebut terdiri dari dua bagian. Pertama mendeteksi titik bunga , atau spidol fidusia , atau aliran optik di kamera foto. Tahap pertama dapat menggunakan fitur deteksi metode seperti deteksi sudut , deteksi gumpalan , deteksi tepi atau thresholding dan / atau pengolahan gambar metode.

Tahap kedua memulihkan sistem koordinat dunia nyata dari data yang diperoleh pada tahap pertama. Beberapa metode menganggap objek dengan geometri dikenal (atau spidol fidusia) hadir di tempat kejadian. Dalam beberapa kasus-kasus struktur 3D adegan harus precalculated sebelumnya. Jika bagian dari adegan itu tidak diketahui lokalisasi simultan dan pemetaan (SLAM) dapat memetakan posisi relatif. Jika tidak ada informasi tentang geometri adegan tersedia, struktur dari gerak metode seperti penyesuaian bundel digunakan. Metode matematika yang digunakan dalam tahap kedua meliputi proyektif ( epipolar ) geometri, aljabar geometri , representasi rotasi dengan peta eksponensial , Kalman dan partikel filter, optimasi nonlinier, statistik yang kuat.


Virtual Reality


Virtual reality (VR) atau realitas maya adalah teknologi yang membuat pengguna dapat berinteraksi dengan suatu lingkungan yang disimulasikan oleh komputer (computer-simulated environment), suatu lingkungan sebenarnya yang ditiru atau benar-benar suatu lingkungan yang hanya ada dalam imaginasi. Lingkungan realitas maya terkini umumnya menyajikan pengalaman visual, yang ditampilkan pada sebuah layar komputer atau melalui sebuah penampil stereokopik, tapi beberapa simulasi mengikutsertakan tambahan informasi hasil pengindraan, seperti suara melalui speaker atau headphone.
Beberapa sistem haptic canggih sekarang meliputi informasi sentuh, biasanya dikenal sebagai umpan balik kekuatan pada aplikasi berjudi dan medis. Para pemakai dapat saling berhubungan dengan suatu lingkungan yang sebenarnya atau sebuah artifak maya baik melalui penggunaan alat masukan baku seperti  papan ketik dan tetikus, atau melalui alat multimodal seperti  sarung tangan terkabel, Polhemus boom arm, dan ban jalan segala arah. Lingkungan yang ditirukan dapat menjadi mirip dengan dunia nyata, sebagai contoh, simulasi untuk pilot atau pelatihan pertempuran, atau dapat sangat berbeda dengan kenyataan, seperti di VR game. Dalam praktik, sekarang ini sangat sukar untuk menciptakan pengalaman Realitas maya dengan kejernihan tinggi, karena keterbatasan teknis atas daya proses, resolusi citra dan lebar pita komunikasi. Bagaimanapun, pembatasan itu diharapkan untuk secepatnya diatasai dengan berkembangnya pengolah, pencitraan dan teknologi komunikasi data yang menjadi lebih hemat biaya dan lebih kuat dari waktu ke waktu.

Selasa, 03 Juli 2012

Game Engine (Part 2)


Setelah sebelumnya kita membahas apa itu Game Engine dan jenisnya, kini kita akan sedikit membahas teknologi yang ada pada Game Engine. Pada suatu teknologi Game Engine terdapat beberapa komponen yakni :

1. Grafik yang berfungsi untuk rendering
Rendering adalah proses akhir dari pembuatan gambar 3D aktual dari gambar yang telah di siapkan sehingga menyerupai bentuk nyata dengan warna cahaya, bayangan dan sudut pandang yang nyata. Sehingga menghasilkan gambar yang real dan tampak seperti sebuah hasil foto yang hidup dan nyata. Rendering juga digunakan dalam berbagai aplikasi kehidupan seperti Arsitektur, video game, simulator film dan lain sebagainya, yang masing-masing menggunakan keseimbangan, fitur dan teknik yang berbeda.
Rendering bisa dilakukan perlahan-lahan seperti pada pra-rendering, atau bisa juga secara real time. Pra-rendering adalah proses komputasi yang intensif yang biasanya digunakan untuk pembuatan film animasi, sedangkan real time rendering sering digunakan untuk proses pembuatan video game yang lebih mengandalkan penggunaan kartu grafis dengan akselerator 3D hardware.
Beberapa hal yang sangat mendukung dalam sebuah proses rendering dan sangat mempengaruhi hasil dari suatu rendering adalah shading, pemetaan tekstur, pemetaan kontur, pengabutan, bayangan, bayangan halus, refleksi, dan transparansi.
Teknik render pada Autocad merupakan cara untuk membuat obyek tampak lebih hidup. Rendering bisa menjadi aspek yang vital dan sangat menghabiskan waktu dalam suatu proyek. Karena harus mengatur posisi kamera, pencahayaan dan bahan. Di masa lalu seorang insinyur teknik atau orang yang akan melakukan pekerjaan rendering akan lebih banyak menghabiskan waktu untuk rendering dari pada pembuatan model 3D. Selain itu, ketika bekerja dengan banyak sumber cahaya, dan masing-masing cahaya menghasilkan bayangan, maka proses rendering akan memakan waktu yang cukup lama dan membutuhkan komputer yang handal untuk menjalankan proses render tersebut.

Proses rendering yang terkomputerisasi melibatkan 4 langkah :
* Pembuatan model / objek, yang bisa berupa benda ruangan dan lain sebagainya
* Pencahayaan
* Menentukan material yang akan di terapkan pada objek render
* Proses render

2. Framework
Framework adalah sekumpulan fungsi, class, dan aturan-aturan. Berbeda dengan library yang sifatnya untuk tujuan tertentu saja, framework bersifat menyeluruh mengatur bagaimana kita membangun aplikasi.
Framework memungkinkan kita membangun aplikasi dengan lebih cepat karena sebagai developer kita akan lebih memfokuskan pada pokok permasalahan sedangkan hal-hal penunjang lainnya seperti koneksi database, form validation, GUI, dan security umumnya telah disediakan oleh framework. Disamping itu dengan aturan-aturan yang jelas dan harus dipatuhi, aplikasi kita lebih solid, more readable, dan kolabarasi dalam tim dapat lebih mudah dilaksanakan.
Kita sebagai seorang software developer bisa dianalogikan sebagai seorang tukang bangunan. Apabila anda perhatikan, seorang tukang bangunan bisa membuat sebuah rumah. Tidak akan menjadi masalah bila hanya untuk membangun rumah dengan satu atau dua lantai. Tetapi akan menjadi masalah apabila dia mendapatkan pekerjaan untuk membangun sebuah gedung bertingkat. Permasalahan akan menjadi semakin komplek, makin banyak pekerja dan material yang dilibatkan, belum lagi dengan jadwal yang ketat. Kita pun seperti itu. Membangun aplikasi kecil tentu tidak menjadi masalah. Namun bagaimana bagaimana apabila aplikasi kecil kita tersebut dengan makin lama makin bertambah requirementnya sejalan dengan kebutuhan user. Di sini lah peran penting sebuah framework dalam membangun aplikasi seperti game.


Game Engine (Part 1)


Game Engine
Adalah sistem yang dirancang untuk penciptaan dan pengembangan video game. Game engine terkemuka memberikan kerangka kerja perangkat lunak yang pengembang gunakan untuk membuat game untuk konsol permainan video dan komputer pribadi. Fungsionalitas inti biasanya disediakan oleh mesin permainan mencakup mesin render ("renderer") untuk 2D atau 3D grafis , sebuah mesin fisika atau tabrakan (dan tanggapan tabrakan), suara, script, animasi, kecerdasan buatan, jaringan, streaming, memori manajemen, threading, lokalisasi dukungan, dan grafik adegan . Proses pengembangan game sering dihemat, sebagian besar, dengan menggunakan kembali / mengadaptasi mesin permainan yang sama untuk membuat permainan yang berbeda atau untuk membuatnya lebih mudah untuk berbagai platform.


Beberapa contoh game engine :
* RealmForge
Merupakan free dan open source game engine untuk Microsoft .Net Framework dan dikhususkan pada visual3D Game Engine, merupakan cross platform game engine untuk .NET 2.0 dan Microsoft XNA. RealmForge dibangun diatas AXIOM 3D rendering engine. Di tulis dalam bahasa C# keseluruhan. Dibangun untuk pembuatan game berbasis .NET.

*Truevision3D
Merupakan game engine 3D yang dibangun dengan menggunakan visual basic 6 dan C++ dengan menggunakan Microsoft Directx API. Mulai versi 6.5, engine ini menggunakan direct 9 dan shader support, serta ditulis ulang menggunakan C++. Sampai perkembangan terbaru, belum ada wacana untuk mengembangkannya untuk mendukung penggunaan directx9 serta Microsoft XNA.

*OGRE
OGRE (Object-Oriented Graphics Rendering Engine) merupakan engine yang mendukung 3D Graphic. Merupakan game engine yang fleksibel dalam melakukan 3D Rendering, ditulis dalam bahasa C++ sehingga memudahkan pengembang untuk membangun game yang mendukung 3D Graphics.

Tujuan
Game engine menyediakan sebuah suite visual alat pengembangan selain komponen perangkat lunak dapat digunakan kembali. Alat ini umumnya diberikan dalam lingkungan pengembangan terintegrasi untuk mengaktifkannya disederhanakan, perkembangan yang cepat dari game dalam data-driven. Pengembang game engine mencoba untuk "pra-invent the wheel" dengan mengembangkan kuat suite perangkat lunak yang meliputi banyak elemen diantaranya adalah game developer yang mungkin akan membangun sebuah permainan. Suite game engine menyediakan fasilitas yang memudahkan pengembangan seperti grafik, suara, fisika dan fungsi AI. Game engine ini kadang-kadang disebut "middleware" karena seperti arti dari istilah bisnis, mereka menyediakan sebuah platform perangkat lunak yang fleksibel dan dapat digunakan kembali yang menyediakan semua fungsi inti yang dibutuhkan, langsung dari kotak, untuk mengembangkan aplikasi permainan sambil mengurangi biaya , kompleksitas, dan waktu untuk ke pasaran semua faktor penting dalam yang sangat kompetitif industri permainan video. Gamebryo, JMonkey Mesin dan RenderWare adalah beberapa contoh program middleware banyak digunakan.
Seringkali, mesin permainan dirancang dengan arsitektur berbasis komponen yang memungkinkan sistem tertentu di mesin diganti atau diperpanjang dengan lebih khusus (dan sering lebih mahal) permainan middleware komponen seperti Havok untuk fisika, Miles Sound System untuk suara, atau Bink untuk video. Beberapa mesin permainan seperti RenderWare bahkan dirancang sebagai serangkaian komponen permainan longgar yang terhubung middleware yang dapat secara selektif dikombinasikan untuk menciptakan mesin kustom, bukan pendekatan yang lebih umum untuk memperluas atau menyesuaikan solusi terintegrasi fleksibel. Namun diperpanjang yang dicapai untuk tetap memprioritaskan game engine karena berbagai macam kegunaan yang mereka diterapkan. Meskipun spesifisitas dari nama, mesin permainan yang sering digunakan untuk jenis lain dari aplikasi interaktif dengan real-time kebutuhan grafis seperti demo pemasaran, visualisasi arsitektur, simulasi pelatihan, dan lingkungan pemodelan.
Beberapa mesin permainan hanya menyediakan kemampuan real-time 3D rendering bukan berbagai fungsi yang dibutuhkan oleh game. Mesin ini mengandalkan pengembang game untuk melaksanakan seluruh fungsi ini atau merakit dari komponen middleware permainan lainnya. Jenis mesin biasanya disebut sebagai "mesin grafis," "mesin render," atau "mesin 3D" bukan lebih menyeluruh istilah "mesin permainan." Terminologi ini tidak konsisten digunakan sebagai banyak fitur lengkap mesin permainan 3D yang disebut hanya sebagai "mesin 3D”. Beberapa contoh mesin grafis adalah: Genesis3D , Irrlicht , Ogre , RealmForge , Truevision3D , dan Vision Engine . Permainan modern atau mesin grafis umumnya menyediakan grafik adegan, yang merupakan representasi berorientasi objek dari permainan dunia 3D yang sering menyederhanakan desain game dan dapat digunakan untuk rendering yang lebih efisien dari dunia maya yang luas.