Pengeksportan Objek Pembuatan Desain Frame Pembuka Pembuatan Script Aplikasi

commit to user Gambar 4.24 Pengimportan dan pengeditan objek wayang menggunakan 3DsMax

4.2.2 Pengeksportan Objek

Pada langkah ini kita akan merubah objek 3D .fbx yang telah kita buat sebelumnya menjadi .scene, .mesh, dan . material. Hasil eksportan inilah yang akan digunakan agar nanti objek 3D dapat terbaca oleh program dfusion studio. Langkah yang harus dilakukan pertama kali yaitu kita menjalankan program Autodesk Maya terlebih dahulu. Berikutnya kita import objek-objek yang telah kita buat di 3DsMax kedalam Maya. Pada tab toolbar pilih “DFusion AR Exporter” dan kita atur letak folder dan nama scenenya supaya kita tidak kesulitan ketika akan memasukkannya kedalam program. Gambar 4.25 Pengeksportan objek 3D peta commit to user Gambar 4.26 Pengeksportan objek 3D maket Gambar 4.27 Pengeksportan objek 3D Jolen Gambar 4.28 Pengeksportan objek 3D Sangkok commit to user Gambar 4.29 Pengeksportan objek 3D Kendhi Gambar 4.30 Pengeksportan objek 3D Keris Gambar 4.31 Pengeksportan objek 3D Talang Candhi commit to user Gambar 4.32 Pengeksportan objek 3D Joli Gambar 4.33 Pengeksportan objek 3D Gong Kyai Rendheng Gambar 4.34 Pengeksportan objek 3D Kreto Kyai Morosebo commit to user Gambar 4.35 Pengeksportan objek 3D Wayang

4.2.3 Pembuatan Desain Frame Pembuka

Gambar 4.36 Pembuatan desain frame pembuka Pembuatan background dalam aplikasi ini dilakukan secara manual dengan memanfaatkan tools yang ada pada Adobe Photoshop CS4. Ukuran background dibuat sesuai dengan ukuran aplikasi yang ingin dibuat, yaitu 1280 x 720 px. Kemudian disimpan dengan format .png.

4.2.4 Pembuatan Script Aplikasi

Pada pembuatan script aplikasi ini kita menggunakan software notepad++. Kemudian kita buat 3 file cript yang terdiri dari project.dpd yang berisikan tentang deklarasi variabel objek-objek yang akan kita masukkan ke dalam aplikasi, globals.lua yang berisikan tentang variabel dari tracker yang telah kita buat sebelumnya, dan yang terakhir yaitu scenario.lua yang berisikan tentang logika pemrograman aplikasi yang nantinya berfungsi commit to user mengatur jalannya aplikasi sehingga hasilnya sesuai dengan yang kita harapkan. a. Project .dpd Gambar 4.37 Pembuatan script project.dpd ---script untuk mengakses marker dan settingan camera yang sudah kita atur sebelumnya--- dfusion settings rendering fullscreen=true vsync=true width=1280 height=720 antialiasing=2 settings scene videocapture name=Captur file=tCameraConfig.xml videotexture name=texture videocapture=Captur camera position={0.000000, 0.000000, 0.000000} orientation={0,0,0} name=Camera file=tCameraCalib.xml viewport name=viewport0 camera=Camera background=texture ---akhir script untuk memanggil marker dan settingan camera yang sudah kita atur sebelumnya--- commit to user --script untuk mengatur pembagian parameter trigger yang kita buat-- object3d name=MLTparameters luascript name=Globals file=Globals.lua trigger=true priority=10 luascript name=Scenario file=Scenario.lua trigger=true priority=9 object3d --akhir script untuk mengatur pembagian parameter trigger yang kita buat-- --Script untuk mengakses objek 3D yang sudah kita export kedalam .scene, .material dan .mesh-- object3d name=halaman1 position={0,0,0} orientation={0,0,0} visible=true scenette position={0,0,0} orientation= {90,0,0} scale={2.633,2.633,2.633} name=peta visible=true file=rpetapeta.scene object3d --akhir script untuk mengakses file objek 3D yang sudah kita export kedalam .scene, .material dan .mesh— --script untuk mengakses frame yang kita buat dengan format .png-- overlay name = frame overlayname = MyOverlayframe file=roverlayoverlay.overlay visible=false --akhir script untuk mengakses frame yang kita buat dengan format .png-- --script untuk mengakses sound yang akan kita gunakan dengan format .ogg-- sound name =backsound file = rsoundbacksound.ogg position = {0,0,0} orientation ={1,0,0,0} visible =false rendergroup commit to user =50 scale = {1,1,1} visibilitymask = -1 loop = true spatialize = false streaming =false -- akhir script untuk mengakses sound yang akan kita gunakan dengan format .ogg-- b. Globals .lua Gambar 4.38 Pembuatan script globals .lua --script pembuatan variabel yang digunakan untuk mengambil objek- objek 3D yang berada pada halaman 1-- halaman1 = Object3Dscene:getObjectByNamehalaman1 --akhir script pembuatan variabel yang digunakan untuk mengambil objek-objek yang berada pada halaman 1— --script untuk mengakses variable camera yang sudah kita buat pada project .dpd-- camera = Camerascene:getObjectByNameCamera --akhir script untuk mengakses variable camera yang sudah kita buat pada project .dpd-- commit to user --script untuk mengakses video capture yang sudah dibuat di project .dpd-- Cap = VideoCapturescene:getObjectByNameCaptur --akhir script untuk mengakses video capture yang sudah dibuat di project .dpd-- --script memberikan nilai awal pada marker yang dibuat jumlahnya disesuaikan dengan jumlah marker yang digunakan-- MLTPlugin = getMLTPluginManager trackingindex = -1 err_ret = eOk targetstatus1 = -1 targetstatus2 = -1 targetstatus3 = -1 --akhir script memberikan nilai awal pada marker yang dibuat-- --script untuk menentukan variable markerjumlah variable disesuaikan dengan jumlah marker yang digunakan yang berada pada tracker .xml-- objectindex1 = 0 objectindex2 = 1 objectindex3 = 2 --akhir script untuk menentukan variable markerjumlah variable disesuaikan dengan jumlah marker yang digunakan yang berada pada tracker .xml-- --script untuk menentukan nilai awal index pointing jumlah variable disesuaikan dengan jumlah marker yang menggunakan teknik pointing-- pointingindexhal1 = -1 pointingindexhal2 = -1 pointingindexhal3 = -1 commit to user --akhir script untuk menentukan nilai awal index pointing jumlah variable disesuaikan dengan jumlah marker yang menggunakan teknik pointing-- c. Scenario .lua Gambar 4.39 Pembuatan script scenario .lua --script membuat variabel yang memanggil objek 3D beserta animasniya yang sudah kita buat di project .dpd-- local peta = Scenette scene:getObjectByNamepeta local animpeta = Animationpeta:getAnimationtimeline --akhir script membuat variabel yang memanggil objek 3D beserta animasniya yang sudah kita buat di project .dpd-- --script untuk mengatur default animasi looping atau tidak dan default tampak ato tidaknya objek 3D tersebut ketika dipanggil pada kondisi baru-- animpeta : setLooptrue peta :setVisiblefalse -- akhir script untuk mengatur default animasi looping atau tidak dan default tampak atau tidaknya objek 3D tersebut ketika dipanggil pada kondisi baru-- commit to user --script untuk memulai tracking-- err_ret, trackingindex = MLTPlugin:startTrackingttracker.xml, Cap:getVidCapID, camera coroutine.yield --akhir script untuk memulai tracking-- --script membuat variable tombolpointing yang digunakan sebagai nilai awal ketika nantinya akan membuat kondisi dan logika baru-- tombolhal1 = 0 tombolhal2 = 0 tombolhal3 = 0 tombolhal4 = 0 --akhir script membuat variable tombolpointing yang digunakan sebagai nilai awal ketika nantinya akan membuat kondisi dan logika baru-- --script untuk membuat variable yang memanggil variable frame yang sudah dibuat didalam project.dpd-- frame = Overlay scene:getObjectByNameframe frame : setVisibletrue --script untuk membuat variable yang memanggil variable frame yang sudah dibuat didalam project.dpd-- --script untuk membuat variable video yang ditanam kedalam material objek 3D-- local videotexture_TI = VideoTexturescene:getObjectByNamevideotexture_TI local videocapture_TI = VideoCapturescene:getObjectByNamevideocapture_TI local PlanForSnapshot2 = Entityscene:getObjectByNamePlanForSnapshot2 commit to user local PlanForSnapshot2_material = PlanForSnapshot2:getMaterial0 PlanForSnapshot2_material:setTexturevideotexture_TI,0,1,0 PlanForSnapshot2_material:setTexturevideotexture_TI,0,1,0 --akhir script untuk membuat variable video yang ditanam kedalam material objek 3D-- --script untuk memanggil variable marker yang sudah dibuat di globals.lua-- err_ret, targetstatus1 = MLTPlugin:getTargetStatustrackingindex, objectindex1 err_ret, targetstatus2 = MLTPlugin:getTargetStatustrackingindex, objectindex2 err_ret, targetstatus3 = MLTPlugin:getTargetStatustrackingindex, objectindex3 err_ret, targetstatus4 = MLTPlugin:getTargetStatustrackingindex, objectindex4 err_ret, targetstatus5 = MLTPlugin:getTargetStatustrackingindex, objectindex5 --akhir script untuk memanggil variable marker yang sudah dibuat di globals.lua-- --script untuk memanggil variable pointing yang sudah dibuat di globals.lua-- err_ret, pointingindexhal1 = MLTPlugin:getPointedAreaIndextrackingindex, objectindex1 err_ret, pointingindexhal2 = MLTPlugin:getPointedAreaIndextrackingindex, objectindex2 err_ret, pointingindexhal3 = MLTPlugin:getPointedAreaIndextrackingindex, objectindex3 err_ret, pointingindexhal4 = MLTPlugin:getPointedAreaIndextrackingindex, objectindex4 commit to user --akhir script untuk memanggil variable pointing yang sudah dibuat di globals.lua-- --script kondisi jika nilai pointing pada halaman1 = 0 maka nilai variable tombol halaman1 = 1-- if pointingindexhal1 == 0 then tombolhal1 = 1 end --akhir script kondisi jika nilai pointing pada halaman1 = 0 maka nilai variable tombol halaman1 = 1disesuaikan dengan jumlah pointing yang digunakan pada halaman 1-- --script kondisi jika marker 1 terdeteksi-- if targetstatus1 ~= 0 then framepembuka : setVisiblefalse err_ret = MLTPlugin:getTargetPostrackingindex, objectindex1, position, orientation --script jika tombolhal1 = 1 maka akan menampilkan objek peta dan framepeta-- if tombolhal1 == 1 then peta : setVisibletrue maket : setVisible false tahta : setVisiblefalse bandara : setVisiblefalse purwosari : setVisiblefalse balapan : setVisiblefalse tirtonadi : setVisiblefalse planeghost : setVisibletrue animtahta : stop animbandara : stop animpurwosari : stop commit to user animbalapan : stop animtirtonadi : stop silsilah : setVisiblefalse framepeta : setVisibletrue framemaket : setVisiblefalse end --akhir script jika tombolhal1 = 1 maka akan menampilkan objek peta dan framepeta-- --script jika halaman 1 langsung terdeteksi makan akan langsung dieksekusi-- halaman1 : setPositionposition,camera halaman1 : setOrientationorientation,camera animpeta : play --akhir script jika halaman 1 langsung terdeteksi makan akan langsung dieksekusi-- --script kondisi lain jika semua yang ada pada kondisi sebelumnya tidak tereksekusi-- else peta : setVisiblefalse maket : setVisiblefalse tahta : setVisiblefalse bandara : setVisiblefalse purwosari : setVisiblefalse balapan : setVisiblefalse tirtonadi : setVisiblefalse planeghost : setVisiblefalse animtahta : stop animbandara : stop animpurwosari : stop animbalapan : stop commit to user animtirtonadi : stop animpeta : stop silsilah : setVisiblefalse framepeta : setVisiblefalse framemaket : setVisiblefalse tombolhal1 = 0 end --akhir script kondisi lain jika semua yang ada pada kondisi sebelumnya tidak tereksekusi-- d. Overlay.overlay Gambar 4.40 Pembuatan script overlay.overlay --script untuk membuat variable overlay-- MyOverlayframe { container BorderPanelOverlayframe { to test pixel mode : metrics_mode pixels left 0 top 0 width 1280 height 720 commit to user material Material_frame } } --akhir script untuk membuat variable overlay-- e. Overlay.material Gambar 4.41 Pembuatan script overlay.material --script untuk memanggil overlay frame.png -- material Material_frame { technique { pass { scene_blend alpha_blend texture_unit { texture frame.png } } } } --akhir script untuk membuat overlay frame-- commit to user

4.2.5 Penataan Objek didalam Dfusion Studio AR