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 .
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.
Universitas v Kristen Maranatha
II.2.1 Optical Motion Capture ... 20
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
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
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
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
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
LAMPIRAN A
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
LAMPIRAN B
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
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)
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
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
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
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
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
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
LAMPIRAN C
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
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
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, ""
C-4
Picture1.Picture = LoadPicture(App.Path & "\seq XY\" & Format(i, "0000") & ".bmp")
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
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 = ""
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
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
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.
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.
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
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.
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.