Menu
CoddyTech

Bola yang Menggelinding

Termasuk bagian Fisika dan Gameplay dalam perjalanan Unity di Coddy. Pelajaran 27 dari 63.

Bab ini membuat game kecil, Coin Rush. Kamu menggulirkan bola di sekitar arena berdinding dengan tombol panah dan mengumpulkan koin sebelum waktu habis. Dua skrip berbagi tugas, seperti dalam proyek Unity: Ball menggerakkan bola serta mencatat skor dan waktu, sedangkan Coin berada pada setiap koin. Coin.cs dimulai sebagai class kosong, lalu pelajaran berikutnya akan mengisinya.

Bola menggelinding saat kamu mendorongnya, bukan memindahkannya ke posisi tertentu. Dorong Rigidbody dengan AddForce dan biarkan rotasinya bebas: gaya menggerakkan bola, lalu gesekan lantai mencengkeram bagian bawah bola dan memutarnya. Bola bowling ini menggelinding menyusuri lintasannya selama tombol Space ditekan:

public float push = 6f;
private Rigidbody rb;

void Start()
{
    rb = GetComponent<Rigidbody>();
}

void FixedUpdate()
{
    if (Input.GetKey(KeyCode.Space))
    {
        rb.AddForce(Vector3.forward * push);
    }
}

Bola yang menggelinding tanpa tergelincir berputar dengan kecepatan sebesar lajunya dibagi jari-jarinya. Jadi, bola berjari-jari 0.5 yang bergerak dengan kecepatan 3 unit per detik berputar dengan kecepatan 6 radian per detik (rb.angularVelocity). Jika kamu mengubah transform.position, atau membekukan rotasinya di bagian Constraints pada Rigidbody, bola akan meluncur seperti keping tanpa berputar. Bola berbentuk bulat dengan satu warna tampak sama dalam kedua keadaan. Untuk melihatnya menggelinding, amati Angular Velocity di bagian Info pada Rigidbody saat game berjalan.

challenge icon

Tantangan

Sedang

Mulai Coin Rush dengan bola. Inspector memberi Ball force sebesar 10.

  • Di Start(), simpan Rigidbody bola di rb.
  • Di FixedUpdate(), dorong bola menggunakan tombol panah: Input.GetAxis("Horizontal") pada sumbu x dan Input.GetAxis("Vertical") pada sumbu z, keduanya dikalikan force.
  • Biarkan rotasinya bebas agar bola menggelinding.

Untuk sekarang, biarkan Coin.cs seperti apa adanya. Tekan Play, klik game dan gelindingkan bola di arena, lalu tekan Check.

Coba sendiri

using UnityEngine;

public class Ball : MonoBehaviour
{
    public float force = 10f;
    private Rigidbody rb;

    void Start()
    {
    }

    void FixedUpdate()
    {
        // Gunakan tombol panah untuk push bola: Horizontal sepanjang x, Vertical sepanjang z.
    }
}
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Fisika dan Gameplay