Ikhtisar Sistem Input Baru Unity

Sistem Input Baru di Unity memberikan pendekatan yang diperbarui, fleksibel, dan lebih intuitif untuk menangani input dalam game. Dengan sistem ini, pengembang dapat melayani berbagai perangkat, mulai dari pengontrol game hingga handset VR, menjadikan gameplay lebih dinamis dan imersif.

1. Mengapa Sistem Baru

sistem input tradisional di Unity memiliki kemampuan yang terbatas dan tidak dapat diperluas. Sistem Input Baru menawarkan API terpadu, mengatasi keterbatasan sebelumnya dan menyediakan fitur-fitur canggih untuk pengembangan game modern.

2. Pengaturan

Untuk mulai menggunakan Sistem Input Baru, sistem tersebut harus diinstal terlebih dahulu dari Manajer Paket di Unity. Setelah ditambahkan, transisi dari sistem lama memerlukan penyesuaian tertentu dalam skrip dan pengaturan.

3. Fitur Utama

  • Tindakan dan Pengikatan: Daripada mereferensikan tombol atau kunci secara langsung, pengembang menentukan tindakan, lalu mengikat tindakan tersebut ke kunci atau tombol tertentu.
  • Variabilitas Perangkat: Mendukung banyak perangkat dengan mudah, mulai dari gamepad tradisional hingga layar sentuh dan handset VR.
  • Kontrol Pemain: Menyediakan mekanisme bawaan untuk mengikat ulang kontrol, memungkinkan pemain mengatur kontrol sesuai keinginan.
  • Penanganan Peristiwa Tingkat Lanjut:Peristiwa dapat diproses dengan berbagai cara, baik berbasis polling atau berbasis panggilan balik, sehingga memberikan kontrol lebih besar.

4. Membuat Tindakan Masukan

Tindakan Input adalah jenis aset baru yang memungkinkan definisi perilaku input tanpa harus menulis skrip. Setelah dibuat, itu dapat dimasukkan ke dalam skrip, menghubungkan gameplay langsung ke masukan pemain.

5. Implementasi dalam Scripting

  • Sistem Input Baru terintegrasi secara mulus dengan lingkungan skrip Unity. Daripada menggunakan metode 'Input.GetKey' atau 'Input.GetAxis' yang lebih lama, sistem ini menggunakan ´tindakan´ yang dapat dipanggil dalam skrip. Periksa contoh di bawah ini:
using UnityEngine;
using UnityEngine.InputSystem;
public class PlayerMovement : MonoBehaviour
{
    public float speed = 5.0f;
    private Vector2 moveInput;

    public void OnMove(InputAction.CallbackContext context)
    {
        moveInput = context.ReadValue<Vector2>();
    }

    void Update()
    {
        Vector3 move = new Vector3(moveInput.x, 0, moveInput.y) * speed * Time.deltaTime;
        transform.Translate(move);
    }
}

Mari kita uraikan contoh kode yang diberikan di atas:

  • Namespace: Namespace 'UnityEngine.InputSystem' sangat penting untuk menggunakan fungsi baru.
  • 'moveInput': Variabel ini menyimpan nilai masukan, biasanya mewakili masukan horizontal dan vertikal.
  • 'OnMove()': Didefinisikan sebagai fungsi publik, 'OnMove' dapat dihubungkan langsung ke Tindakan Input di Editor Unity. Metode ini menggunakan 'InputAction.CallbackContext' untuk membaca nilai input dan menetapkannya ke variabel 'moveInput' kita.
  • 'Update()': Dalam metode 'Update', nilai input yang disimpan menentukan arah pergerakan. Masukan diterjemahkan ke dalam Vektor 3D untuk pergerakan karakter, dengan memperhitungkan kecepatan yang ditentukan dan Unity 'Time.deltaTime' untuk pergerakan tanpa bingkai.

Agar skrip ini berfungsi, penting untuk menautkan metode 'OnMove' ke Tindakan Input melalui Editor Unity. Koneksi ini memastikan bahwa ketika pemain memberikan input (seperti menggerakkan joystick atau menekan tombol panah), tindakan terkait akan memicu skrip fungsi yang diinginkan.

Kesimpulan

Sistem Input Baru di Unity adalah evolusi yang kuat dan perlu, selaras dengan kebutuhan pengembangan game modern. Ini menawarkan keserbagunaan, presisi, dan penyesuaian pengguna, membuat game interaksi lebih menarik dan responsif.

Artikel yang Disarankan
Membuat Game Platformer Sederhana di Unity
Panduan Game Memancing untuk Unity
Membangun Game Penembak Top-Down dalam Unity
Membuat Animasi 2D di Unity
5 Tips Penting untuk Developer Game Pemula
Membuat Game Terinspirasi Poppy Playtime di Unity
Menemukan Gerbang Menuju Kreativitas Tanpa Batas dengan Persatuan