• Tidak ada hasil yang ditemukan

BAB IV. IMPLEMENTASI DAN ANALISA

4.2 Pembuatan Aplikasi

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="t/CameraConfig.xml" /> <videotexture name="texture" videocapture="Captur" />

<camera position="{0.000000, 0.000000, 0.000000}" orientation="{0,0,0}" name="Camera" file="t/CameraCalib.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="r/peta/peta.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 = "MyOverlay/frame" file="r/overlay/overlay.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 = "r/sound/backsound.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 = Object3D(scene:getObjectByName("halaman1"))

--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 = Camera(scene:getObjectByName("Camera"))

--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 = VideoCapture(scene:getObjectByName("Captur"))

--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 marker(jumlah variable disesuaikan dengan jumlah marker yang digunakan yang berada pada tracker .xml)--

objectindex1 = 0 objectindex2 = 1 objectindex3 = 2

--akhir script untuk menentukan variable marker(jumlah 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:getObjectByName("peta")) local animpeta = Animation(peta:getAnimation("timeline"))

--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 : setLoop(true) peta :setVisible(false)

-- 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:startTracking("t/tracker.xml", Cap:getVidCapID(), camera)

coroutine.yield()

--akhir script untuk memulai tracking--

--script membuat variable tombol/pointing 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 tombol/pointing 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:getObjectByName("frame")) frame : setVisible(true)

--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 = VideoTexture(scene:getObjectByName("videotexture_TI")) local videocapture_TI = VideoCapture(scene:getObjectByName("videocapture_TI")) local PlanForSnapshot2 = Entity(scene:getObjectByName("PlanForSnapshot2"))

commit to user local PlanForSnapshot2_material = PlanForSnapshot2:getMaterial(0)

PlanForSnapshot2_material:setTexture(videotexture_TI,0,1,0) PlanForSnapshot2_material:setTexture(videotexture_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:getTargetStatus(trackingindex, objectindex1) err_ret, targetstatus2 = MLTPlugin:getTargetStatus(trackingindex, objectindex2) err_ret, targetstatus3 = MLTPlugin:getTargetStatus(trackingindex, objectindex3) err_ret, targetstatus4 = MLTPlugin:getTargetStatus(trackingindex, objectindex4) err_ret, targetstatus5 = MLTPlugin:getTargetStatus(trackingindex, 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:getPointedAreaIndex(trackingindex, objectindex1) err_ret, pointingindexhal2 = MLTPlugin:getPointedAreaIndex(trackingindex, objectindex2) err_ret, pointingindexhal3 = MLTPlugin:getPointedAreaIndex(trackingindex, objectindex3) err_ret, pointingindexhal4 = MLTPlugin:getPointedAreaIndex(trackingindex, 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 = 1(disesuaikan dengan jumlah pointing yang digunakan pada halaman 1)--

--script kondisi jika marker 1 terdeteksi--

if (targetstatus1 ~= 0) then

framepembuka : setVisible(false)

err_ret = MLTPlugin:getTargetPos(trackingindex, objectindex1, position, orientation)

--script jika tombolhal1 = 1 maka akan menampilkan objek peta dan framepeta--

if (tombolhal1 == 1) then peta : setVisible(true) maket : setVisible (false) tahta : setVisible(false) bandara : setVisible(false) purwosari : setVisible(false) balapan : setVisible(false) tirtonadi : setVisible(false) planeghost : setVisible(true) animtahta : stop() animbandara : stop() animpurwosari : stop()

commit to user animbalapan : stop() animtirtonadi : stop() silsilah : setVisible(false) framepeta : setVisible(true) framemaket : setVisible(false) end

--akhir script jika tombolhal1 = 1 maka akan menampilkan objek peta dan framepeta--

--script jika halaman 1 langsung terdeteksi makan akan langsung dieksekusi--

halaman1 : setPosition(position,camera) halaman1 : setOrientation(orientation,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 : setVisible(false) maket : setVisible(false) tahta : setVisible(false) bandara : setVisible(false) purwosari : setVisible(false) balapan : setVisible(false) tirtonadi : setVisible(false) planeghost : setVisible(false) animtahta : stop() animbandara : stop() animpurwosari : stop() animbalapan : stop()

commit to user animtirtonadi : stop() animpeta : stop() silsilah : setVisible(false) framepeta : setVisible(false) framemaket : setVisible(false) 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--

MyOverlay/frame {

container BorderPanel(Overlay/frame)

{

// 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 } } } }

commit to user

Dokumen terkait