• Tidak ada hasil yang ditemukan

BAB IV IMPLEMENTASI DAN PENGUJIAN

4.2 Pengujian

4.2.3 Pengujian Perbandingan Volume

Pengujian perbandingan volume adalah pengamatan dari nilai volume dari tiap-tiap karakter yang sudah diberikan rigging dengan prinsip squash and stretch. Tiap-tiap karakter akan di-scaling dengan skala diperbesar dan diperkecil, lalu nantinya akan diamati perubahan dari volume tiap-tiap karakter tersebut. Pengujian dilakukan dengan mengamati hasil dari volume akhir dibagi volume akhir dan dibandingkan dengan besar dari perubahan skala.

a. Kacang

Berikut adalah perubahan volume jika skala diperkecil pada karakter kacang

Tabel 13 Perubahan Volume Karakter Kacang Skala Diperkecil

No Perbandingan Skala Volume Awal Volume Akhir V.akhir/V.awal

1 X=0.9 Z=0.1 0.09 91.3383 91.3383 56.7861 0.6217 2 X=0.6 Z=0.3 0.18 55.8643 0.6116 3 X=0.5 Z=0.5 0.25 58.8919 0.6447 4 X=0.7 Z=0.7 0.49 70.9677 0.7769 5 X=0.2 Z=0.7 0.14 54.9075 0.6011

Berikut adalah perubahan volume jika skala diperbesar pada karakter kacang

Tabel 14 Perubahan Volume Karakter Kacang Skala Diperbesar

No Perbandingan Skala Volume Awal Volume Akhir V.akhir/V.awal

1 X=1.1 Z=1.9 2.09 128.6409 1.40 2 X=1.3 Z=1.7 130.621 1.43

3 X=1.5 Z=1.5 2.25 131.3871 1.43 4 X=1.7 Z=1.3 2.21 130.956 1.43 5 X=1.9 Z=1.1 2.09 129.2562 1.41

Untuk tampilan grafik antara skala diperkecil dan diperbesar pada karakter kacang bisa dilihat pada gambar 28 dibawah ini

Gambar 28 Grafik Perbandingan Skala dengan Perubahan Volume pada

Karakter Kacang (Sumber: dok. Pribadi)

b. Kapur

Berikut adalah perubahan volume jika skala diperkecil pada karakter kapur

Tabel 15 Perubahan Volume Karakter Kapur Skala Diperkecil

No Perbandingan Skala Volume Awal Volume Akhir V.akhir/V.awal

1 X=0.1 Z=0.1 0.01 38.9218 38.9218 20.7759 0.5337 2 X=0.8 Z=0.8 0.64 34.23 0.8794 3 X=0.5 Z=0.5 0.25 27.8988 0.7167 4 X=0.4 Z=0.6 0.24 27.8248 0.7148 5 X=0.2 Z=0.8 0.16 27.3858 0.7036

Berikut adalah perubahan volume jika skala diperbesar pada karakter kapur

Tabel 16 Perubahan Volume Karakter Kapur Skala Diperbesar

No Perbandingan Skala Volume Awal Volume Akhir V.akhir/V.awal

1 X=1.1 Z=1.9 2.09 51.4271 1.3212 2 X=1.3 Z=1.7 2.21 52.0518 1.3373

Z=1.5 2.25 38.9218 4 X=1.7 Z=1.3 2.21 52.0521 1.3373 5 X=1.9 Z=1.1 2.09 51.4273 1.3212

Untuk tampilan grafik antara skala diperkecil dan diperbesar pada karakter kapur bisa dilihat pada gambar 29 dibawah ini

Gambar 29 Grafik Perbandingan Skala dengan Perubahan Volume pada Karakter Kapur

(Sumber: dok. Pribadi)

c. Paku

Tabel 17 Perubahan Volume Karakter Paku Skala Diperkecil

No Perbandingan Skala Volume Awal Volume Akhir V.akhir/V.awal

1 X=0.1 Z=0.1 0.01 10.3222 10.3222 8.5147 0.8248 2 X=0.9 Z=0.3 0.27 9.4216 0.9127 3 X=0.5 Z=0.5 0.25 9.2555 0.8966 4 X=0.2 Z=0.7 0.14 9.1324 0.8847 5 X=0.9 Z=0.8 0.72 9.9838 0.9672

Berikut adalah perubahan volume jika skala diperbesar pada karakter paku

Tabel 18 Perubahan Volume Karakter Paku Skala Diperbesar

No Perbandingan Skala Volume Awal Volume Akhir V.akhir/V.awal

1 X=1.3 Z=1.3 1.69 10.3222 11.0372 1.0692 2 X=1.9 Z=1.2 2.28 11.629 1.1266 3 X=1.5 Z=1.5 2.25 11.5451 1.1184 4 X=1.2 Z=1.7 11.3903 1.1034

2.04

5 X=1.9

Z=1.8

3.42

12.4921 1.2102

Untuk tampilan grafik antara skala diperkecil dan diperbesar pada karakter paku bisa dilihat pada gambar 30 dibawah ini

Gambar 30 Grafik Perbandingan Skala dengan Perubahan Volume pada Karakter Paku

(Sumber: dok. Pribadi)

d. Cangkul

Berikut adalah perubahan volume jika skala diperkecil pada karakter cangkul

Tabel 19 Perubahan Volume Karakter Cangkul Skala Diperkecil

No Perbandingan Skala Volume Awal Volume Akhir V.akhir/V.awal

1 X=0.1 Z=0.1 0.01 1.1193 1.1193 0.6143 0.5488 2 X=0.5 Z=0.3 0.15 0.7568 0.6761 3 X=0.5 Z=0.5 0.25 0.8113 0.7248 4 X=0.4 Z=0.9 0.36 0.8877 0.7930 5 X=0.9 Z=0.9 0.81 1.0521 0.9399

Berikut adalah perubahan volume jika skala diperbesar pada karakter cangkul

Tabel 20 Perubahan Volume Karakter Cangkul Skala Diperbesar

No Perbandingan Skala Volume Awal Volume Akhir V.akhir/V.awal

1 X=1.2 Z=1.2 1.44 1.1193 1.2616 1.1271 2 X=1.9 Z=1.5 2.85 1.6599 1.4829 3 X=1.5 Z=1.5 2.25 1.4955 1.3361 4 X=1.4 Z=1.8 1.5731 1.4054

5 X=1.9 Z=1.9

3.61

1.8457 1.6489

Untuk tampilan grafik antara skala diperkecil dan diperbesar pada karakter cangkul bisa dilihat pada gambar 31 dibawah ini

Gambar 31 Grafik Perbandingan Skala dengan Perubahan Volume pada Karakter Cangkul

(Sumber: dok. Pribadi)

Dari hasil perubahan volume dengan mengubah skala dengan cara diperbesar maupun diperkecil dari keempat karakter yang telah diberi rigging dengan prinsip squash and stretch tersebut, setelah diamati bahwa setiap karakter jika volume diperbesar dan diperkecil, hasil dari perubahan volume tersebut tidak selalu sama dibandingkan dengan skala yang dilakukan.

Jika skala diperkecil maka hasil dari perubahan volume selalu lebih besar, akan tetapi jika skala diperbesar akan terjadi kebalikannya, hasil perubahan volume selalu lebih kecil dibandingkan dengan skala yang diperbesar. Bisa dilihat pada setiap grafik yang ada pada setiap karakter, bahwa semua hasil perubahan volume selalu berada diantara perubahan skala pada karakter.

Dengan begitu, dapat diambil kesimpulan bahwa setiap karakter/objek yang di-bending/di-scaling maka nilai volume selalu tidak sesuai dengan nilai dari perubahan scaling. Ini menandakan bahwa mesh dari sebuah objek selalu mempertahankan volumenya walaupun terjadi perubahan scaling.

BAB V

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Berdasarkan hasil analisa dari beberapa pengujian yang dilakukan dan diimplementasikan, terdapat beberapa kesimpulan yaitu:

a. Penggunaan MEL script dapat mempercepat proses pengerjaan rigging dengan prinsip squash and stretch sebanyak 44 kali lebih cepat dibandingkan dengan tidak menggunakan MEL script atau bisa dibilang memiliki rasio kecepatan 44:1

b. Kekurangan dari metode MEL script ini adalah diperlukan sumber daya manusianya yang harus memahami bahasa dari program Autodesk Maya ini yaitu MEL (Maya Embedded Language), agar script yang dibuat dapat berfungsi dengan baik

c. Berdasarkan analisa dari pengamatan selisih dari titik controller yang ada pada setiap karakter yang telah dikerjakan, selalu terdapat selisih pada setiap sumbu, yaitu sumbu X, Y dan Z dari controller yang ada pada semua karakter. Dengan kata lain, penerapan metode MEL script sudah cukup baik untuk mendekati hasil pengerjaan yang menjaga kestabilan dari karakter dengan prinsip squash and stretch

d. Berdasarkan pengujian dan pengamatan kestabilan karakter, terdapat 1 karakter yang menggunakan pengerjaan tanpa MEL yang terjadi error yaitu kesalahan pada salah satu binding pada karakter. Dapat diambil kesimpulan bahwa penerapan metode MEL script sudah cukup baik dibandingkan tanpa menggunakan MEL script untuk membuat karakter menjadi lebih stabil dan mengurangi kesalahan yang dapat terjadi.

e. Berdasarkan analisa perubahan volume, didapatkan kesimpulan bahwa perubahan volume selalu tidak sesuai dengan nilai scaling pada karakter/objek. Karena mesh dari suatu objek memiliki sifat untuk mempertahankan volume nya.

Dari beberapa kesimpulan diatas, dapat diambil kesimpulan bahwa metode penggunaan MEL script dapat diimplementasikan pada karakter di film animasi 3D Jati Diri si Kacang sangat membantu dalam proses pengerjaan animasi menjadi lebih efektif, menjaga kestabilan karakter hingga mengurangi tingkat human error yang dapat terjadi.

5.2 Saran

Sebagai langkah pengembangan nantinya, saran yang dapat diberikan untuk penelitian selanjutnya adalah meneliti lebih dalam lagi Bahasa MEL script di Autodesk Maya sehingga MEL script tidak hanya bisa digunakan untuk rigging dengan prinsip squash dan stretch saja, bisa dikembangkan ke dalam rigging dalam bentuk manusia dan juga mengambil aspek lain seperti modelling, texturing, dan lain-lain.

DAFTAR PUSTAKA

Gunawan, Bami Bambang. 2012. Nganimasi bersama Mas Be!. PT. Elex Media Komputindo: Jakarta

Keller, Erik. 2009. Mastering Maya 2009. Wiley Publishing

Palamar, Todd, dkk. 2012. Mastering Autodesk Maya 2013. Syblex : USA.

Pramudia, Rangga. 2016. Analisis Dan Implementasi Mel Script Untuk Lighting Dan Rendering Pada Film Animasi 3d Robocube. Tugas Akhir Teknik Multimedia dan Jaringan Politeknik Negeri Batam

Prayudi, Yudi dan Iwan Aprizal. 2004. Pemodelan Wajah 3d Berbasis Foto Diri Menggunakan Maya Embedded Language (Mel) Script. Jurnal Media Informatika, Vol. 2, No. 2, Desember 2004, 33-45.

Ramonda, Febrian, dkk. 2016. Perancangan Film Animasi 3D Jati Diri si Kacang. Proyek Akhir 3. Teknik Multimedia dan Jaringan Politeknik Negeri Batam Villani, Nicoletta Adamo dan Gerardo Beni. 2004. Automated finger spelling by

highly realistic 3D animation. British Journal of Educational Technology, Vol 35 No 3, 2004, 345–36

Autodesk. 2013. Maya Overview : Comprehensive 3D animation software. http://www.autodesk.com/products/maya/overview (diakses pada 15 Mei 2017)

Autodesk. 2016. Maya User Guide : Cluster Deformers.

https://knowledge.autodesk.com/support/maya/learn-

explore/caas/CloudHelp/cloudhelp/2016/ENU/Maya/files/GUID-B7C96FEA-C415-4927-8E02-396F0E837DE2-htm.html (diakses pada 15 Mei 2017)

Maya Academy of Advanced Cinematics. 2015. 2D & 3D Animation. http://www.maacindia.com/blog/index.php/2d-vs-3d-animation/ (diakses pada 1 September 2016)

Titan Media Internusa. 2007. Animasi. http://mediainternusa.com/animasi/ (diakses pada 10 April 2017).

Top Ten Reviews. 2011. Autodesk Maya 2014 Review. http://3d-animationsoftware-review.toptenreviews.com/autodesk-maya-review.html (diakses pada 10 April 2017)

Source Code MEL Script untuk Rigging dengan Prinsip Squash and Stretch

proc kacang_squash() {

//create lattice

select -r BADAN_KACANG ;

lattice -divisions 2 3 2 -objectCentered true ;

//create cluster

select -r ffd1Lattice.pt[0:1][1][0] ffd1Lattice.pt[0:1][1][1] ; newCluster " -envelope 1"; //create joint select -d; joint -p -2.570616 9.4831 3.214888 ; setAttr "joint1.radius" 0.1; select -d; joint -p 2.570616 9.4831 3.214888 ; setAttr "joint2.radius" 0.1; select -d; joint -p 2.570616 10.342767 -1.047794 ; setAttr "joint3.radius" 0.1; select -d; joint -p -2.570616 10.342767 -1.047794 ; setAttr "joint4.radius" 0.1; select -d; joint -p -2.570616 1.239668 -2.883641 ; setAttr "joint5.radius" 0.1; select -d; joint -p 2.570616 1.239668 -2.883641 ; setAttr "joint6.radius" 0.1; select -d; joint -p 2.570616 0.380001 1.379041 ;

select -d;

joint -p -2.570616 0.380001 1.379041 ; setAttr "joint8.radius" 0.1;

//SmoothBindSkin

select -r ffd1Lattice.pt[0][2][1] joint1 ; SmoothBindSkin;

select -r ffd1Lattice.pt[1][2][1] joint2 ; SmoothBindSkin;

select -tgl ffd1Lattice.pt[1][2][0] joint3 ; SmoothBindSkin;

select -r ffd1Lattice.pt[0][2][0] joint4 ; SmoothBindSkin;

select -r ffd1Lattice.pt[0][0][0] joint5 ; SmoothBindSkin;

select -tgl ffd1Lattice.pt[1][0][0] joint6 ; SmoothBindSkin;

select -r ffd1Lattice.pt[1][0][1] joint7 ; SmoothBindSkin;

select -r ffd1Lattice.pt[0][0][1] joint8 ; SmoothBindSkin; //create controller circle -ch on -o on -nr 0 1 0 -r 0.45609 ; move -rpr -2.570616 9.4831 3.214888 ; duplicate -rr; move -rpr 2.570616 9.4831 3.214888 ; duplicate -rr;

move -rpr 2.570616 10.342767 -1.047794 ; duplicate -rr; move -rpr -2.570616 10.342767 -1.047794 ; duplicate -rr; move -rpr -2.570616 1.239668 -2.883641 ; duplicate -rr; move -rpr 2.570616 1.239668 -2.883641 ; duplicate -rr; move -rpr 2.570616 0.380001 1.379041 ; duplicate -rr; move -rpr -2.570616 0.380001 1.379041 ;

//parent joint ke controller select -r joint1 nurbsCircle1 ; parent;

select -r joint2 nurbsCircle2 ; parent;

select -r joint3 nurbsCircle3 ; parent;

select -r joint4 nurbsCircle4 ; parent;

select -r joint5 nurbsCircle5 ; parent;

select -r joint6 nurbsCircle6 ; parent;

parent;

select -r joint8 nurbsCircle8 ; parent;

//create controller atas dan bawah

circle -ch on -o on -nr 0 1 0 -r 3.731697 ; setAttr "nurbsCircle9.translateX" 0.07; setAttr "nurbsCircle9.translateY" 9.986; setAttr "nurbsCircle9.translateZ" 1.154; setAttr "nurbsCircle9.rotateX" 9.823; select -r nurbsCircle9 ; duplicate -rr; setAttr "nurbsCircle10.translateY" 0.766; setAttr "nurbsCircle10.translateZ" -0.669;

//parent tiap-tiap controller dengan main controller atas dan bawah

select -r nurbsCircle1 nurbsCircle2 nurbsCircle3 nurbsCircle4 nurbsCircle9 ; parent;

select -r nurbsCircle5 nurbsCircle6 nurbsCircle7 nurbsCircle8 nurbsCircle10 ; parent;

//create distanceDimension

distanceDimension -sp -2.570616 0.380001 1.379041 -ep -2.570616 9.4831 3.214888 ;

//parent locator ke controller select -r locator2 nurbsCircle9 ; parent;

select -r locator1 nurbsCircle10 ; parent;

//create expression

expression -s "cluster1Handle.scaleX =

9.286374/distanceDimensionShape1.distance;\ncluster1Handle.scaleZ =

9.286374/distanceDimensionShape1.distance;" -o cluster1Handle -ae 1 -uc all ;

select -r BADAN_KACANG ;

createDisplayLayer -name "layer1" -number 1 -nr;

select -r nurbsCircle9 cluster1Handle ;

doCreateParentConstraintArgList 1 { "1","0","0","0","0","0","0","1","","1" }; parentConstraint -mo -weight 1;

select -r nurbsCircle10 cluster1Handle ;

doCreateParentConstraintArgList 1 { "1","0","0","0","0","0","0","1","","1" }; parentConstraint -mo -weight 1;

//create controller kacang

circle -ch on -o on -nr 0 1 0 -r 5.71938 ; group cluster1Handle;

select BADAN_KACANG ffd1Base group1 nurbsCircle9 nurbsCircle10 nurbsCircle11; parent;

select -r nurbsCircle11 ;

rename "nurbsCircle11" "CNTRL_KACANG";

select -r nurbsCircle9 ;

rename "nurbsCircle9" "CNTRL_UP";

select -r nurbsCircle10 ;

rename "nurbsCircle10" "CNTRL_DOWN"; }

proc kapur_squash() {

//create lattice

select -r BADAN_KAPUR ;

//create cluster

select -r ffd1Lattice.pt[0:1][1][0] ffd1Lattice.pt[0:1][1][1] ; newCluster "-envelope 1"; //create joint select -d; joint -p 2.025325 9.968448 -1.448438 ; setAttr "joint1.radius" 0.1; select -d; joint -p 2.025325 9.968448 0.811875 ; setAttr "joint2.radius" 0.1; select -d; joint -p -0.364681 9.968448 0.811875 ; setAttr "joint3.radius" 0.1; select -d; joint -p -0.364681 9.968448 -1.448438 ; setAttr "joint4.radius" 0.1; select -d; joint -p 2.025325 0.0454148 -1.448438 ; setAttr "joint5.radius" 0.1; select -d; joint -p 2.025325 0.0454148 0.811875 ; setAttr "joint6.radius" 0.1; select -d; joint -p -0.364681 0.0454148 0.811875 ; setAttr "joint7.radius" 0.1; select -d; joint -p -0.364681 0.0454148 -1.448438 ; setAttr "joint8.radius" 0.1; //SmoothBindSkin

select -r ffd1Lattice.pt[1][2][0] joint1 ; SmoothBindSkin;

select -r ffd1Lattice.pt[1][2][1] joint2 ; SmoothBindSkin;

select -r ffd1Lattice.pt[0][2][1] joint3 ; SmoothBindSkin;

select -r ffd1Lattice.pt[0][2][0] joint4 ; SmoothBindSkin;

select -r ffd1Lattice.pt[1][0][0] joint5 ; SmoothBindSkin;

select -r ffd1Lattice.pt[1][0][1] joint6 ; SmoothBindSkin;

select -r ffd1Lattice.pt[0][0][1] joint7 ; SmoothBindSkin;

select -r ffd1Lattice.pt[0][0][0] joint8 ; SmoothBindSkin; //create controller circle -ch on -o on -nr 0 1 0 -r 0.45609 ; move -rpr 2.025325 9.968448 -1.448438 ; duplicate -rr; move -rpr 2.025325 9.968448 0.811875 ; duplicate -rr; move -rpr -0.364681 9.968448 0.811875 ; duplicate -rr; move -rpr -0.364681 9.968448 -1.448438 ;

duplicate -rr; move -rpr 2.025325 0.0454148 -1.448438 ; duplicate -rr; move -rpr 2.025325 0.0454148 0.811875 ; duplicate -rr; move -rpr -0.364681 0.0454148 0.811875 ; duplicate -rr; move -rpr -0.364681 0.0454148 -1.448438;

//parent joint ke controller select -r joint1 nurbsCircle1 ; parent;

select -r joint2 nurbsCircle2 ; parent;

select -r joint3 nurbsCircle3 ; parent;

select -r joint4 nurbsCircle4 ; parent;

select -r joint5 nurbsCircle5 ; parent;

select -r joint6 nurbsCircle6 ; parent;

select -r joint7 nurbsCircle7 ; parent;

select -r joint8 nurbsCircle8 ; parent;

//create controller atas dan bawah

circle -ch on -o on -nr 0 1 0 -r 1.84249 ; setAttr "nurbsCircle9.translateX" 0.814; setAttr "nurbsCircle9.translateY" 9.988;

setAttr "nurbsCircle9.translateZ" -0.398;

duplicate -rr;

setAttr "nurbsCircle10.translateY" 0;

//parent tiap-tiap controller dengan main controller atas dan bawah

select -r nurbsCircle1 nurbsCircle2 nurbsCircle3 nurbsCircle4 nurbsCircle9 ; parent;

select -r nurbsCircle5 nurbsCircle6 nurbsCircle7 nurbsCircle8 nurbsCircle10 ; parent;

//create distanceDimension

distanceDimension sp 0.364681 0.0454148 1.448438 ep 0.364681 9.968448 -1.448438 ;

//parent locator ke controller select -r locator2 nurbsCircle9 ; parent;

select -r locator1 nurbsCircle10 ; parent;

//create expression

select -r cluster1Handle ;

expression -s "cluster1Handle.scaleX =

9.923033/distanceDimensionShape1.distance;\ncluster1Handle.scaleZ =

9.923033/distanceDimensionShape1.distance;" -o cluster1Handle -ae 1 -uc all ;

select -r BADAN_KAPUR ;

createDisplayLayer -name "layer1" -number 1 -nr;

select -r nurbsCircle9 cluster1Handle ;

doCreateParentConstraintArgList 1 { "1","0","0","0","0","0","0","1","","1" }; parentConstraint -mo -weight 1;

doCreateParentConstraintArgList 1 { "1","0","0","0","0","0","0","1","","1" }; parentConstraint -mo -weight 1;

//create controller kacang

circle -ch on -o on -nr 0 1 0 -r 2.989227 ; setAttr "nurbsCircle11.translateX" 0.8; setAttr "nurbsCircle11.translateZ" -0.4; group cluster1Handle;

select BADAN_KAPUR ffd1Base group1 nurbsCircle9 nurbsCircle10 nurbsCircle11; parent;

select -r nurbsCircle11 ;

rename "nurbsCircle11" "CNTRL_KAPUR";

select -r nurbsCircle9 ;

rename "nurbsCircle9" "CNTRL_UP";

select -r nurbsCircle10 ;

rename "nurbsCircle10" "CNTRL_DOWN"; }

proc cangkul_squash() {

//create lattice

select -r BADAN_CANGKUL ;

lattice -divisions 2 3 2 -objectCentered true ;

//create cluster

select -r ffd1Lattice.pt[0:1][1][0] ffd1Lattice.pt[0:1][1][1] ; newCluster " -envelope 1"; //create joint select -d; joint -p -0.823434 4.20559 -0.316544 ; setAttr "joint1.radius" 0.1; select -d; joint -p 0.811391 4.20559 -0.316544 ; setAttr "joint2.radius" 0.1;

select -d; joint -p 0.811391 4.20559 2.088017 ; setAttr "joint3.radius" 0.1; select -d; joint -p -0.823434 4.20559 2.088017 ; setAttr "joint4.radius" 0.1; select -d; joint -p -0.823434 0.225305 -0.316544 ; setAttr "joint5.radius" 0.1; select -d; joint -p 0.811391 0.225305 -0.316544 ; setAttr "joint6.radius" 0.1; select -d; joint -p 0.811391 0.225305 2.088017 ; setAttr "joint7.radius" 0.1; select -d; joint -p -0.823434 0.225305 2.088017 ; setAttr "joint8.radius" 0.1; //SmoothBindSkin

select -r ffd1Lattice.pt[0][2][0] joint1 ; SmoothBindSkin;

select -r ffd1Lattice.pt[1][2][0] joint2 ; SmoothBindSkin;

select -r ffd1Lattice.pt[1][2][1] joint3 ; SmoothBindSkin;

select -r ffd1Lattice.pt[0][2][1] joint4 ; SmoothBindSkin;

SmoothBindSkin;

select -tgl ffd1Lattice.pt[1][0][0] joint6 ; SmoothBindSkin;

select -r ffd1Lattice.pt[1][0][1] joint7 ; SmoothBindSkin;

select -r ffd1Lattice.pt[0][0][1] joint8 ; SmoothBindSkin; //create controller circle -ch on -o on -nr 0 1 0 -r 0.147497 ; move -rpr -0.823434 4.20559 -0.316544; duplicate -rr; move -rpr 0.811391 4.20559 -0.316544; duplicate -rr; move -rpr 0.811391 4.20559 2.088017; duplicate -rr; move -rpr -0.823434 4.20559 2.088017; select -r nurbsCircle4 ; duplicate -rr; move -rpr -0.823434 0.225305 -0.316544; duplicate -rr; move -rpr 0.811391 0.225305 -0.316544; duplicate -rr; move -rpr 0.811391 0.225305 2.088017; duplicate -rr;

move -rpr -0.823434 0.225305 2.088017;

//parent joint ke controller select -r joint1 nurbsCircle1 ; parent;

select -r joint2 nurbsCircle2 ; parent;

select -r joint3 nurbsCircle3 ; parent;

select -r joint4 nurbsCircle4 ; parent;

select -r joint5 nurbsCircle5 ; parent;

select -r joint6 nurbsCircle6 ; parent;

select -r joint7 nurbsCircle7 ; parent;

select -r joint8 nurbsCircle8 ; parent;

//create controller atas dan bawah

circle -ch on -o on -nr 0 1 0 -r 1.523897 ; setAttr "nurbsCircle9.translateX" -0.015; setAttr "nurbsCircle9.translateY" 4.216; setAttr "nurbsCircle9.translateZ" 0.84; duplicate -rr; setAttr "nurbsCircle10.translateY" 0.252;

//parent tiap-tiap controller dengan main controller atas dan bawah

parent;

select -r nurbsCircle5 nurbsCircle6 nurbsCircle7 nurbsCircle8 nurbsCircle10 ; parent;

//create distanceDimension

distanceDimension sp 0.823434 0.225305 0.316544 ep 0.823434 4.20559 -0.316544 ;

//parent locator ke controller select -r locator2 nurbsCircle9 ; parent;

select -r locator1 nurbsCircle10 ; parent;

//create expression

select -r cluster1Handle ;

expression -s "cluster1Handle.scaleX =

3.980285/distanceDimensionShape1.distance;\ncluster1Handle.scaleZ =

3.980258/distanceDimensionShape1.distance;" -o cluster1Handle -ae 1 -uc all ;

select -r BADAN_CANGKUL ;

createDisplayLayer -name "layer1" -number 1 -nr;

select -r nurbsCircle9 cluster1Handle ;

doCreateParentConstraintArgList 1 { "1","0","0","0","0","0","0","1","","1" }; parentConstraint -mo -weight 1;

select -r nurbsCircle10 cluster1Handle ;

doCreateParentConstraintArgList 1 { "1","0","0","0","0","0","0","1","","1" }; parentConstraint -mo -weight 1;

//create controller kacang

circle -ch on -o on -nr 0 1 0 -r 2.380477 ; group cluster1Handle;

parent;

select -r nurbsCircle11 ;

rename "nurbsCircle11" "CNTRL_Cangkul";

select -r nurbsCircle9 ;

rename "nurbsCircle9" "CNTRL_UP";

select -r nurbsCircle10 ;

rename "nurbsCircle10" "CNTRL_DOWN"; }

proc paku_squash() {

//create lattice select -r BADAN_PAKU ;

lattice -divisions 2 3 2 -objectCentered true ;

//create cluster

select -r ffd1Lattice.pt[0:1][1][0] ffd1Lattice.pt[0:1][1][1] ; newCluster " -envelope 1"; //create joint select -d; joint -p 2.52853 7.559539 2.602002 ; setAttr "joint1.radius" 0.1; select -d; joint -p -2.647989 7.559539 2.602002 ; setAttr "joint2.radius" 0.1; select -d; joint -p -2.647989 7.559539 -2.574516 ; setAttr "joint3.radius" 0.1; select -d; joint -p 2.52853 7.559539 -2.574516 ; setAttr "joint4.radius" 0.1;

joint -p 2.52853 -0.194395 2.602002 ; setAttr "joint5.radius" 0.1; select -d; joint -p -2.647989 -0.194395 2.602002 ; setAttr "joint6.radius" 0.1; select -d; joint -p -2.647989 -0.194395 -2.574516 ; setAttr "joint7.radius" 0.1; select -d; joint -p 2.52853 -0.194395 -2.574516 ; setAttr "joint8.radius" 0.1; //SmoothBindSkin

select -r ffd1Lattice.pt[1][2][1] joint1 ; SmoothBindSkin;

select -r ffd1Lattice.pt[0][2][1] joint2 ; SmoothBindSkin;

select -r ffd1Lattice.pt[0][2][0] joint3 ; SmoothBindSkin;

select -r ffd1Lattice.pt[1][2][0] joint4 ; SmoothBindSkin;

select -r ffd1Lattice.pt[1][0][1] joint5 ; SmoothBindSkin;

select -r ffd1Lattice.pt[0][0][1] joint6 ; SmoothBindSkin;

select -r ffd1Lattice.pt[0][0][0] joint7 ; SmoothBindSkin;

select -r ffd1Lattice.pt[1][0][0] joint8 ; SmoothBindSkin;

//create controller circle -ch on -o on -nr 0 1 0 -r 0.339442 ; move -rpr 2.52853 7.559539 2.602002; duplicate -rr; move -rpr -2.647989 7.559539 2.602002; duplicate -rr; move -rpr -2.647989 7.559539 -2.574516; duplicate -rr; move -rpr 2.52853 7.559539 -2.574516; duplicate -rr; move -rpr 2.52853 -0.194395 2.602002; duplicate -rr; move -rpr -2.647989 -0.194395 2.602002; duplicate -rr; move -rpr -2.647989 -0.194395 -2.574516; duplicate -rr; move -rpr 2.52853 -0.194395 -2.574516;

//parent joint ke controller select -r joint1 nurbsCircle1 ; parent;

select -r joint2 nurbsCircle2 ; parent;

select -r joint3 nurbsCircle3 ; parent;

select -r joint4 nurbsCircle4 ; parent;

select -r joint5 nurbsCircle5 ; parent;

select -r joint6 nurbsCircle6 ; parent;

select -r joint7 nurbsCircle7 ; parent;

select -r joint8 nurbsCircle8 ; parent;

//create controller atas dan bawah

circle -ch on -o on -nr 0 1 0 -r 3.700452 ; setAttr "nurbsCircle9.translateX" -0.05; setAttr "nurbsCircle9.translateY" 7.569; setAttr "nurbsCircle9.translateZ" -0.037; duplicate -rr; setAttr "nurbsCircle10.translateY" -0.177;

//parent tiap-tiap controller dengan main controller atas dan bawah

select -r nurbsCircle1 nurbsCircle2 nurbsCircle3 nurbsCircle4 nurbsCircle9 ; parent;

select -r nurbsCircle5 nurbsCircle6 nurbsCircle7 nurbsCircle8 nurbsCircle10 ; parent;

//create distanceDimension

distanceDimension -sp 2.52853 -0.194395 -2.574516 -ep 2.52853 7.559539 -2.574516 ;

//parent locator ke controller select -r locator2 nurbsCircle9 ; parent;

select -r locator1 nurbsCircle10 ; parent; //create expression select -r cluster1Handle ; expression -s "cluster1Handle.scaleX = 7.753934/distanceDimensionShape1.distance;\ncluster1Handle.scaleZ =

7.753934/distanceDimensionShape1.distance;" -o cluster1Handle -ae 1 -uc all ;

select -r BADAN_PAKU ;

createDisplayLayer -name "layer1" -number 1 -nr;

select -r nurbsCircle9 cluster1Handle ;

doCreateParentConstraintArgList 1 { "1","0","0","0","0","0","0","1","","1" }; parentConstraint -mo -weight 1;

select -r nurbsCircle10 cluster1Handle ;

doCreateParentConstraintArgList 1 { "1","0","0","0","0","0","0","1","","1" }; parentConstraint -mo -weight 1;

//create controller paku

circle -ch on -o on -nr 0 1 0 -r 5.281281 ; group cluster1Handle;

select BADAN_PAKU ffd1Base group1 nurbsCircle9 nurbsCircle10 nurbsCircle11; parent;

select -r nurbsCircle11 ;

rename "nurbsCircle11" "CNTRL_PAKU";

select -r nurbsCircle9 ;

rename "nurbsCircle9" "CNTRL_UP";

select -r nurbsCircle10 ;

rename "nurbsCircle10" "CNTRL_DOWN"; }

//GUI layout

window -title "Squash and Stretch" -widthHeight 324 350 -s false -tlb false RigWindow;

columnLayout adj false columnAttach "both" 8 rowSpacing 0 columnWidth 320 -height 350 -cal "center";

separator -w 240 -h 15;

text -l "Squash Rigging For Jati Diri si Kacang" -ww true -rs true -fn "boldLabelFont";

separator -w 240 -h 15;

//frame

frameLayout -label "Karakter For Squash" -fn "boldLabelFont" -bs "out";

columnLayout adj true columnAttach "both" 10 rowSpacing 4 columnWidth 320 -height 150 -cal "center";

gridLayout -numberOfColumns 1 -cellWidthHeight 280 35;

button -label "KACANG" -height 35 -command "kacang_squash" btn1; setParent ..;

gridLayout -numberOfColumns 1 -cellWidthHeight 280 35;

button -label "KAPUR" -height 35 -command "kapur_squash" btn2; setParent ..;

gridLayout -numberOfColumns 1 -cellWidthHeight 280 35;

button -label "CANGKUL" -height 35 -command "cangkul_squash" btn3; setParent ..;

gridLayout -numberOfColumns 1 -cellWidthHeight 280 35; button -label "PAKU" -height 35 -command "paku_squash" btn4; setParent ..;

separator -w 240 -h 15; showWindow RigWindow;

BIODATA PENULIS

Penulis diharikan di Batam, pada tanggal 14 Februari 1994, merupakan anak kedua dari 4 bersaudara. Penulis telah menempuh Pendidikan formal di TK Baitul Maghfirah, SDN 002 Batu Aji, SMPN 11 Batam, kemudian melanjutkan ke SMKN 4 Batam. Setelah lulus dari SMK, penulis memilih melanjutkan kuliah D4 dan diterima di Teknik Multimedia dan Jaringan, Politeknik Negeri Batam, pada tahun 2013 dan terdaftar dengan NIM 4311301047. Di Teknik Multimedia dan Jaringan, penulis memfokuskan diri di bidang desain grafis dan animasi. Pada bangku kuliah penulis aktif sebagai anggota di divisi pendidikan di Himpunan Mahasiswa Teknik Informatika (HMTI) tahun 2014 - 2015 dan anggota English Class di Polibatam English Club tahun 2014. Penulis juga mengikuti kegiatan organisasi di luar kampus dan menjabat sebagai anggota Pendidikan di Forum Mahasiswa Informatika se-Batam tahun 2015.

Dokumen terkait