Membuat Platformer 2D Sederhana di Unity
Dalam tutorial ini, kita akan membuat platformer 2D dasar di Unity. Ini akan melibatkan pembuatan karakter pemain yang dapat bergerak, melompat, dan berinteraksi dengan platform. Kita juga akan menambahkan beberapa elemen permainan dasar seperti rintangan dan barang koleksi.
1. Menyiapkan Proyek
Mari kita mulai dengan menyiapkan proyek Unity 2D baru:
- Buka Unity dan buat proyek 2D baru.
- Buka File > Adegan Baru dan pilih Mode 2D.
- Simpan adegan sebagai MainScene.
2. Membuat Karakter Pemain
Pertama-tama kita akan membuat karakter pemain sederhana menggunakan sprite dan menambahkan fungsi pergerakan:
- Klik kanan pada jendela Hierarchy dan pilih Create Empty. Beri nama objek ini Player.
- Tambahkan komponen Sprite Renderer ke objek Pemain dengan mengeklik Tambahkan Komponen di Inspektur.
- Pilih sprite untuk digunakan sebagai karakter, baik dengan membuat sprite sendiri atau mengimpor aset 2D dari Unity Asset Store.
- Tambahkan Rigidbody2D dan BoxCollider2D ke objek Pemain untuk deteksi fisika dan tabrakan.
3. Menulis Skrip Pergerakan Pemain
Sekarang, mari kita tulis skrip untuk memungkinkan pemain bergerak dan melompat. Ikuti langkah-langkah berikut:
- Klik kanan pada jendela Project dan pilih Create > C# Script. Beri nama PlayerController.
- Lampirkan skrip ini ke objek Pemain dengan menyeretnya dari jendela Proyek ke Pemain dalam Hirarki.
Ganti konten skrip dengan yang berikut ini:
using UnityEngine;
public class PlayerController : MonoBehaviour
{
public float moveSpeed = 5f;
public float jumpForce = 7f;
private Rigidbody2D rb;
private bool isGrounded = true;
void Start()
{
rb = GetComponent();
}
void Update()
{
// Player movement
float moveInput = Input.GetAxis("Horizontal");
rb.velocity = new Vector2(moveInput * moveSpeed, rb.velocity.y);
// Jumping
if (Input.GetKeyDown(KeyCode.Space) && isGrounded)
{
rb.velocity = new Vector2(rb.velocity.x, jumpForce);
isGrounded = false;
}
}
private void OnCollisionEnter2D(Collision2D collision)
{
// Check if player is touching the ground
if (collision.collider.CompareTag("Ground"))
{
isGrounded = true;
}
}
}
4. Membuat Platform dan Lingkungan
Sekarang kita akan membuat platform tempat pemain dapat melompat:
- Dalam Hirarki, klik kanan dan pilih Buat Kosong, lalu beri nama Platform.
- Tambahkan BoxCollider2D dan Sprite Renderer ke platform.
- Pilih sprite untuk platform (misalnya, persegi panjang datar).
- Gandakan platform dengan menekan Ctrl+D (atau Cmd+D pada Mac) dan posisikan salinan untuk membuat level.
- Tandai objek ini sebagai Tanah di Inspektur untuk logika lompatan pemain.
5. Menambahkan Hambatan
Untuk membuat permainan lebih menantang, mari tambahkan beberapa rintangan:
- Buat GameObject kosong lainnya dan beri nama Obstacle.
- Tambahkan BoxCollider2D dan Sprite Renderer ke objek ini.
- Pilih sprite untuk rintangan (misalnya, paku atau bahaya).
- Dalam metode OnCollisionEnter2D pemain, Anda dapat mendeteksi tabrakan dengan rintangan dan memulai kembali permainan atau mengurangi kesehatan.
6. Menambahkan Barang Koleksi
Kita juga dapat menambahkan barang koleksi, seperti koin atau power-up:
- Buat GameObject kosong lainnya dan beri nama Collectible.
- Tambahkan CircleCollider2D (atur sebagai pemicu) dan Sprite Renderer untuk mewakili barang koleksi.
- Tulis skrip sederhana untuk mendeteksi saat pemain mengumpulkan suatu item:
using UnityEngine;
public class Collectible : MonoBehaviour
{
private void OnTriggerEnter2D(Collider2D other)
{
if (other.CompareTag("Player"))
{
// Add points or other effects here
Destroy(gameObject); // Remove the collectible from the scene
}
}
}
7. Menguji dan Menyesuaikan Permainan
Setelah mekanisme dasar sudah siap, Anda dapat menguji permainan dengan menekan tombol Play. Coba sesuaikan hal berikut:
- Ubah nilai moveSpeed dan jumpForce untuk mengubah seberapa cepat pemain bergerak dan melompat.
- Gandakan platform dan rintangan untuk menciptakan level yang berbeda.
- Tambahkan elemen latar belakang atau dekorasi untuk membuat permainan lebih menarik secara visual.
8. Meningkatkan Platformer
Untuk membawa permainan platform Anda ke tingkat berikutnya, pertimbangkan untuk menambahkan:
- Animasi untuk pemain, seperti animasi berjalan dan melompat.
- Efek suara untuk melompat, mengumpulkan barang, dan menabrak rintangan.
- Kamera yang mengikuti pergerakan pemain untuk tampilan permainan yang lebih dinamis.
Kesimpulan
Dengan pengaturan platformer 2D yang sederhana ini, kini Anda memiliki struktur permainan dasar yang dapat diperluas dengan lebih banyak fitur, level, dan polesan. Bereksperimenlah dengan berbagai mekanisme dan ciptakan platformer unik Anda sendiri.