Rancang Bangun Sistem Motion Capture dan (1)

Rancang Bangun Sistem Motion Capture dan Motion Database
untuk Simulasi Pergerakan Karakter Animasi Manusia 3D
William Antonius1), Maksum Ro'is Adin Saf2) dan Meilany Dewi3)
1) Jurusan Komputer, Politeknik Caltex Riau, Pekanbaru, email: wi l li a m1 2 t i @ ma h as is wa.p cr.ac .id
2) Jurusan Komputer, Politeknik Caltex Riau, Pekanbaru, email: maksum@pcr.ac.id
3) Jurusan Komputer, Politeknik Caltex Riau, Pekanbaru, email: meilany@pcr.ac.id
Abstrak – Pada umumnya pembuatan animasi di Indonesia masih kelihatan kaku dan kurang nyata, hal ini
dikarenakan pembuatan animasi masih dilakukan dengan cara manual atau mengunci gerakan disetiap frame.
Kemudian hasil dari pembuatan animasi tersebut hanya dapat digunakan pada objek yang diberi animasi saja,
sehingga harus membuat animasi lagi pada karakter lain, meskipun gerakan yang akan dibuat sama dengan gerakan
sebelumnya. Untuk menangani masalah tersebut, telah dibangun sebuah sistem dan sebuah add-ons yang dapat
membantu dalam pembuatan gerakan animasi. Sistem yang dibangun berfungsi menyimpan informasi gerakan
objek manusia ke database dalam bentuk titik koordinat, dengan menggunakan teknik motion capture yang
ditangkap oleh perangkat Kinect. Kemudian data gerakan yang disimpan tersebut diolah kembali oleh add-ons,
untuk diterapkan ke karakter yang akan dijadikan animasi menggunakan bantuan software 3D, sehingga data
gerakan tersebut dapat diterapkan kebeberapa karakter untuk mempercepat proses pembuatan animasi. Hasil
penelitian yang telah dibangun dapat mempercepat proses pembuatan animasi dibandingkan dengan pembuatan
secara manual (frame by frame), akan tetapi hasil yang diberikan tidak sebaik pembuatan animasi secara manual.
Penyebabnya adalah data yang dihasilkan Kinect tidak konsisten atau dapat berubah secara tiba-tiba karena terjadi
sedikit perubahan anggota tubuh dan kemiripan data koordinat yang dihasilkan dengan posisi tubuh model tidak
sempurna.

Kata Kunci : Motion Capture, Animasi, Database, Kinect.
Abstract – Generally, the making of animation in Indonesia still looked stiff and less real , because making
animation is still done by hand or lock the movement of each frame. Then the result of the animation creation can
only be used on an object that was animated, so that should make the animation again to another object, although
movement will be made the same as the previous movement. To handle the problem, has been built system and an
addons that can assist in making motion animation. The system that will be built functionate to save the information
of human movement in the form of coordinate into database, using the motion capture technique using kinect
hardware. Next, the movement data that have been save will be reproduce by addons, for applying in the chara cter
which will be the animation using help from 3D software, so that the movement data can be apply to some
character for speed up the process of making animation. The result of experiment that has been built is can speed
up the process of making animation than the manual process making (frame by frame), but the result not as good
as with the animation that made manually. The cause was the produce kinect data not consistent or can change
suddenly because there was little change in the limbs and similarity coordinate data generated by the model by
the not perfectly body position.
Keywords: Motion Capture, Animation, Database, Kinect.

1. PENDAHULUAN
Perkembangan teknologi dalam bidang animasi
3D saat ini berkembang pesat, sehingga banyak
dijumpai pada game maupun perfilman. Pada

umumnya pembuatan animasi di Indonesia masih
dilakukan dengan cara mengunci gerakan disetiap
frame, sehingga animasi yang dihasilkan masih
tergolong kaku dan kurang nyata. Masalah lain dalam
pembuatan animasi adalah gerakan yang dihasilkan
tersebut hanya dapat digunakan pada objek yang diberi
animasi saja, sehingga harus membuat animasi lagi

ISSN: 2339 – 2053
Pekanbaru, 7 September 2016

pada karakter lain, meskipun gerakan yang akan dibuat
sama dengan gerakan sebelumnya. Maka dibangunlah
sebuah sistem yang dapat menangkap gerakan yang
dihasilkan oleh model (objek manusia) dengan teknik
motion capture menggunakan perangkat Kinect
sebagai penangkap gerakan. Kinect akan menangkap
gerakan yang berupa titik koordinat dari setiap sendi
objek model dan disimpan ke database. Kemudian
addons berfungsi untuk mengolah data gerakan yang

disimpan tersebutuntuk diterapkan ke karakter animasi
yang diinginkan dengan bantuan software 3D, sehingga
data gerakan tersebut dapat digunakan secara berulang-

286

ulang untuk membuat animasi pada karakter yang
berbeda.
Tujuan dari proyek akhir ini adalah membangun
sistem yang dapat menyimpan banyak data gerakan,
kemudian data gerakan tersebut dapat digunakan kapan
saja untuk diterapkan ke karakter, agar menghasilkan
gerakan animasi yang nyata.
2. LANDASAN TEORI
2.1. Penelitian Terdahulu
Pada penelitian yang berjudul "Rancang Bangun
Sistem Motion Capture dan Motion Database untuk
Robot Humanoid dengan Perangkat Microsoft Kinect
Berbasis Ros (Robot Operating System)" menjelaskan
bahwa, para roboticist selalu berusaha agar robot dapat

memiliki kemampuan seperti manusia sehingga dapat
berinteraksi dengan manusia dengan baik. Sistem robot
yang dibangun menggunakan teknologi motion capture
agar gerak robot menyerupai gerakan manusia. Sistem
tersebut menggunakan masukkan berupa gerakan
tangan, badan, kepala dan kaki yang awalnya disimpan
ke database dahulu, kemudian robot mengambil
gerakan dari database untuk bergerak sesuai dengan
gerakan yang disimpan [4].
Pada penelitian lainnya dengan judul "Perancangan dan
Implementasi Kinect Motion Capture Sensor untuk
Interaksi dan Pembelajaran Tunawicara" menjelaskan
bahwa, tunawicara adalah seseorang yang tidak dapat
berkomunikasi dengan normal. Cara interaksi dengan
tunawicara adalah dengan menggunakan bahasa isyarat
yang dapat menyebabkan sulitnya dalam penyebaran
informasi.Sehingga dirancang suatu sistem yang
menggunakan masukan gerakan tangan yang disimpan
dalam bentuk file *.csv. Sehingga ketika ada pengguna
yang menggunakan sistem ini melakukan isyarat, maka

sistem akan melakukan klasifikasi dengan algoritma kNN. Klasifikasi data tersebut menghitung jarak untuk
menentukan koordinat yang sesuai dan mencari
gerakan isyarat sesuai dengan gerakan yang telah
disimpan sebelumnya [2].
Penelitian berikutnya oleh dengan judul "Penerapan
Microsoft XBOX Kinect Motion Capture Sensor dalam
Adegan Pertarungan untuk Film Animasi 3D
Selamatkan Bumi" menjelaskan bahwa, penerapan
motion capture dalam pembuatan animasi memerlukan
alat khusus yang terbilang mahal dan membutuhkan
studio khusus dalam penggunaannya. Tetapi pada
pertengahan tahun 2009 yang lalu Microsoft
memperkenalkan perangkat Kinect Xbox 360 yang
digunakan sebagai pengganti joystick oleh Microsoft
untuk konsol Xbox 360 saja. Kemudian karena
teknologi ini masih tergolong baru, banyak ilmuan dan
animator 3D profesional yang mencoba untuk
menghubungkan perangkat Kinect ke komputer.

ISSN: 2339 – 2053

Pekanbaru, 7 September 2016

Sehingga dibuat sebuah film animasi yang
menggunakan perangkat Kinect sebagai masukan
gerakan dalam animasi [9]. Pada penelitian ini dapat
disimpulkan bahwa peneliti membangun sistem yang
menggunakan masukan berupa gerakan anggota tubuh
manusia (tangan, kaki, kepala dan badan). Kemudian
masukan tersebut ditangkap oleh perangkat Kinect
untuk mendapatkan titik koordinat sendi anggota tubuh
model (objek manusia) dalam tiap detik untuk disimpan
ke database. Sehingga data gerakan yang telah
tersimpan tersebut, dapat digunakan kembali untuk
diterapkan ke karakter animasi yang diinginkan.
2.2. Motion Capture
Motion capture adalah suatu teknik yang digunakan
untuk mendapatkan informasi data gerakan terhadap
titik tertentu pada subjek dari waktu ke waktu [10].
Untuk menggunakan motion capture, diperlukan
hardware dan software khusus yang harganya menjadi

kendala bagi studio animasi kecil. Motion capture
dapat dilakukan dengan beberapa sensor kamera, salah
satunya berada pada perangkat Kinect [4].
Kinect merupakan sebuah alat yang di keluarkan oleh
Microsoft untuk mendeteksi gerakan tubuh manusia,
gerakan wajah dan merekam suara [4]. Kinect memiliki
SDK
yang
menyediakan
API
(Application
Programming Interface) untuk mempermudah dalam
mengakses seluruh titik sendi yang ada pada tubuh
manusia. Jumlah titik sendi yang dapat diakses adalah
dua puluh titik dan setiap titik sendi sudah diidentifikasi
sesuai dengan nama sendinya [3]. Pada Gambar 1
mempresentasikan seluruh titik sendi tubuh manusia
yang ditangkap oleh perangkat Kinect. Kinect dapat
diakses dengan beberapa bahasa pemrograman yang
dikeluarkan oleh Microsoft, salah satunya bahasa

pemrograman C# [6].

Gambar 1 Titik sendi Kinect

2.3. Animasi
Menurut Utami [11], animasi adalah serangkaian
gambar yang dimulai dengan gambar independen dan
menempatkannya secara bersamaan untuk membentuk
ilusi gerak yang berkelanjutan. Salah satu contoh
animasi dapat dilihat ketika menonton kartun di televisi
atau pembelajaran melalui simulasi.
Simulasi merupakan suatu model atau penyederhanaan
dari situasi, objek, atau kejadian sesungguhnya.
Simulasi juga dapat diterapkan pada sebuah sistem

287

yang akan dibangun untuk mengurangi kemungkinan
kegagalan, menghilangkan kemacetan yang tidak
terduga, mencegah biaya yang berlebihan dan untuk

mengoptimalkan kinerja suatu sistem [7].
Pada penelitian ini akan dibuat simulasi pergerakan
manusia dalam bentuk animasi 3D yang terdiri dari
pergerakan berjalan, berlari dan melompat, karena
pergerakan tersebut merupakan gerakan dasar
lokomotor yang artinya suatu kemampuan yang
digunakan untuk memindahkan tubuh dari suatu tempat
ke tempat lain [5]. Proses pembuatan animasi tersebut
dibutuhkan sebuah software 3D, salah satunya Blender.
Blender adalah software 3D gratis dan open source
yang bisa digunakan untuk modeling, rigging,
animation, simulation, compositing dan motion
tracking , bahkan dapat digunakan untuk melakukan
editing video dan membuat permainan. Blender dapat
berjalan diberbagai sistem operasi seperti Linux,
Windows dan Machintosh. Salah satu kelebihan yang
disediakan oleh Blender adalah kita dapat membuat
animasi menggunakan bahasa pemrograman Python .
Python digunaka untuk mengakses data gerakan yang
telah disimpan di database MySQL, karena menurut

Astuti & Cahyani [1], MySQL adalah salah satu jenis
database server yang sangat terkenal dan banyak
digunakan sebagai media penyimpanan dan
pengelolaan data. MySQL menggunakan SQL
(Structure Query Language) sebagai bahasa dasar yang
digunakan untuk mengakses database, sehingga mudah
digunakan, kinerja query yang cepat, dan mampu
menangani kebutuhan data yang banyak untuk
perusahaan skala menengah. Selain itu juga MySQL
didistribusikan secara gratis, di bawah lisensi GPL
sehingga dapat digunakan cuma-cuma.
3 METODOLOGI
Langkah-langkah dalam pengerjaan dan
penulisanlaporan :
1. Studi Literatur; meliputi pencarian bahanbahan dengan cara mempelajari dan
memahami buku-buku (berbagai referensi)
yang berhubungan dengan pembuatan proyek
akhir.
2. Perancangan
Sistem;

meliputi
(a)
perancangan dan pembuatan flowchart, (b)
Perancangan dan pembuatan program, (c)
Perancangan dan pembuatan antarmuka.
3. Pengujian Sistem; meliputi pengujian data
gerakan, pengujian logika program, dan
pengujian gerakan terhadap animasi manusia.
4. HASIL DAN PEMBAHASAN
4.1. Arsitektur Sistem
Gambar 1 menjelaskan arsitektur sistem ketika
pengguna menggunakan sistem hingga terbentuknya

ISSN: 2339 – 2053
Pekanbaru, 7 September 2016

sebuah animasi. Awalnya model melakukan gerakan di
depan perangkat Kinect, kemudian data gerakan yang
ditangkap oleh Kinect diolah sistem untuk disimpan ke
dalam database MySQL. Kemudian pengguna dapat
menggunakan gerakan dari database tersebut untuk
diaplikasikan ke karakter animasi kapan saja
menggunakan software 3D.
Menyimpan gerakan

Model

Kinect

Aplikasi
Motion

Pengguna
Database

Implementasi gerakan

Pengguna

Animasi

PC +
Software
3D

Gambar 1 Arsitektur Sistem

4.2. Blok Diagram
Gambar 2 menjelaskan alur penggunaan yang dimana
gerakan manusia ditangkap menggunakan perangkat
Kinect. Kemudian informasi gerakan yang ditangkap
oleh Kinect disimpan ke database dalam bentuk nilai
titik koordinat sendi.
Setelah gerakan manusia tersebut disimpan ke
database, data gerakan tersebut dapat digunakan
kembali membuka aplikasi Blender (software 3D)
dahulu, kemudian pengguna mempersiapkan karakter
yang akan dijadikan animasi dan mengubah nama
tulang yang ada pada karakter sesuai dengan ketentuan
sistem. Setelah itu kita dapat menjalankan script Python
untuk menerapkan data gerakan dari database ke
karakter untuk membuat animasi 3D.
Menyimpan gerakan

Model

Kinect

Aplikasi
Motion

Pengguna
Database

Implementasi gerakan

Pengguna

PC +
Software
3D

Animasi

Gambar 2 Blok Diagram

4.3. Use Case Diagram
Gambar 3 menjelaskan alur penggunaan yang dimana
gerakan manusia ditangkap menggunakan perangkat
Kinect. Kemudian informasi gerakan yang ditangkap
oleh Kinect disimpan ke database dalam bentuk nilai
titik koordinat sendi.
Setelah gerakan manusia tersebut disimpan ke
database, data gerakan tersebut dapat digunakan
kembali membuka aplikasi Blender (software 3D)

288

dahulu, kemudian pengguna mempersiapkan karakter
yang akan dijadikan animasi dan mengubah nama
tulang yang ada pada karakter sesuai dengan ketentuan
sistem. Setelah itu kita dapat menjalankan script Python
untuk menerapkan data gerakan dari database ke
karakter untuk membuat animasi 3D.
Melihat Manual

Menyimpan Gerakan

Melihat Daftar Gerakan

Pengguna

Menghapus Gerakan

Penerapan data gerakan ke
karakter

Gambar 3 Use case diagram

4.4. Pengujian Fungsional Sistem
Pada tahap ini akan dilakukan pengujian fungsional
sistem menggunakan metode Blackbox, pengujian
dilakukan terhadap aplikasi penyimpan gerakan dan
script Python yang digunakan untuk menerapkan
gerakan. Berdasarkan hasil pengujian Blackbox yang
dilakukan terhadap sistem, didapatkan hasil bahwa
semua kasus yang diuji pada sistem berjalan sesuai
hasil yang diharapkan, sehingga sistem dapat
digunakan untuk pembuatan animasi.
4.5. Pengujian Waktu Yang Dibutuhkan Dalam
Pembuatan Animasi
Pengujian ini dilakukan untuk membandingkan
kebutuhan waktu dalam proses pembuatan animasi
pada satu karakter dan tiga gerak animasi dengan cara
manual dan sistem. Berdasarkan hasil pengujian yang
telah dilakukan, didapatkan hasil bahwa waktu yang
dibutuhkan dalam pembuatan animasi menggunakan
sistem, lebih sedikit dibandingkan pembuatan animasi
secara manual.
4.6. Pengujian Kesesuaian Gerakan Yang
Dihasilkan Dengan Model
Pengujian ini dilakukan untuk membandingkan
kebutuhan waktu dalam proses pembuatan animasi
pada satu karakter dan tiga gerak animasi dengan cara
manual dan sistem. Berdasarkan hasil pengujian yang
dilakukan, didapatkan hasil bahwa gerakan berjalan
dan berlari yang dilakukan model, sesuai dengan
gerakan animasi yang dihasilkan pada semua karakter.
Namun terdapat beberapa kesalahan pada gerakan
melompat, karena pada gerakan tersebut terdapat
bagian tubuh model yang tertutup atau terhalang,
sehingga posisi sendi skeleton tidak sesuai dengan
gerakan model.
4.7. Pengujian kecepatan gerakan yang dapat
ditangkap dengan membandingkan
banyaknya perpindahan gerakan anggota
tubuh dalam satuan waktu

ISSN: 2339 – 2053
Pekanbaru, 7 September 2016

Pengujian kecepatan gerakan yang dapat ditangkap
oleh Kinect dilakukan dengan membandingkan
gerakan model dalam interval waktu tertentu, dengan
animasi yang dihasilkan secara visual. Interval waktu
yang diuji terdiri dari 1, 0.5 dan 0.25 detik per gerakan.
Berdasarkan hasil pengujian kecepatan gerakan yang
dapat ditangkap oleh Kinect, didapatkan hasil bahwa
kecepatan gerakan yang dilakukan model sesuai
dengan animasi yang dihasilkan. Hasil tersebut
menandakan bahwa gerakan dengan interval waktu
yang kecil (pergerakan paling cepat yang dapat
dilakukan model) dapat ditangkap oleh Kinect.
4.8. Pengujian posisi ideal antara Kinect dengan
model
Pengujian jarak ideal antara Kinect dan model
dilakukan dengan merubah masing–masing jarak,
tinggi, posisi dan arah dari Kinect. Jarak yang diuji
adalah 1 m, 2 m dan 3 m. Tinggi antara Kinect dan
model adalah setara dengan tinggi lutut, pinggang dan
dada model. Posisi antara Kinect dan model adalah kiri,
tengah dan kanan dari model. Kemudian arah Kinect
terhadap model terdiri dari arah lurus dan mengarah ke
model. Berdasarkan hasil percobaan yang dilakukan,
didapat hasil bahwa jarak ideal Kinect agar objek
model terdeteksi adalah pada jarak 2 meter, tinggi
Kinect sejajar dengan pinggang model, berbagai arah
dan posisi. Jarak Kinect juga dapat terdeteksi pada jarak
3 meter dengan berbagai tinggi, arah dan posisi.
4.9. Pengujian delay gerakan model dengan hasil
animasi.
Pengujian delay dilakukan dengan membandingkan
waktu yang digunakan dalam merekam gerakan model
dengan waktu yang dihasilkan dari gerakan animasi.
Pengujian dilakukan dengan membandingkan tiga
gerakan yang dimana setiap gerakan dilakukan
sebanyak 5 kali. Gerakan yang digunakan yaitu gerakan
berjalan, berlari dan melompat. Berdasarkan hasil
pengujian delay yang dilakukan, didapatkan waktu
yang dihasilkan dari animasi kurang dari waktu yang
digunakan model untuk merekam gerakan, sehingga
didapatkan kesimpulan bahwa gerakan model dengan
gerakan hasil animasi memiliki total delay waktu
sebanyak 8.01 %.
4.10. Pengujian kesalahan dalam mendeteksi model.
Pengujian kesalahan dilakukan dengan mengumpulkan
beberapa kesalahan yang terjadi ketika melakukan
penyimpanan gerakan. Berdasarkan hasil pengujian,
terjadi beberapa kesalahan ketika model bergerak di
depan perangkat Kinect, sehingga didapatkan
kesimpulan bahwa posisi skeleton bagian tubuh model
yang tertutup, tidak dapat dideteksi secara akurat oleh
perangkat Kinect.

289

5. KESIMPULAN
Setelah melakukan pengujian dan analisa dapat diambil
kesimpulan bahwa :
1. Sistem ini dapat menyimpan lebih dari satu
gerakan.
2. Kebutuhan waktu yang digunakan dalam
pembuatan animasi menggunakan sistem, relatif
lebih singkat dibandingkan pembuatan animasi
dengan cara manual (frame by frame) apabila
banyak gerakan diterapkan pada satu karakter.
3. Gerakan yang dihasilkan lebih nyata meskipun
ada beberapa anggota tubuh yang tidak sesuai
pergerakannya karena sistem menggunakan skala
(menghitung perbandingan panjang tulang model
dengan
karakter),
sehingga
pada
saat
penyimpanan gerakan apabila terjadi pergeseran
panjang tulang model, maka gerakan yang
dihasilkan tidak sempurna.
4. Posisi ideal Kinect terhadap model dengan
skenario tinggi model 165 cm, untuk
mendapatkan gerakan yang lebih baik adalah pada
jarak 3 meter dan model berada dalam jangkauan
sensor Kinect, kemudian pada jarak 2 meter
dengan syarat tinggi Kinect sejajar dengan
pinggang model.
5. Gerakan yang dapat ditangkap oleh Kinect adalah
gerakan yang kecepatannya tidak melebihi
kecepatan gerak orang normal atau gerakan yang
dilakukan setiap 0.25 detik (gerakan tercepat yang
telah diuji).
6. Perpindahan posisi karakter dapat mengikuti
perpindahan (transformasi) posisi model.

ISSN: 2339 – 2053
Pekanbaru, 7 September 2016

Adapun saran dari proyek akhir ini adalah:
1. Diharapkan pada penelitian selanjutnya dapat
mengolah data gerakan yang lebih cepat dari pada
gerakan yang telah diuji pada penelitian ini.
2. Diharapkan pada penelitian selanjutnya dapat
dikembangkan dengan teknologi yang mampu
mengolah data yang akurat.
DAFTAR REFERENSI
[1] Astuti, Fitri Widy & Cahyani, Resa Putri (2010), Perancangan
Website Sebagai Media Promosi dan Informasi Potensi Desa
Hargobinangun Pake. Yogyakarta: AMIKOM Yogyakarta
[2] Hasahatan, Doddy (2014), Perancangan dan Implementasi
Kinect Motion Capture Sensor untuk Interaksi dan Pembelajaran
Tunawicara. Pekanbaru: Politeknik Caltex Riau
[3] Hasibuan, Imam Hidayat Arifin (2014), Perancangan dan
Implementasi Aplikasi Penerjemah Bahasa Isyarat Menjadi
Suara Berbasis Kinect Menggunakan Metode Dynamic Time
Warping. Bandung: Institut Teknologi Telkom
[4] Indrajit, Wisnu (2012), Rancang Bangun Sistem Motion Capture
dan Database Motion untuk Robot Humanoid dengan Perangkat
Microsoft Kinect Berbasis Ros (Robot Operating System).
Depok: Universitas Indonesia
[5] Krisnayati, Yayang (2012), Pengaruh Permainan Tradisional
Terhadap Kemampuan Gerak Dasar Berlari dan Melompat Anak
Usia 6-8 Tahun. Jawa Barat: Universitas Pendidikan Indonesia
[6] Kurniawan, Agus (2013), Pemrograman C# untuk Pemula.
Depok: Universitas Indonesia
[7] Megawati, Nita (2010), Pengaruh Pembelajaran Matematika
Menggunakan Media CAI (Computer-Assisted Instruction)
dengan Tipe Simulasi Terhadap Motivasi Belajar Matematika
Siswa. Jakarta: Universitas Islam Negeri Syarif Hidayatullah
[8] Saputra, Hasbi Dwinanto (2012), Perkiraan Pose Manusia
Menggunakan 3d Cylindrical Model. Surabaya: ITS
[9] Suryajaya, I Dewa Bagas (2013), Penerapan Microsoft Xbox
Kinect Motion Capture Sensor dalam Adegan Pertarungan untuk
Film Animasi 3D “Selamatkan Bumi”. Yogyakarta: AMIKOM
Yogyakarta
[10] Susianti, Elva (2010), Pengembangan Motion Capture System
Menggunakan Kamera Low Cost. Surabaya: ITS
[11] Utami, Dina (2011), Animasi Dalam Pembelajaran. Yogyakarta:
UNY
[12] www.blender.org/about (t.t). Diambil 19 Agustus 2015.

290