Unity Cinemachine dan Tutorial Timeline
Cinemachine adalah paket untuk Unity yang memberi pengembang kontrol kamera profesional dan meningkatkan kemampuan untuk membuat cutscene sinematik.
Tutorial ini akan mencakup topik-topik berikut:
- Instalasi Mesin Sinema
- Pengaturan Kamera Orang Ketiga
- Pembuatan Cutscene Garis Waktu
Instalasi Mesin Sinema
Untuk menginstal Cinemachine, ikuti langkah-langkah di bawah ini:
- Di Unity buka Window -> Package Manager
- Ubah Paket menjadi "Unity Registry"
- Pilih "Cinemachine" dari daftar lalu klik "Install"
Cinemachine sekarang siap digunakan.
Pengaturan Kamera Orang Ketiga
Di bawah ini saya akan menunjukkan cara mengatur kamera orang ketiga menggunakan Kamera Virtual Cinemachine.
Kamera Virtual adalah versi ringan dari kamera Unity, yang tidak merender sendiri, namun hanya digunakan sebagai titik referensi untuk Kamera Utama.
Sebagai contoh untuk tutorial ini, saya akan menggunakan Pengontrol orang ketiga, kecuali tanpa mengatur tabrakan Kamera dan tanpa memindahkan Kamera ke dalam hierarki pemain:
Seperti yang Anda lihat, pemutar bergerak tetapi kamera tidak mengikuti.
Menyiapkan kamera orang ketiga menggunakan Cinemachine sangat mudah:
- Buka GameObject -> Cinemachine -> Virtual Camera untuk membuat kamera virtual baru
- Beri nama kamera virtual "TPS Camera"
- Pilih TPS Camera dan di CinemachineVirtualCamera tetapkan variabel Follow (dalam kasus saya ini adalah objek "CameraParent", yang terletak di dalam hierarki pemain dan mewakili rotasi tampilan vertikal)
- Tetapkan nilai Tubuh ke "3rd Person Follow"
- Setel Ignore Tag ke "Player" dan pilih juga objek root pemutar dan setel tagnya ke "Player" (jika ada anak collider di hierarki pemain, pastikan untuk mengubah tagnya menjadi "Player" juga)
- Sesuaikan nilai lain di CinemachineVirtualCamera seperti Jarak Kamera, Sisi Kamera, Offset Bahu, dan Redaman hingga Anda puas dengan hasilnya.
- Tetapkan nilai Tujuan CameraParent ke "Do nothing"
Kamera sekarang harus mengikuti pemain:
Pembuatan Cutscene Garis Waktu
Di sini saya akan menunjukkan cara membuat cutscene menggunakan Unity's Timeline.
Timeline adalah editor bawaan yang memungkinkan pengembang membuat cutscene dengan menganimasikan kamera, dan juga dengan menggunakan animasi yang ada (mis. perjalanan karakter), ditambah peristiwa dan sinyal dengan mengaturnya secara berurutan.
Paket Cinemachine menambahkan beberapa opsi tambahan ke editor Timeline, seperti kemampuan untuk beralih antar Kamera Virtual.
Untuk membuat cutscene, ikuti langkah-langkah di bawah ini:
- Buat GameObject baru dan beri nama "TimelineManager"
- Buka jendela Timeline dengan masuk ke Window -> Sequencing -> Timeline
- Pilih "TimelineManager" Objek dan di jendela Timeline, Anda akan melihat opsi untuk membuat komponen Director dan aset Timeline, klik opsi tersebut.
- Setelah membuat komponen Director dan aset Timeline, Anda akan melihat jendela Timeline yang kosong (pastikan objek TimelineManager dipilih agar dapat mengeditnya).
- Kita sekarang dapat mulai menambahkan komponen ke timeline dengan mengklik kanan pada jendela.
Seperti yang Anda lihat, jendela Timeline memiliki berbagai pilihan:
- Grup Lacak - ini adalah grup yang dapat berisi tindakan garis waktu dan berguna untuk pengorganisasian.
- Jalur Aktivasi - ini mendefinisikan objek yang harus aktif hanya selama jangka waktu yang ditentukan.
- Animation Track - ini akan memutar animasi tertentu selama jangka waktu yang ditentukan.
- Audio Track - ini akan memutar audio tertentu selama jangka waktu yang ditentukan.
- Control Track - trek yang klipnya mengontrol elemen terkait waktu pada GameObject.
- Signal Track - ini memungkinkan melakukan berbagai macam tindakan pada objek permainan tertentu pada waktu tertentu (mis. mengaktifkan skrip pergerakan pemain atau memanggil fungsi tertentu ketika garis waktu mencapai bingkai tertentu, dll.)
- Lagu yang Dapat Diputar - trek yang klipnya dapat diputar secara khusus.
- Cinemachine Track - ini memungkinkan untuk memadukan beberapa kamera virtual cinemachine.
Untuk tujuan tutorial ini, saya hanya akan menggunakan Animation Track dan Signal Track.
Mempersiapkan
- Buat kamera virtual lain dan beri nama "CutsceneCamera" dan atur nilai "Priority" ke satu tingkat di atas "TPS Camera" (mis. 11)
- Klik kanan pada tampilan proyek -> Buat -> Sinyal dan beri nama "DisablePlayer"
- Gandakan sinyal "DisablePlayer" dan ganti namanya menjadi "EnablePlayer"
- Buat GameObject baru di tempat kejadian dan beri nama "SignalReceiver"
- Lampirkan komponen SignalReceiver ke Objek "SignalReceiver"
- Klik "Add Reaction" 2 kali
- Tetapkan "DisablePlayer" untuk reaksi pertama dan "EnablePlayer" untuk reaksi kedua
"DisablePlayer" akan mengaktifkan kamera cutscene, menonaktifkan kamera pemain dan skrip kontrol pemain, dan akan ditempatkan di awal timeline.
"EnablePlayer" akan menonaktifkan kamera cutscene, mengaktifkan kamera pemain dan skrip kontrol pemain, dan akan ditempatkan di akhir timeline.
- Klik (+) untuk menambahkan slot reaksi lalu tetapkan objek yang skrip atau komponennya perlu diaktifkan/dinonaktifkan.
Tip: Untuk membuat sinyal berlawanan, Anda cukup mengatur reaksi untuk "DisablePlayer" lalu klik ikon Roda Gigi -> Duplikat, ubah sinyal menjadi "EnablePlayer" dan balikkan kotak centang.
- Pilih objek "TimelineManager" lalu di jendela Timeline tambahkan track sinyal baru dengan mengklik kanan -> Signal Track lalu tetapkan objek "SignalReceiver" ke objek tersebut.
- Seret & lepas aset sinyal "DisablePlayer" di awal garis waktu dan "EnablePlayer" ke bingkai yang Anda inginkan untuk mengakhiri cutscene:
Ini akan membuat skrip pengontrol pemutar dan kamera dinonaktifkan di awal dan kemudian diaktifkan kembali setelah garis waktu mencapai akhir.
Terakhir, kita akan membuat animasi kamera sederhana.
- Klik kanan pada Timeline -> Animation Track lalu tetapkan "CutsceneCamera" (ini akan meminta untuk menambahkan komponen Animator ke objek jika tidak ada)
- Klik tombol rekam
- Gerakkan "CutsceneCamera" sedikit, sehingga keyframe diterapkan lalu pindahkan pegangan bingkai Timeline ke ujung, dan terakhir, pindahkan kamera ke posisi baru lalu klik stop Recording.
Ayo tekan play dan lihat hasilnya:
Cutscene dimainkan di awal permainan.