• Tidak ada hasil yang ditemukan

Realisasi Optical Motion Capture Melalui File CSM Untuk Pembuatan Animasi Karakter Tangan Kanan Dalam 3D Studio Max.

N/A
N/A
Protected

Academic year: 2017

Membagikan "Realisasi Optical Motion Capture Melalui File CSM Untuk Pembuatan Animasi Karakter Tangan Kanan Dalam 3D Studio Max."

Copied!
34
0
0

Teks penuh

(1)

Universitas i Kristen Maranatha REALISASI OPTICAL MOTION CAPTURE MELALUI FILE CSM

UNTUK PEMBUATAN ANIMASI KARAKTER TANGAN KANAN

DALAM 3D STUDIO MAX

Disusun Oleh :

Nama : Chris Aryanto

Nrp : 0422118

Jurusan Teknik Elektro, Fakultas Teknik, Universitas Kristen Maranatha,

Jl. Prof.Drg.Suria Sumantri, MPH no.65, Bandung, Indonesia.

Email : dnhart13@gmail.com

ABSTRAK

Perkembangan teknologi animasi sudah canggih, salah satu teknologi yang mempengaruhi pembuatan animasi adalah motion capture, yang merupakan proses menangkap gerakan yang ada di lingkungan ke dalam komputer. Saat ini

motion capture sudah menjadi teknik paling efektif dalam animasi, terutama untuk

mempermudah dan mempercepat pembuatan animasi gerak karakter yang memiliki bentuk seperti manusia.

Pada Tugas Akhir ini, optical motion capture direalisasikan dengan menggunakan dua kamera digital untuk merekam gerakan dari bagian depan aktor dan bagian kanan aktor dalam waktu yang sama. Aktor mengenakan baju berwarna hitam dengan lima marker yang ditempelkan di beberapa bagian tangan kanan. Koordinat masing-masing marker pada setiap frame dimasukkan ke dalam

file ASCII dengan format CSM.

File CSM tersebut dapat digunakan untuk menganimasikan tangan kanan Biped. Selanjutnya Biped digunakan untuk menganimasikan tangan kanan

macam-macam karakter tiga dimensi. Gerakan karakter tangan kanan dapat menyerupai gerakan tangan kanan aktor, walaupun masih terdapat kesalahan gerak pada bagian ujung tangan dan pergelangan tangan karakter tiga dimensi dalam 3D Studio Max .

(2)

Universitas ii Kristen Maranatha REALIZATION OF OPTICAL MOTION CAPTURE VIA CSM FILE

TO CREATE AN ANIMATE RIGHT HAND CHARACTER

IN 3D STUDIO MAX

Composed by :

Name : Chris Aryanto

Nrp : 0422118

Electrical Engineering, Maranatha Cristian University,

Jl. Prof.Drg.Suria Sumantri, MPH no.65, Bandung, Indonesia.

Email : dnhart13@gmail.com

ABSTRACT

Animation technology is developing, one sort of technology used for three

dimension animation is motion capture, that is process to capture movements to

computer. Today motion capture become very effective technique for animation,

principaly to make easier and fast for creating animated character movement that

have shape like human.

At this Final Project, optical motion capture using two digital camera to

capture actor front side and right side movements from the same time. Actor using

black suit with five markers stick into some parts of right hand. Coordinate of

each marker in every frame set into ASCII file within CSM format.

Obtained CSM file were use to animate Biped right hand. These Biped

were useable to animate right hand of any kind three dimension character. Right

hand character movements similar to actor right hand movements, although there

is some mistake movements at the end of hand and at the ring of hand for three

dimensional right hand character in 3D Studio Max.

(3)

Universitas v Kristen Maranatha

II.2.1 Optical Motion Capture ... 20

(4)

Universitas vi Kristen Maranatha

II.4.2 BIP ... 27

II.4.3 CSM ... 28

BAB III PERANCANGAN DAN REALISASI ... 33

III.1 Persiapan Awal ... 33

III.1.1 Mempersiapkan Koordinat Marker File CSM ... 34

III.1.2 Mempersiapkan File AVI dari 3D Studio Max ... 38

III.2 Perancangan Program ... 40

III.2.1 Form Home ... 40

III.2.2 Form Extract ... 41

III.2.3 Form Analyze ... 42

III.3 Realisasi ... 47

BAB IV DATA PENGAMATAN ... 52

IV.1 Tes Warna ... 52

IV.2 Tes Marker Hilang ... 56

IV.3 Tes Animasi ... 59

IV.4 Tes Kecepatan Gerak ... 68

BAB V PENUTUP ... 71

V.1 Kesimpulan ... 71

V.2 Saran-saran ... 71

DAFTAR PUSTAKA ... 72

LAMPIRAN A PROGRAM PADA FORM HOME

LAMPIRAN B PROGRAM PADA FORM EXTRACT

LAMPIRAN C PROGRAM PADA FORM ANALYZE

   

(5)

Universitas vii Kristen Maranatha DAFTAR TABEL

Tabel 4.1 Tes Warna 1 ... 53

Tabel 4.2 Tes Warna 2 ... 54

Tabel 4.3 Tes Warna 3 ... 55

Tabel 4.4 Tes Koordinat 1 ... 56

Tabel 4.5 Tes Koordinat 2 ... 57

Tabel 4.6 Tes Koordinat 3 ... 57

Tabel 4.7 Tes Koordinat 4 ... 58

Tabel 4.8 Tes Koordinat 5 ... 58

(6)

Universitas viii Kristen Maranatha DAFTAR GAMBAR

Gambar 1.1 Bola Pingpong dan Posisinya pada Tangan Kanan ... 2

Gambar 1.2 Ukuran Ruangan, Penempatan Kamera, dan Posisi Model ... 3

Gambar 1.3 Canon IXUS 70 ... 3

Gambar 1.4 Panasonic DMC-FZ7 ... 4

Gambar 2.1 User Interface 3D Studio Max 2009 ... 6

Gambar 2.2 Toolbar 3D Studio Max 2009 ... 6

Gambar 2.3 Gizmo ... 8

Gambar 2.4 Curve Editor ... 9

Gambar 2.5 Material Editor ... 9

Gambar 2.6 Render Common Parameter ... 10

Gambar 2.7 Command Panel ... 10

Gambar 2.8 Viewports ... 12

Gambar 2.9 Ortographic dan Perspective ... 12

Gambar 2.10 SteeringWheels ... 13

Gambar 2.11 ViewCube ... 14

Gambar 2.12 Navigasi dengan Navigation Tools dan dengan Mouse ... 14

Gambar 2.13 Timeline ... 15

Gambar 2.14 Keyframe Tools ... 16

Gambar 2.15 Time Configuration ... 18

Gambar 2.16 Biped ... 18

Gambar 2.17 System dan Struktur Biped ... 19

Gambar 2.18 Physique Modifier ... 20

Gambar 2.19 Optical Motion Capture ... 21

Gambar 2.20 Magnetic Motion Capture ... 22

Gambar 2.21 Mechanical Motion Capture ... 24

Gambar 2.22 Canon IXUS 70 ... 25

Gambar 2.23 Panasonic DMC-FZ7 ... 25

Gambar 2.24 Biped Rollout ... 27

(7)

Universitas ix Kristen Maranatha

Gambar 2.26 Motion Capture Rollout ... 31

Gambar 2.27 Motion Capture Conversion Parameter ... 32

Gambar 3.1 Diagram Alir Langkah Kerja ... 33

Gambar 3.2 Diagram Alir Persiapan Awal ... 34

Gambar 3.3 Hasil render model dari depan, belakang, kanan, kiri ... 35

Gambar 3.4 Adobe Photoshop CS3 Eyedropper Tool dan Info ... 35

Gambar 3.5 coba1.CSM ... 36

Gambar 3.6 coba2.CSM ... 38

Gambar 3.7 Penempatan Kamera dalam 3D Studio Max ... 39

Gambar 3.8 Hasil Render Frame Pertama ... 39

Gambar 3.9 Diagram Alir Perancangan Program ... 40

Gambar 3.10 Form Home ... 41

Gambar 3.11 Form Extract ... 41

Gambar 3.12 Form Analyze ... 42

Gambar 3.13 Diagram Alir Analisa Gambar ... 43

Gambar 3.14 Diagram Alir Proses Gambar 1 ... 46

Gambar 3.15 Diagram Alir Proses Gambar 2 ... 47

Gambar 3.15 Diagram Alir Cetak ... 48

Gambar 3.16 Diagram Alir Realisasi ... 48

Gambar 3.17 Ukuran Ruangan, Posisi Kamera dan Posisi Aktor ... 49

Gambar 3.18 Posisi Marker pada Tangan Kanan Aktor ... 50

(8)

Universitas x Kristen Maranatha

Gambar 4.10 Tes Animasi 2 ... 59

Gambar 4.11 Tes Animasi 3 ... 60

Gambar 4.12 Tes Animasi 4 ... 60

Gambar 4.13 Tes Animasi 5 ... 60

Gambar 4.14 Tes Animasi 6 ... 61

Gambar 4.15 Tes Animasi 7 ... 61

Gambar 4.16 Tes Animasi 8 ... 61

Gambar 4.17 Tes Animasi 9 ... 62

Gambar 4.18 Tes Animasi 10 ... 62

Gambar 4.19 Tes Animasi 11 ... 62

Gambar 4.20 Tes Animasi 12 ... 63

Gambar 4.21 Tes Animasi 13 ... 63

Gambar 4.22 Tes Animasi 14 ... 63

Gambar 4.23 Tes Animasi 15 ... 64

Gambar 4.24 Tes Animasi 16 ... 64

Gambar 4.25 Tes Animasi 17 ... 64

Gambar 4.26 Tes Animasi 18 ... 65

Gambar 4.27 Tes Animasi 19 ... 65

Gambar 4.28 Tes Animasi 20 ... 65

Gambar 4.29 Tes Animasi 21 ... 66

Gambar 4.30 Tes Animasi 22 ... 66

Gambar 4.31 Tes Animasi 23 ... 66

Gambar 4.32 Tes Animasi 24 ... 63

Gambar 4.33 Tes Animasi 25 ... 63

Gambar 4.34 Tes Kecepatan Gerak 1 ... 68

(9)

LAMPIRAN A

(10)

A-1 Private Sub Command1_Click()

Form1.Visible = False Form2.Visible = True

If Dir(App.Path & "\seq XY\") = "" Then

MkDir (App.Path & "\seq XY\") End If

If Dir(App.Path & "\seq XZ\") = "" Then MkDir (App.Path & "\seq XZ\") End If

End Sub

Private Sub Command2_Click() Form1.Visible = False

Form3.Visible = True End Sub

Private Sub Command3_Click() End

(11)

LAMPIRAN B

(12)

B-1 Option Explicit

Private Sub Command2_Click() Form1.Visible = True

Form2.Visible = False

End Sub

Private Sub Form_Load()

Call AVIFileInit '// opens AVIFile library End Sub

Private Sub Form_Unload(Cancel As Integer) Call AVIFileExit '// releases AVIFile library End Sub

Private Sub cmdOpenAVIFile1_Click() Dim res As Long 'result code

Dim ofd As cFileDlg 'OpenFileDialog class Dim szFile As String 'filename

Dim pAVIFile As Long 'pointer to AVI file interface (PAVIFILE handle) Dim pAVIStream As Long 'pointer to AVI stream interface (PAVISTREAM

handle)

Dim numFrames As Long 'number of frames in video stream

Dim firstFrame As Long 'position of the first video frame Dim fileInfo As AVI_FILE_INFO 'file info struct

Dim streamInfo As AVI_STREAM_INFO 'stream info struct Dim dib As cDIB

Dim pGetFrameObj As Long 'pointer to GetFrame interface Dim pDIB As Long 'pointer to packed DIB in memory

Dim bih As BITMAPINFOHEADER 'infoheader to pass to GetFrame functions Dim i As Long

(13)

B-2

res = ofd.VBGetOpenFileNamePreview(szFile) If res = False Then GoTo ErrorOut

'Open the AVI File and get a file interface pointer (PAVIFILE)

res = AVIFileOpen(pAVIFile, szFile, OF_SHARE_DENY_WRITE, 0&) If res <> AVIERR_OK Then GoTo ErrorOut

'Get the first available video stream (PAVISTREAM)

res = AVIFileGetStream(pAVIFile, pAVIStream, streamtypeVIDEO, 0) If res <> AVIERR_OK Then GoTo ErrorOut

'get the starting position of the stream (some streams may not start simultaneously)

firstFrame = AVIStreamStart(pAVIStream)

If firstFrame = -1 Then GoTo ErrorOut 'this function returns -1 on error 'get the length of video stream in frames

numFrames = AVIStreamLength(pAVIStream)

If numFrames = -1 Then GoTo ErrorOut ' this function returns -1 on error

' MsgBox "PAVISTREAM handle is " & pAVIStream & vbCrLf & _ ' "Video stream length - " & numFrames & vbCrLf & _

' "Stream starts on frame #" & firstFrame & vbCrLf & _

' "File and Stream info will be written to Immediate Window (from IDE - Ctrl+G to view)", vbInformation, App.title

'get file info struct (UDT)

(14)

B-3 ' 'print file info to Debug Window

' Call DebugPrintAVIFileInfo(fileInfo) 'get stream info struct (UDT)

res = AVIStreamInfo(pAVIStream, streamInfo, Len(streamInfo))

If res <> AVIERR_OK Then GoTo ErrorOut ' 'print stream info to Debug Window

' Call DebugPrintAVIStreamInfo(streamInfo)

'set bih attributes which we want GetFrame functions to return With bih

.biBitCount = 24 .biClrImportant = 0 .biClrUsed = 0

.biCompression = BI_RGB

.biHeight = streamInfo.rcFrame.bottom - streamInfo.rcFrame.top .biPlanes = 1

.biSize = 40

.biWidth = streamInfo.rcFrame.right - streamInfo.rcFrame.left .biXPelsPerMeter = 0

.biYPelsPerMeter = 0

.biSizeImage = (((.biWidth * 3) + 3) And &HFFFC) * .biHeight 'calculate

total size of RGBQUAD scanlines (DWORD aligned) End With

'init AVISTreamGetFrame* functions and create GETFRAME object

'pGetFrameObj = AVIStreamGetFrameOpen(pAVIStream, ByVal AVIGETFRAMEF_BESTDISPLAYFMT) 'tell AVIStream API what format we expect and input stream

pGetFrameObj = AVIStreamGetFrameOpen(pAVIStream, bih) 'force function to return 24bit DIBS

If pGetFrameObj = 0 Then

(15)

B-4

pDIB = AVIStreamGetFrame(pGetFrameObj, i) 'returns "packed DIB"

If dib.CreateFromPackedDIBPointer(pDIB) Then

Call dib.WriteToFile(App.Path & "\seq XY\" & Format(i, "0000") &

Call AVIStreamGetFrameClose(pGetFrameObj) '//deallocates the GetFrame resources and interface

End If

If pAVIStream <> 0 Then

Call AVIStreamRelease(pAVIStream) '//closes video stream End If

If pAVIFile <> 0 Then

Call AVIFileRelease(pAVIFile) '// closes the file End If

If (res <> AVIERR_OK) Then 'if there was an error then show feedback to user MsgBox "There was an error working with the file:" & vbCrLf & szFile, vbInformation, App.title

(16)

B-5

Dim streamInfo As AVI_STREAM_INFO 'stream info struct Dim dib As cDIB

Dim pGetFrameObj As Long 'pointer to GetFrame interface Dim pDIB As Long 'pointer to packed DIB in memory

Dim bih As BITMAPINFOHEADER 'infoheader to pass to GetFrame functions Dim i As Long

res = ofd.VBGetOpenFileNamePreview(szFile) If res = False Then GoTo ErrorOut

'Open the AVI File and get a file interface pointer (PAVIFILE)

res = AVIFileOpen(pAVIFile, szFile, OF_SHARE_DENY_WRITE, 0&) If res <> AVIERR_OK Then GoTo ErrorOut

(17)

B-6

'Get the first available video stream (PAVISTREAM)

res = AVIFileGetStream(pAVIFile, pAVIStream, streamtypeVIDEO, 0) If res <> AVIERR_OK Then GoTo ErrorOut

'get the starting position of the stream (some streams may not start

simultaneously)

firstFrame = AVIStreamStart(pAVIStream)

If firstFrame = -1 Then GoTo ErrorOut 'this function returns -1 on error 'get the length of video stream in frames

numFrames = AVIStreamLength(pAVIStream)

If numFrames = -1 Then GoTo ErrorOut ' this function returns -1 on error ' MsgBox "PAVISTREAM handle is " & pAVIStream & vbCrLf & _ ' "Video stream length - " & numFrames & vbCrLf & _

' "Stream starts on frame #" & firstFrame & vbCrLf & _

' "File and Stream info will be written to Immediate Window (from IDE - Ctrl+G to view)", vbInformation, App.title

'get file info struct (UDT)

res = AVIFileInfo(pAVIFile, fileInfo, Len(fileInfo)) If res <> AVIERR_OK Then GoTo ErrorOut ' 'print file info to Debug Window

' Call DebugPrintAVIFileInfo(fileInfo)

'get stream info struct (UDT)

res = AVIStreamInfo(pAVIStream, streamInfo, Len(streamInfo))

If res <> AVIERR_OK Then GoTo ErrorOut ' 'print stream info to Debug Window

' Call DebugPrintAVIStreamInfo(streamInfo)

'set bih attributes which we want GetFrame functions to return With bih

.biBitCount = 24 .biClrImportant = 0 .biClrUsed = 0

(18)

B-7

.biHeight = streamInfo.rcFrame.bottom - streamInfo.rcFrame.top .biPlanes = 1

.biSize = 40

.biWidth = streamInfo.rcFrame.right - streamInfo.rcFrame.left

.biXPelsPerMeter = 0 .biYPelsPerMeter = 0

.biSizeImage = (((.biWidth * 3) + 3) And &HFFFC) * .biHeight 'calculate total size of RGBQUAD scanlines (DWORD aligned)

End With

'init AVISTreamGetFrame* functions and create GETFRAME object

'pGetFrameObj = AVIStreamGetFrameOpen(pAVIStream, ByVal AVIGETFRAMEF_BESTDISPLAYFMT) 'tell AVIStream API what format we expect and input stream

pGetFrameObj = AVIStreamGetFrameOpen(pAVIStream, bih) 'force function to return 24bit DIBS

pDIB = AVIStreamGetFrame(pGetFrameObj, i) 'returns "packed DIB" If dib.CreateFromPackedDIBPointer(pDIB) Then

(19)

B-8 End If

Next

Set dib = Nothing ErrorOut:

If pGetFrameObj <> 0 Then

Call AVIStreamGetFrameClose(pGetFrameObj) '//deallocates the GetFrame

resources and interface End If

If pAVIStream <> 0 Then

Call AVIStreamRelease(pAVIStream) '//closes video stream End If

If pAVIFile <> 0 Then

Call AVIFileRelease(pAVIFile) '// closes the file End If

If (res <> AVIERR_OK) Then 'if there was an error then show feedback to user MsgBox "There was an error working with the file:" & vbCrLf & szFile, vbInformation, App.title

(20)

LAMPIRAN C

(21)

C-1 Private Sub Check1_Click()

If Check1.Value = 0 Then Text1.Enabled = True ElseIf Check1.Value = 1 Then Text1.Enabled = False

sFile = Dir(mypath & "\seq XY\") Do While sFile <> ""

List1.AddItem sFile sFile = Dir

Loop

(22)

C-2 sFile = Dir(mypath & "\seq XZ\")

Do While sFile <> "" List2.AddItem sFile sFile = Dir

Loop End Sub

Private Sub Command2_Click() Label11.Caption = Last - First End Sub

Private Sub Command3_Click() List1.Clear

List2.Clear

Command1.Enabled = True Command3.Enabled = False End Sub

Private Sub Command5_Click() X = Picture1.ScaleWidth

Y = Picture1.ScaleHeight Z = Picture2.ScaleWidth

W = Picture2.ScaleHeight ProgressBar1.Value = 0 Label10 = 0

'Menentukan nilai awal first frame dan last frame If Text4.Text = "First" Then

First = 0

(23)

C-3

ElseIf Text4.Text > List1.ListCount Or Text5.Text > List2.ListCount Or Text5.Text > Text4.Text Then

MsgBox "Please check again your First/Last frame in the File Information !" End If

If Text5.Text = "Last" Then Last = List1.ListCount

ElseIf Text5.Text <> "Last" Then Last = Text5.Text

End If

'Membuat dan mengisi File *.CSM yang ada pada folder aplikasi Open App.Path & "\" & Text1.Text & ".csm" For Output As #1 Print #1, "$Date"; " "; Date

Print #1, "$Time"; " "; Time

Print #1, "$Filename"; " "; Text1.Text Print #1, "$Actor"; " "; Text2.Text Print #1, ""

Print #1, "$Comments" Print #1, Text3.Text Print #1, ""

Print #1, "$FirstFrame"; " "; First

Print #1, "$LastFrame"; " "; Last Print #1, "$Rate"; " "; Text6.Text

Print #1, "$Order"

Print #1, "LFHD LBHD RBHD RFHD CLAV STRN LFWT LBWT RBWT RFWT C7 T10 LKNE LANK LMT5 LTOE RKNE RANK RMT5 RTOE LSHO LELB LWRE LWRI LFIN RSHO RELB RWRE RWRI RFIN"

Print #1, ""

(24)

C-4

Picture1.Picture = LoadPicture(App.Path & "\seq XY\" & Format(i, "0000") & ".bmp")

(25)
(26)

C-6 CStr(X1); " "; CStr(Y1); " "; CStr(z1); " "; CStr(X2); " "; CStr(Y2); " "; CStr(z2); " "; CStr(X3); " "; CStr(Y3); " "; CStr(z3); " "; CStr(X4); " "; CStr(Y4); " "; CStr(z4); " "; CStr(X5); " "; CStr(Y5); " "; CStr(z5)

'Print #1, CStr(i); " "; CStr(X1); " "; CStr(Y1); " "; CStr(z1); " "; CStr(X2); " "; CStr(Y2); " "; CStr(z2); " "; CStr(X3); " "; CStr(Y3); " "; CStr(z3); " "; CStr(X4); " "; CStr(Y4); " "; CStr(z4); " "; CStr(X5); " "; CStr(Y5); " "; CStr(z5) 'Print #1, CStr(i); ""; CStr(x5); CStr(y5)

Label1.Caption = "It's Done !"

Shell "notepad.exe " & (App.Path & "\" & Text1.Text & ".csm"), vbNormalFocus End Sub

Private Sub Command6_Click() Form1.Visible = True

(27)

C-7 Private Sub Form_Load()

Command3.Enabled = False Label1.FontSize = 8

End Sub

Private Sub Text1_Click()

Text1.Text = "" End Sub

Private Sub Text2_Click() Text2.Text = ""

End Sub

Private Sub Text3_Click() Text3.Text = ""

End Sub

Private Sub Text4_Click() Text4.Text = ""

End Sub

Private Sub Text5_Click()

Text5.Text = "" End Sub

Private Sub Text6_Click() Text6.Text = ""

(28)

C-8 Sub load()

'Menentukan nilai awal first frame dan last frame If Text4.Text = "First" Then

First = 0

ElseIf Text4.Text <> "First" Then First = Text4.Text

End If

If Text5.Text = "Last" Then Last = List2.ListCount

ElseIf Text5.Text <> "Last" Then Last = Text5.Text

End If

Label10 = Label10 + 1: Label10.Refresh Sum = (Label10 / ((Last - First) * 480)) * 100 Label1 = Round(Sum, 2) & " %": Label1.Refresh ProgressBar1.Value = Sum

(29)

BAB I PENDAHULUAN

1 Universitas Kristen Maranatha

BAB I

PENDAHULUAN

Pada bab ini berisi tentang latar belakang, identifikasi masalah, perumusan masalah, tujuan, pembatasan masalah, spesifikasi alat, dan sistematika penulisan

laporan Tugas Akhir.

I.1 Latar Belakang

Perkembangan teknologi animasi sudah begitu canggih, dari mulai animasi dua dimensi hingga mulai berkembang animasi tiga dimensi saat ini. Animasi tiga dimensi yang dibuat saat ini sudah dapat mengelabui orang yang melihatnya, sehingga orang yang melihat sulit membedakan antara yang diperankan oleh aktor asli atau yang hanya suatu gambar rekaan komputer. Hal ini dimungkinkan karena didukung oleh berkembangnya teknologi hardware dan software komputer, juga perkembangan kreatifitas pengguna komputer.

Salah satu perkembangan teknologi yang mempengaruhi pembuatan animasi tiga dimensi adalah motion capture, yang merupakan suatu proses menangkap gerakan yang ada di lingkungan ke dalam komputer. Saat ini motion

capture sudah menjadi teknik paling efektif dalam animasi, terutama untuk

mempermudah dan mempercepat pembuatan animasi gerak karakter yang memiliki bentuk seperti manusia.

I.2 Identifikasi Masalah

(30)

BAB I PENDAHULUAN 2

Universitas Kristen Maranatha

I.3 Perumusan Masalah

Perumusan masalah yang akan dibahas dalam Tugas Akhir ini adalah bagaimana membuat animasi gerak karakter tangan kanan tiga dimensi dalam 3D Studio Max 2009 dengan menggunakan teknik optical motion capture ?

I.4 Tujuan

Tujuan yang akan dicapai dalam Tugas Akhir ini adalah membuat sistem

optical motion capture sederhana melalui file CSM yang dapat menghasilkan

animasi gerak karakter tangan kanan tiga dimensi dalam 3D Studio Max.

I.5 Pembatasan Masalah

Pembatasan masalah dalam Tugas Akhir ini:

1. Sistem motion capture yang digunakan adalah optical motion capture

dengan dua kamera digital dan baju dengan marker.

2. Baju yang digunakan terdiri dari kaos hitam, celana panjang hitam, penutup kepala hitam, penutup tangan hitam, sarung tangan hitam, kaos kaki hitam.

3. Marker yang digunakan merupakan lima bola pingpong yang

masing-masing ditutupi dengan kertas warna yang saling berbeda warnanya. Masing-masing marker direkatkan dengan menggunakan double tape pada tangan kanan dengan posisi seperti pada Gambar 1.1.

(31)

BAB I PENDAHULUAN 3

Universitas Kristen Maranatha

4. Motion capture dilakukan dalam ruang yang ditutupi kain hitam dengan

ukuran dan penempatan posisi kamera seperti pada Gambar 1.2, dan dengan intensitas cahaya sekitar 35 LUX.

Gambar 1.2 Ukuran Ruangan, Penempatan Kamera, dan Posisi Model

5. Aplikasi pengolah data yang digunakan adalah Visual Basic 6.0.

6. Data yang didapat dari kamera berupa video yang menampilkan lima

warna marker dan warna hitam untuk objek lain. Video tersebut memiliki format AVI, untuk kemudian diambil gambar tiap frame dalam format BMP, kemudian tiap gambar dianalisa sampai mendapatkan file ASCII dengan format CSM.

7. File CSM yang didapatkan hanya akan menganimasikan karakter tangan

kanan dalam 3D Studio Max.

8. Akurasi dari setiap koordinat marker tidak diperhitungkan.

I.6 Spesifikasi Alat

Spesifikasi alat yang digunakan sebagai berikut :

1. Sebuah kamera digital tipe Canon IXUS 70, seperti pada Gambar 1.3.

(32)

BAB I PENDAHULUAN 4

Universitas Kristen Maranatha

2. Sebuah kamera digital tipe Panasonic DMC-FZ7, seperti pada Gambar 1.4.

Gambar 1.4 Panasonic DMC-FZ7

3. Sebuah PC (Personal Computer)

I.7 Sistematika Penulisan

Penulisan laporan Tugas Akhir ini dikelompokkan menjadi lima

bab, yaitu:

 BAB I PENDAHULUAN

Bab ini berisi latar belakang masalah, identifikasi masalah, tujuan penulisan, pembatasan masalah, metode serta sistematika penulisan

 BAB II LANDASAN TEORI

Bab ini berisi pengenalan user interface, sistem animasi, Biped pada 3D Studio Max 2009, penjelasan macam-macam sistem motion capture, pengenalan kamera digital yang digunakan, dan penjelasan macam-macam format file yang digunakan dalam Tugas Akhir ini.

 BAB III PERANCANGAN DAN REALISASI

Bab ini berisi hal-hal yang perlu dipersiapkan sebelum memulai proses perancangan program, hal-hal yang perlu diperhatikan dalam proses perancangan program, dan cara menggunakan program dalam proses realisasi.

 BAB IV ANALISA DAN DATA PENGAMATAN

Bab ini berisi penjelasan proses pengambilan data, analisa data, dan pengujian hasil file CSM yang didapat dari program.

 BAB V KESIMPULAN DAN SARAN

Bab ini berisi kesimpulan dari Tugas Akhir dan saran-saran yang perlu

(33)

BAB V KESIMPULAN DAN SARAN

71 Universitas Kristen Maranatha

BAB V

KESIMPULAN DAN SARAN

V.1 Kesimpulan

1. Berdasarkan percobaan yang dilakukan, dari lima gerakan tangan kanan

yang dicoba, empat gerakan tangan kanan berhasil dan satu gerakan tangan kanan tidak berhasil dianimasikan menyerupai gerakan tangan aktor. 2. Dari seluruh percobaan yang dilakukan bagian ujung tangan belum bisa

dianimasikan dengan halus.

3. Sesuai dengan tujuan Tugas Akhir ini, sistem optical motion capture yang dibuat melalui file CSM dapat menganimasikan gerakan tangan kanan karakter tiga dimensi menyerupai gerakan tangan aktor.

V.2 Saran

1. Akan lebih baik apabila proses perekaman gerak model dilakukan dalam ruangan yang kondisi cahayanya dapat diatur.

2. Sebaiknya proses merekam gerakan menggunakan tiga kamera sesuai dengan standar minimal kamera yang harus digunakan untuk pembuatan file CSM seperti yang tertulis pada dokumentasi file CSM.

3. Diperlukan kamera yang dapat menangkap gambar dengan interval waktu yang lebih singkat untuk menangkap gerakan yang lebih cepat.

(34)

72 Universitas Kristen Maranatha

DAFTAR PUSTAKA

1. Autodesk 3ds Max Help

2. Basuki, Achmad, Pengolahan Citra Digital Menggunakan Visual Basic, Yogyakarta: Graha Ilmu, 2005.

3. Canon Digital IXUS Advanced Camera User Guide 4. CSM documentation

8. Maestri, George, Digital Character Animation 3, Berkeley: New Riders, 2006.

9. Steed, Paul, Animating Real-Time Game Characters, Massachusetts: Charles River Media, Inc, 2003.

Gambar

Gambar 1.1  Bola Pingpong dan Posisinya pada Tangan Kanan
Gambar 1.2 Ukuran Ruangan, Penempatan Kamera, dan Posisi Model
Gambar 1.4 Panasonic DMC-FZ7

Referensi

Dokumen terkait