# Starter Balap Waktu 3D SMA · Pemula · sesi 57–64 ## Memakai starter Ekstrak seluruh ZIP, Project Manager → Import → project.godot, lalu F5. Panah bergerak pada mode fisika; petunjuk kontrol khusus ada pada HUD. R membuat scene baru. Siapkan folder terpisah sebelum mengubah kode. Godot 4.x; contoh diperiksa dengan 4.4.1 Compatibility. ## Cakupan yang tersedia CharacterBody3D, tiga gerbang ber-ID berurutan, jam frame, hasil, dan reset. Menu, rekaman timestamp, FileAccess, serta validasi rekor adalah tugas. Starter adalah acuan struktur dan mekanik minimum, bukan proyek akhir yang memenuhi semua rubrik. Gunakan lab sesi untuk menguji konsep kecil. Siswa membangun integrasi dan keputusan sendiri sesuai tugas presentasi. Tidak ada build executable yang diklaim telah diuji oleh paket ini. ## Susunan node saat runtime Node dibuat oleh world.gd dari bentuk dasar. Jalankan F6 lalu lihat Scene → Remote untuk menelusuri pohonnya. Untuk belajar konstruksi editor, buat scene siswa terpisah dan tambahkan node melalui tombol + sesuai fungsi helper di world.gd. ```text Arena3D WorldEnvironment DirectionalLight3D Camera3D (current) StaticBody3D + CollisionShape3D (lantai) MeshInstance3D / CharacterBody3D / RigidBody3D (sesuai mode) CanvasLayer → Label (HUD) ``` ## Cara membangun di editor 1. Buat root Node3D, simpan scene. 2. Tambahkan bentuk visual dan collision secara terpisah. Collider harus anak badan/area, bukan hanya mesh. Pada 3D, tambahkan kamera current dan lampu. 3. Tambahkan script pada node yang tepat. Implementasikan satu mekanik dari tugas sesi, uji, baru lanjut. 4. Hubungkan signal sekali lewat panel Node atau _ready. Label membaca model, bukan menjadi sumber keadaan. 5. Catat input, keadaan awal, harapan, aktual, perbaikan, dan batas pengujian. ## Urutan praktik - Sesi 57: Brief balap dan scene terpisah. Tulis kontrol, tiga gerbang dan kondisi selesai; pisahkan scene kendaraan, lintasan serta pengatur putaran - Sesi 58: Gerak arcade dan kamera. Gunakan CharacterBody3D pada X-Z dengan Input Map serta move_and_slide; putar model mengikuti arah dan pakai kamera tetap tinggi - Sesi 59: Gerbang berurutan. Setiap Area3D mengirim ID; terima hanya gerbang berikut yang diharapkan dan abaikan gerbang salah atau kontak berulang - Sesi 60: Waktu dan hasil putaran. Catat waktu mulai lalu selisih saat gerbang ketiga sah; hentikan waktu dan kendaraan sebelum menampilkan hasil - Sesi 61: Menu serta ulang lengkap. Hubungkan menu-main-hasil-ulang; reset gerbang, posisi dan jam serta putuskan apakah rekor harus dipertahankan - Sesi 62: Rekor lokal tervalidasi. Gunakan FileAccess dan JSON di user:// untuk satu angka waktu positif; cek file ada, parse berhasil dan nilai numerik sebelum menerapkan, beri default saat gagal - Sesi 63: Uji build pada perangkat kelas. Mentor menyiapkan export template; siswa uji kontrol, urutan gerbang dan buka ulang rekor pada build lokal lalu tulis README - Sesi 64: Presentasi: Balap Waktu 3D. Serahkan sumber, build jika lingkungan mendukung, tabel uji gerbang salah, file hilang atau rusak, ulang dan rekor; catat batas pengujian ## Kriteria proyek - Kendaraan dan pengatur putaran memiliki tanggung jawab terpisah - Gerbang di luar urutan tidak mengubah progres dan finish dihitung sekali - Reset mengembalikan putaran tanpa menghapus rekor yang sah - File hilang atau rusak memakai default; hasil uji build dicatat jujur Sumber: https://docs.godotengine.org/en/stable/