Oleh: Devie Rosa Anamisa, S.Kom BAB IV Animasi Oleh: Devie Rosa Anamisa, S.Kom
Pendahuluan Dapat membuat shape untuk berpindah, berputar, berubah ukuran, berkilau. Yang dibutuhkan : atribut time urutan event interaksi yang baik
Animation Circuit Hampir setiap node dapat dijadikan sebagai komponen dalam sebuah animation circuit Node dapat mengirimkan dan menerima beberapa event Mengikat setiap route untuk koneksi dengan nodenya Untuk mengatur animation circuit maka dibutuhkan: Penamaan node jika mengirimkan event DEF Penamaan node jika menerima event DEF Menggunakan ROUTE untuk koneksi dengan node-node tersebut
Setiap node mempunyai field, input dan output. field : menyimpan nilai eventIn : sebuah input eventOut : sebuah output Contoh input: Transform : set_translation, set_rotation, set_scale Material : set_diffuseColor, set_emissiveColor, set_tranparency Contoh Output : OrientationInterpolator dengan node outputnya : value_changed PositionInterpolator dengan node outputnya : value_changed
Event Setiap event adalah sebuah pesan yang dikirim diantara node : Nilai sebuah data (seperti sebuah translation) Waktu ( ketika event dikirim) Contoh: Untuk memutarkan benda maka koneksi sebuah node nya telah mengirimkan event rotasi ke sebuah transform dengan atribut rotasi. Untuk mengkilaukan benda maka koneksi sebuah node nya telah mengirimkan warna untuk material dengan atribut diffusecolor.
ROUTE Statement ROUTE menghubungkan dua node menggunakan : Syntax : Nama pengirim dan nama eventOut. Nama penerima dan nama eventIn. Syntax : ROUTE MySender.rotation_changed TO MyReceiver.set_rotation. Node transform mempunyai : rotation field set_rotation eventIn rotation_changed eventOut
Contoh : DEF Mover PositionInterpolator { keyValue [ ...... ] } DEF Kerucut Transform { children [ ….. ] ROUTE Mover.value_changed TO Kerucut.set_translation
Oleh: Devie Rosa Anamisa, S.Kom Animating Transform Oleh: Devie Rosa Anamisa, S.Kom
Pendahuluan Sebuah perubahan animasi terjadi setiap waktu: position – Pengendara mobil orientation – baling-baling pesawat color – perubahan musim animasi mengatur waktu : kapan dimulai dan berhenti berapa kecepatan Node TimeSensor hampir sama dengan alat pengatur waktu. Sensor waktu mengatur mulai dan berhentinya pergerakan benda TimeSensor mengatur absolut dan pecahan waktu.setiap event. Fractional Time memberi nilai cycle interval dari 0 sampai 1 kemudian diulang
Time Sensor Syntax TimeSensor : TimeSensor { cycleInterval 1.0 loop TRUE startTime 1.0 stopTime 0.0 } Ket : start dan stop time – ketika sedang berjalan waktu cycle interval – lama perputarannya looping – apakah diulang perputarannya atau tidak
Pengaturan Waktu Berulang-ulang : stopTime <= startTime loop TRUE stopTime <= startTime Satu kali putaran kemudian berhenti : loop FALSE stoptime <= startTime set_startTime : mengatur waktu ketika mulai set_stopTime : mengatur waktu ketika berhenti
Type Interpolator Animasi perputaran shape menggunakan OrientationInterpolator Animasi perwarnaan shape menggunakan ColorInterpolator Animasi transparency shape menggunakan ScalarInterpolator Animasi perpindahan dan scale shape menggunakan PositionInterpolator
Orientation Interpolator Syntax orientationInterpolator : OrientationInterpolator { key [0.0, ….. ] keyValue [0 1 0 0, …..] } Ket : key key fraction times key values key rotations (sumbu coordinator dan radian) ROUTE ke Transform menggunakan input set_rotation
Color Interpolator Syntax ColorInterpolator : ColorInterpolator { key [ 0.0, …..] keyValue [1 1 0, ….. ] } Ket : key key fraction times key value key color (red, green, blue) ROUTE ke Material menggunakan input set_diffuseColor atau set_emissiveColor.
Position Interpolator Syntax PositionInterpolator : PositionInterpolator { key [ 0.0, …. ] keyValue [0 0 0, …. ] } Ket : key key fraction times key values key position (atau scales) ROUTE ke Transform menggunakan input set_translation atau set_scale
Contoh: DEF Timer TimeSensor { cycleInterval 2.0 loop TRUE startTime 1 stopTime 0 } DEF Mover PositionInterpolator { .....} DEF Kerucut Transform { ..... } ROUTE Timer.fraction_changed TO Mover.set_fraction ROUTE Mover.value_changed TO Kerucut.set_translation
Soal 4 : 1. Buat sebuah objek Cone (warna berbeda). Berikan animasi translasi berdasarkan sumbu Y , Buat objek bisa bergerak dari : atas, tengah, bawah, tengah, atas! 2. Buat sebuah objek Cone (warna berbeda). Berikan animasi translasi berdasarkan sumbu X. Buat objek bisa bergerak dari : kiri, tengah, kanan, tengah, kiri 3. Buat sebuah objek Sphere. Berikan animasi ROTASI berdasarkan sumbu Z 4. Buat sebuah objek Sphere (warna berbeda). Berikan animasi ROTASI berdasarkan sumbu Y 5. Buat sebuah objek Sphere (warna berbeda). Lakukan scaling shg didapatkan bentuk roda Berikan animasi ROTASI & TRANSLASI sehingga seolah roda tsb berputar dan bergerak dari kiri ke kanan