Membangun Layout Seperti Grid Menggunakan Basic Expressions

() translation by (you can also view the original English article)
Hal pertama yang harus Anda ingat adalah bahwa tidak hanya ada satu cara yang benar dalam melakukan sesuatu. Terutama ketika Anda bekerja dengan ekspresi, cobalah untuk mendapatkan pengetahuan tentang dasar-dasar sintaksis menggunakan panduan referensi atau baik mencarinya melalui internet, sehingga Anda dapat menggunakan pemikiran Anda dan menulis kode dengan pengetahuan Anda sendiri. Itu cara belajar yang baik, dengan mencoba, membuat kesalahan, dan mencari tahu jawaban atas masalah Anda.
Langkah 1



Dalam contoh ini saya memutuskan untuk membangun grid seperti ini:



Langkah 2
Mulailah dengan memilih Layer/ New/Solid atau gunakan tombol pendek: Command+Y (Mac) atau Ctrl+Y (PC). Ini akan membuka kotak dialog Solid Settings. Silakan beri nama "A" dan klik OK. Anda tidak perlu khawatir dengan warna atau ukuran untuk saat ini karena kita akan menggunakan ekspresi untuk melakukannya. Dalam file proyek Anda akan menyadari bahwa saya menggunakan Layers Bentuk. Untuk hal ini tidak ada bedanya. Jika Anda ingin menggunakan Layers Bentuk pastikan Anda tidak memiliki layer yang dipilih dan dobel—klik Ikon Bentuk pada Toolbar. Ini akan membuat Layer Bentuk persis ukuran yang sama dari Comp.



Langkah 3
Ulangi Langkah ini lima kali lebih banyak (atau baik dengan padatan atau bentuk lapisan), menamai mereka dalam urutan abjad: "B", "C"... Sekarang inilah saatnya bagi kita untuk memposisikan kembali titik jangkar agar ekspresi untuk bekerja dengan benar. Atur mereka seperti pada gambar:



Langkah 4
Sekarang saatnya untuk mengaktifkan logika kita. Apa yang ingin kita lakukan adalah untuk dapat membuat kisi yang dapat kita ubah ukuran sel dan menjaga jarak ukuran tetap di antara mereka. Untuk melakukannya kita perlu menyatukan beberapa ide. Pertama-tama, kita harus ingat bahwa, seperti yang saya katakan sebelumnya, layer "A" lebar + layer "B" akan selalu sama dengan width witch comp dalam kasus ini adalah 1920 px. Dengan cara yang sama, ketinggian layer "A" ditambah layer "C" atau Layer "D" akan sama dengan height witch comp dalam hal ini adalah 1080 px. Kedua, untuk mengontrol lebar dan tinggi kita akan menggunakan Null Objects dengan efek Slider Control diterapkan pada mereka, sehingga kita dapat mengumpulkan kontrol animasi hanya beberapa layer. Ini dikatakan kita dapat mulai membuat Obyek Null baru dengan memilih Layer/New/Null Object atau menekan Command+option+shift+Y
(Mac) atau Ctrl+shift+alt+Y (PC). Beri nama "SLIDER A B" dan click OK.



Langkah 5
Sekarang, masuk ke Effects/Expression Control/Slider Control dan pilih itu untuk membuat kontrol slider yang akan Anda beri nama "WIDTH+". Ulangi Langkah ini dan beri nama slider kedua "WIDTH—". Anda akan menggunakannya
"WIDTH+" untuk mengendalikan lebar layer "A" dan
"WIDTH—" untuk mengontrol lebar layer "B". Mari kita membuat celah kecil antara dua layer dengan menambahkan ekspresi pada slider efek "WIDTH—", dengan alt+mengklik stopwatch slider untuk efek "WIDTH—" pada Panel Timeline:
99.5—effect("WIDTH+")("Slider");






Ketika nilai slider berjalan dari 0 hingga 100, ungkapan ini akan menjaga jarak layer "A" dan layer "B" satu sama lain sebesar .5 persen dari lebar comp.
Langkah 7
Buat Objek Null lain dan beri nama "SLIDER A C D", terapkan Slider Effect dan beri nama "HEIGHT+". Lapisan ini akan bertanggung jawab atas ketinggian layer "A", "C" dan "D". Terapkan Slider Control Effect sekali lagi dan beri nama
"HEIGHT —" .Lalu Alt+klik slider stopwatch "HEIGHT—" dan ketik ekspresi yang akan menjaga celah di antara sel-sel kisi:
99.3—effect("HEIGHT+")("Slider");



Dalam hal ini kita menetapkan celah 0.7 persen untuk mengkompensasi format komposisi dan membuat kesenjangan vertikal dan horizontal terlihat sama.
Langkah 8
Sekarang, mari kita ketik ekspresi untuk layer "A". Pilih layer "A" dan tekan "S" pada keyboard. Ini akan menunjukkan properti skala untuk layer ini. Tahan tombol "Alt" dan klik pada stopwatch skala. Ini akan mengaktifkan ekspresi untuk properti skala. Ketikkan:
wscale=thisComp.layer("SLIDER A B").effect("WIDTH+")("Slider");hscale=thisComp.layer("SLIDER A C D").effect("HEIGHT+")("Slider");[wscale,hscale];



Baris pertama akan membuat variabel bernama "wscale" yang akan setara dengan nilai yang diperhitungkan pada "WIDTH+" Slider Effect pada layer "Slider AB". Layer kedua akan mengatur variabel "hscale", yang akan sama dengan nilai yang terkandung dalam Slider Effect "HEIGHT+" pada layer "SLIDER ACD". Baris ketiga akan mengatur variabel ke koordinat x dan y.
Langkah 9
Buat Objek Null lain dan beri nama "SLIDER B E F", terapkan Slider Effect dan beri nama "HEIGHT+". Layer ini akan bertanggung jawab atas ketinggian layer "A", "C" dan "D". Terapkan Slider Control Effect sekali lagi dan beri nama
"HEIGHT —" .Lalu Alt+klik slider stopwatch "HEIGHT—" dan ketik ekspresi yang akan menjaga celah di antara sel-sel kisi:
99.3—effect("HEIGHT+")("Slider");



Sekarang, mari kita ketik ekspresi untuk layer "B". Pilih layer "B" dan tekan "S" pada keyboard. Ini akan menunjukkan properti skala untuk layer ini. Tahan tombol "Alt" dan klik pada stopwatch skala. Ini akan mengaktifkan ekspresi untuk properti skala. Ketikkan:
wscale=thisComp.layer("SLIDER A B").effect("WIDTH—")("Slider");hscale=thisComp.layer("SLIDER B E F").effect("HEIGHT+")("Slider");[wscale,hscale];



Pada akhir Langkah-langkah itu Anda akan mendapatkan layer "A" dan "B" berfungsi dengan baik.
Langkah 10
Saatnya untuk memikirkan layer "C" dan "D", "E" dan "F". Sekarang, ini bagian yang sulit. Untuk memulai Langkah ini, mari kita buat Objek Null lain, sebut saja "SLIDER C D" dan terapkan dua kali efek Slider Control dan beri nama yang pertama
"WIDTH+" dan yang kedua "WIDTH—". Layer ini akan berfungsi untuk mengatur nilai untuk lebar "C" dan "D". Alt+klik stopwatch untuk efek "WIDTH—" dan ketik:
99.5—effect("WIDTH+")("Slider");



Langkah 11
Dengan layer "C" dipilih, tekan "S" pada keyboard dan Alt+Klik stopwatch properti skala untuk memasukkan ekspresi:
wscale=thisComp.layer("SLIDER C D").effect("WIDTH+")("Slider");hscale=thisComp.layer("SLIDER A C D").effect("HEIGHT—")("Slider");[wscale,hscale];
Ok, ini akan menjadi tebakan tentang bagaimana dua layer ini akan didistribusikan di layar jika dan hanya jika kita menganggap bahwa lebar layer "C" ditambah lebar layer "D" akan sama dengan 100 persen dari lebar comp. Karena premis ini tidak benar, karena kita bergantung pada nilai apa yang kita dapatkan dari layer "SLIDER A B", kita harus mengubah ekspresi menjadi:
wscale=thisComp.layer("SLIDER C D").effect("WIDTH+")("Slider");hscale=thisComp.layer("SLIDER A C D").effect("HEIGHT—")("Slider");if(thisComp.layer("A").transform.scale[0]==100){[wscale,hscale];}else{[(thisComp.layer("SLIDER A B").effect("WIDTH+")("Slider"))*thisComp.layer("SLIDER C D").effect("WIDTH+")("Slider")/100—.25,hscale];}
Sekarang ini berarti bahwa hanya ketika properti koordinat "x" pada layer "A" sama dengan 100, hasilnya akan seperti yang ditetapkan pada variabel wscale dan hscale. Kalau tidak, koordinat "x" akan ditentukan dengan mempertimbangkan ruang yang diatur pada efek "SLIDER A B" "WIDTH +". Pada baris ketiga, kita merujuk ke koordinat "x" menggunakan angka 0 antara tanda kurung. "0" akan berarti koordinat "x", "1" untuk koordinat "y" dan "2" untuk koordinat "z". Ketika Anda membandingkan dua nilai berbeda seperti pada baris 3 "jika" kondisi, gunakan dua tanda sama dengan "==".






Langkah 12
Untuk menghitung tinggi dan lebar layer "D", alt+klik stopwatch properti skala layer dan masukkan kode:



wscale=thisComp.layer("SLIDER C D").effect("WIDTH—")("Slider");hscale=thisComp.layer("SLIDER A C D").effect("HEIGHT—")("Slider");if(thisComp.layer("A").transform.scale[0]==100){[wscale,hscale];}else{[(thisComp.layer("SLIDER A B").effect("WIDTH+")("Slider"))*(100—thisComp.layer("SLIDER C D").effect("WIDTH+")("Slider"))/100—.25,hscale];}
Perhatikan bahwa pada baris 6 kita menghitung nilai hanya menggunakan nilai slider "WIDTH+". Itu karena kita tidak ingin menggunakan nilai
"WIDTH—" karena ini termasuk ukuran celah.



Langkah 13
Selesai Langkah ini Anda akan perhatikan bahwa ada sesuatu yang salah. Layer "D" tidak diposisikan tepat. Untuk menempatkannya di tempat yang tepat, kita perlu memasukkan kode yang menghubungkannya ke batas kanan layer "A". Jadi ketikkan kode ini pada properti position:
x=thisComp.width*thisComp.layer("A").transform.scale[0]/100;[x,0];
Ungkapan ini hanya mengonversi siz layer "A" dari piksel ke persentase, agar kita dapat menggunakan nilai ini dengan properti skala. Karena Anchor Point dari layer ini berada di sudut kanan atas, ungkapan ini akan menempatkan layer di posisi yang tepat.



Saatnya kita fokus pada layer "E" dan "F". Ini pada dasarnya adalah logika yang sama yang digunakan untuk bekerja dengan layer "C" dan "D". Mulailah membuat Obyek Null baru dan menyebutnya "SLIDER E F". Terapkan dua kali efek Slider Control dan beri nama yang pertama
"WIDTH+", dan yang kedua "WIDTH—". Alt + klik properti skala pada layer "F".



Kita akan berurusan dengan layer "F" terlebih dahulu karena itu yang terletak di bagian kanan bawah dari comp, dan kita tidak perlu memasukkan kode untuk posisi.
wscale=thisComp.layer("SLIDER E F").effect("WIDTH+")("Slider");hscale=thisComp.layer("SLIDER B E F").effect("HEIGHT—")("Slider");if(thisComp.layer("B").transform.scale[0]==100){[wscale,hscale];}else{[(100—thisComp.layer("SLIDER A B").effect("WIDTH+")("Slider"))*thisComp.layer("SLIDER E F").effect("WIDTH+")("Slider")/100—.5,hscale];}



Jangan lupa untuk mengatur celah pada "Slider EF" "WIDT—" slider:
99.5—effect("width=")("Slider");
Langkah 14
Lompat ke layer
"E". Pada properti skala, alt+klik stopwatch dan ketik:
wscale=thisComp.layer("SLIDER E F").effect("WIDTH+")("Slider");hscale=thisComp.layer("SLIDER B E F").effect("HEIGHT—")("Slider");if(thisComp.layer("B").transform.scale[0]==100){[wscale,hscale];}else{[(100—thisComp.layer("SLIDER A B").effect("WIDTH+")("Slider"))*(100—thisComp.layer("SLIDER E F").effect("WIDTH+")("Slider"))/100—.5,hscale];
}
Langkah 15
Sekarang pergi ke properti posisi dan ketik kode:
Bscalex=thisComp.width*thisComp.layer("B").transform.scale[0]/100;x=thisComp.width—Bscalex;[x,thisComp.height];
Kode ini akan mendapatkan layer "E" pada posisi yang tepat menghitung lebar comp minus nilai ukuran layer "B".



Langkah 16
Ok, sekarang grid sudah siap. Hanya ada beberapa hal yang dapat kita lakukan sekarang untuk membuatnya lebih mudah digunakan, seperti menjepit nilai-nilai dari slider.
Untuk memvisualisasikan kontrol yang lebih baik, saya membuat Objek Null lainnya yang saya beri nama setelah "celah" yang mereka wakili secara visual. Kemudian saya memasukkan kode clamp (membatasi nilai antara dua nilai lainnya) dengan mengatur dan memeriksa cara kerjanya dan datang dengan set ini:



Objek Null "VERTICAL1": mewakili garis vertikal pertama dari kiri ke kanan grid. Saya memasukkan kode ini pada efek Slider Control yang saya terapkan di atasnya:
clamp(value,1,99);
Objek Null "VERTICAL2": mewakili garis vertikal kedua dari grid. Masukkan kode ini:
clamp(value,—1,100);
Objek Null "VERTICAL3": mewakili garis vertikal ketiga dari grid. Masukkan kode ini:
clamp(value,1,99);
Objek Null "HORIZONTAL1": mewakili garis vertikal pertama dari atas ke bawah grid. Masukkan kode ini:
clamp(value,1,100);
Objek Null "HORIZONTAL2": mewakili garis vertikal kedua dari atas ke bawah grid. Masukkan kode ini:
clamp(value,1,100);



Sekarang mari kita tautkan ke slider "WIDTH+" dan "HEIGHT+" agar ini berfungsi. Mari kita lakukan dengan pick whip. Seharusnya terlihat seperti ini:



Langkah 17
Semuanya sudah siap, saatnya bagi kita untuk memasukkan gambar. Pilih gambar nomor 1 dari Project Panel. Klik dan seret di bawah layer "A" pada Timeline Panel. Pilih Alpha Matte "A" dari menu drop down Track Matte. Ulangi langkah ini untuk layer "B",
"C", "D", "E", "F", menempatkan gambar sesuka Anda. Dalam kasus saya, saya mengatur mereka seperti gambar:



Langkah 18
Untuk membuat gerakan, saya menetapkan kerangka kunci untuk beberapa posisi layer gambar dan properti skala. Mari kita menghidupkan kotak. Jangan ragu untuk menghidupkan, sesuka hati, atur bingkai kunci, dan uji film.
Langkah 19
Saya menambahkan beberapa sentuhan akhir pada komposisi untuk membuatnya terlihat lebih baik. Pertama saya membuat Adjustment Layer dengan memilih Layer/New/Adjustment Layer atau mengklik Command+Option+Y(Mac)/Ctrl+Alt+Y (PC) dan menerapkan filter Fast Blur di bawah Effect/Blur dan Sharpen/Fast Blur. Anda dapat menemukannya lebih mudah hanya dengan mengetikkan nama efek pada Panel Efek & Preset. Atur blurriness ke 1.0.



Langkah 20
Kemudian buat Black Solid, terapkan topeng elips di atasnya dengan mengklik dua kali ikon Ellipse Mask di Toolbar. Tekan "MM" pada keyboard untuk mengungkapkan mask properties atau "F" untuk menunjukkan hanya Mask Feather Property dan mengaturnya menjadi 250, kemudian, jika Anda baru saja mengungkapkan Mask Feather Property, tekan "TT" pada keyboard untuk menunjukkan Mask Opacity Property dan atur ke 80%. Pilih Subtract pada menu drop—down Mask. Ini akan membuat sketsa yang akan memberi lebih banyak penekanan pada apa yang terjadi di tengah layar.



Langkah 21
Di atas semuanya, mari kita tempatkan tekstur kertas, yang disebut "bg". Posisikan sesuka hati dan atur mode layer ke Multiply pada menu drop—down.



Langkah 22
Sekarang mari kita tempatkan logo AETUTS+. Buat perusahaan baru, beri nama LOGO dan seret gambar logo ke dalamnya. Di bawah layer ini buat padatan hitam dan atur opacity menjadi 35%. Terapkan efek Ramp dengan memilih Effect/Generate/Ramp dan buat gradien dari hitam ke putih yang akan terlihat seperti ini:

Langkah 23
Sekarang untuk memasukkannya, duplikat layer "F" pada "GRID" comp membaginya menjadi dua sekitar 0;00;03;13 dengan menempatkan Indikator Waktu Saat Ini pada waktu itu dan menekan Command+Shift+D (MAC), atau Ctrl+Shift+D (PC) pada keyboard. Tempatkan komposisi yang baru dibuat
"LOGO" di bawah layer terbagi "F2". Atur track matte ke Alpha Matte "F2" pada layer "LOGO". Pilih mode ADD. Posisikan dan skala sedikit untuk memusatkan ruang sel kotak.



Langkah 24
Langkah Selanjutnya, buat Komposisi baru, beri nama AETUTS_EXPRESSIONS_TUTORIAL dan klik OK. Pindahkan komposisi GRID ke dalamnya. Mari kita terapkan beberapa efek suara. Seret dan lepaskan pada file comp
"Timesusp—Cosmic_D—190.wav". Tepat waktu 0; 00; 05; 16 masukkan bingkai kunci untuk properti Audio Levels. Biarkan nilainya seperti apa adanya, lompat ke 0;00;05;26 dan ubah nilainya menjadi —48.00dB. Seret dan lepas tepat waktu 0;00;02;00 file audio kedua bernama
"Eerie_sp—Cosmic_D—191".



Kesimpulan
Sekarang pratinjau filmnya. Klik Shift+0 (dari pad numerik) untuk melihatnya. Jika suka, Anda dapat mengaktifkan Motion Blur untuk komputer. Jangan lupa bahwa jika Anda ingin Motion Blur bekerja, Anda harus menstabilkan tombol Motion Blur untuk layer yang Anda inginkan. Dalam hal ini, karena menggunakan komposisi bersarang, kita harus mengaktifkan tombol Motion Blur dalam komposisi GRID dan komposisi Logo juga. Anda dapat mengubah ini dengan mengedit preferensi dan mengaktifkan Switch yang Mempengaruhi Nested Compositions di Kategori General Preferences. Jenis animasi berbasis ekspresi ini berguna ketika Anda memiliki banyak pekerjaan berulang dalam proyek Anda dan Anda ingin menyederhanakannya dengan menulis kode semacam ini. Saya membuat beberapa perubahan terakhir agar terlihat seperti yang saya pikir akan terlihat terbaik seperti yang Anda lihat pada pratinjau film akhir dan pada file proyek. Saya menggunakan ini dalam proyek besar yang saya harus menghidupkan banyak foto tentang berbagai subjek. Dalam contoh ini Anda dapat banyak bermain dengan pengaturan waktu dan konstruksi keseluruhan gambar di layar. Selalu coba hal yang berbeda!



Gambar Creative Commons: 1.jpg https://www.flickr.com/photos/aigle_dore/5854362904/sizes/l/in/photostream/
a2.jpg http://www.flickr.com/photos/structures—nyc—photos/5601731544/sizes/o/in/photostream/
3.jpg http://www.flickr.com/photos/vincentjoly/3923658550/sizes/o/in/photostream/
4.jpg http://www.flickr.com/photos/twicepix/2181066232/sizes/o/in/photostream/
5.jpg http://www.flickr.com/photos/tsuda/235922699/sizes/o/in/photostream/
6.jpg http://www.flickr.com/photos/neilspicys/2348877473/sizes/o/in/photostream/
Suara diunduh di Flashkit Penulis: Cosmic Dreamer http://www.cosmcidreamer.be