Menambahkan Pengawasan Video di Unity
Membuat sistem pengawasan video di Unity dapat menambahkan lapisan kedalaman yang menarik ke dalam game atau simulasi Anda. Baik Anda sedang mengembangkan game siluman, pengalaman horor, atau simulasi keamanan, sistem pengawasan video dapat meningkatkan gameplay dan imersi. Tutorial ini akan memandu Anda melalui langkah-langkah untuk menyiapkan sistem pengawasan video yang berfungsi di Unity menggunakan kamera, tekstur render, dan elemen UI.
Langkah 1: Menyiapkan Adegan
Sebelum kita mulai dengan sistem pengawasan video, kita perlu membuat lingkungan dasar tempat kamera pengawas dapat ditempatkan. Jika Anda sudah memiliki tempat kejadian, Anda dapat melewati langkah ini.
- Buat adegan 3D baru di Unity dengan membuka
File > Adegan Baru
. - Tambahkan Terrain atau beberapa Cubes untuk berfungsi sebagai dinding dan lantai.
- Posisikan beberapa objek 3D di sekitar pemandangan untuk membuatnya menarik secara visual dan sediakan area untuk dipantau dengan kamera.
- Tambahkan GameObject Player ke dalam adegan. Anda dapat menggunakan aset Unity standar atau pengontrol karakter kustom Anda sendiri.
Langkah 2: Menambahkan Kamera Pengawasan
Inti dari sistem pengawasan video adalah kamera yang merekam kejadian. Kami akan membuat beberapa kamera pengawas dan memasangnya untuk memantau area yang berbeda.
- Klik kanan pada Hirarki dan pilih
Buat > Kamera
untuk menambahkan kamera baru ke dalam pemandangan. - Posisikan kamera di lokasi yang ingin dipantau. Anda dapat menggerakkan dan memutar kamera di Tampilan Pemandangan untuk mendapatkan sudut yang diinginkan.
- Ubah nama kamera menjadi sesuatu yang deskriptif, seperti "SurveillanceCamera1".
- Ulangi langkah-langkah di atas untuk membuat beberapa kamera yang mencakup area berbeda di pemandangan Anda.
- Sesuaikan properti Bidang Pandang dan Bidang Kliping pada setiap kamera sesuai kebutuhan untuk mencakup lebih banyak atau lebih sedikit area.
Langkah 3: Membuat Tekstur Render untuk Kamera
Untuk menampilkan umpan pengawasan dari kamera, kita perlu menggunakan Render Textures. Render Textures adalah tekstur khusus yang dapat digunakan Unity untuk merender output kamera, sehingga kita dapat menampilkan umpan kamera di layar dalam game.
- Klik kanan pada folder Assets di jendela Project lalu pilih
Create > Render Texture
. - Ubah nama tekstur render baru menjadi "SurveillanceFeed1".
- Pilih tekstur render dan sesuaikan resolusinya jika diperlukan. Resolusi yang lebih tinggi berarti kualitas yang lebih baik tetapi dapat memengaruhi kinerja.
- Tetapkan properti Target Texture dari "SurveillanceCamera1" ke "SurveillanceFeed1". Ini akan membuat kamera menampilkan tampilannya ke tekstur render.
- Ulangi proses untuk membuat tekstur render untuk setiap kamera pengintai.
Langkah 4: Menampilkan Umpan Kamera di Layar
Sekarang setelah kamera menampilkan tekstur, kita dapat menampilkan tekstur ini di layar dalam game atau elemen UI untuk meniru sistem pengawasan sesungguhnya.
Menggunakan Layar Dalam Game
- Buat layar 3D dalam adegan Anda menggunakan Quad atau Plane untuk berfungsi sebagai layar TV atau monitor.
- Klik kanan pada Hirarki dan pilih
Buat > Objek 3D > Kuadrat
. - Posisikan Quad di tempat yang Anda inginkan untuk meletakkan layar.
- Buat material baru dengan mengklik kanan pada folder Assets dan pilih
Create > Material
. Beri nama "SurveillanceScreen1". - Atur Shader material ke Unlit/Texture. Shader ini akan menampilkan tekstur tanpa efek pencahayaan apa pun.
- Tetapkan "SurveillanceFeed1" ke properti Tekstur Utama material.
- Seret material "SurveillanceScreen1" ke Quad untuk menerapkannya.
- Ulangi langkah-langkah untuk setiap umpan kamera, buat beberapa layar di lokasi berbeda sesuai kebutuhan.
Menggunakan Elemen UI
- Buat Canvas di Hierarchy dengan mengklik kanan lalu pilih
Create > UI > Canvas
. - Di dalam Kanvas, buat Gambar Mentah dengan mengklik kanan pada Kanvas dan memilih
Buat > UI > Gambar Mentah
. - Sesuaikan ukuran dan posisi Gambar Mentah dengan ukuran layar yang Anda inginkan.
- Tetapkan "SurveillanceFeed1" sebagai tekstur untuk Gambar Mentah.
- Ulangi langkah-langkah ini untuk membuat beberapa Gambar Raw, masing-masing menampilkan umpan kamera yang berbeda.
Langkah 5: Beralih Antar Umpan Kamera
Untuk sistem pengawasan yang lebih dinamis, Anda mungkin ingin mengizinkan pemain untuk beralih di antara umpan kamera yang berbeda. Ini dapat dilakukan dengan menggunakan skrip sederhana.
Buat Skrip Pengalih Kamera
using UnityEngine;
using UnityEngine.UI;
public class CameraSwitcher : MonoBehaviour
{
public RenderTexture[] cameraFeeds; // Assign RenderTextures in the Inspector
public RawImage displayImage; // Assign the UI Raw Image in the Inspector
private int currentFeedIndex = 0;
void Start()
{
if (cameraFeeds.Length > 0)
{
displayImage.texture = cameraFeeds[currentFeedIndex];
}
}
void Update()
{
if (Input.GetKeyDown(KeyCode.Space)) // Use Space to switch feeds
{
currentFeedIndex = (currentFeedIndex + 1) % cameraFeeds.Length;
displayImage.texture = cameraFeeds[currentFeedIndex];
}
}
}
- Buat skrip C# baru bernama CameraSwitcher dan tambahkan kode di atas.
- Lampirkan skrip ke GameObject kosong dalam adegan Anda.
- Tetapkan aset RenderTexture dan komponen Raw Image di Inspektur.
- Tekan Play dan gunakan tombol
Spasi
untuk beralih di antara umpan kamera.
Langkah 6: Menambahkan Efek Tambahan
Untuk membuat sistem pengawasan Anda lebih realistis dan menarik, Anda dapat menambahkan efek seperti statis, kebisingan, atau hamparan untuk mensimulasikan gangguan atau meningkatkan imersi.
Menambahkan Efek Statis
Buat shader atau gunakan aset shader dari Unity Asset Store untuk menambahkan efek noise statis. Terapkan ke materi layar pengawasan atau langsung pada umpan kamera menggunakan efek Post-Processing.
Simulasi Pergerakan Kamera
Anda juga dapat menambahkan sedikit gerakan kecil atau goyangan kamera secara acak untuk membuat sistem pengawasan lebih dinamis. Lampirkan skrip ke setiap kamera untuk mencapainya.
public class CameraSway : MonoBehaviour
{
public float swayAmount = 0.5f;
public float swaySpeed = 0.5f;
private Vector3 initialPosition;
void Start()
{
initialPosition = transform.position;
}
void Update()
{
float sway = Mathf.Sin(Time.time * swaySpeed) * swayAmount;
transform.position = initialPosition + new Vector3(0, sway, 0);
}
}
Kesimpulan
Dengan mengikuti langkah-langkah ini, Anda dapat membuat sistem pengawasan video yang tangguh di Unity, lengkap dengan beberapa umpan kamera, peralihan layar yang dinamis, dan efek yang realistis. Sistem ini dapat meningkatkan mekanisme permainan dalam berbagai genre, mulai dari permainan siluman hingga petualangan horor. Bereksperimenlah dengan berbagai pengaturan dan skrip untuk menyesuaikan sistem pengawasan agar sesuai dengan persyaratan unik permainan Anda.