# Starter Misi Senyap 3D SMA · Lanjutan · sesi 33–48 ## 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 Graybox, pemain dan penjaga, patroli waypoint, jarak/sudut, RayCast3D dengan halangan, curiga naik/turun, hasil, dan reset. Audit prioritas hasil serta kasus batas tetap menjadi 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 33: Audit Vector3 dan delta. Telusuri jarak, dot product arah pandang dan gerak per detik pada contoh dua titik dengan hasil harapan tertulis - Sesi 34: Graybox koridor. Bangun lantai, dua dinding, pemain CharacterBody3D dan kamera tetap; uji collision sebelum persepsi - Sesi 35: Penjaga dan tiga waypoint. Gerakkan CharacterBody3D menuju tiga waypoint tetap; ambang tiba memajukan indeks tanpa overshoot - Sesi 36: Diagram keadaan terbatas. Definisikan PATROL, ALERT dan RESET serta kapan kontrol pemain terkunci; jangan menambah chase atau pathfinding - Sesi 37: Jarak dan sudut pandang. Periksa batas jarak serta dot product arah depan terhadap pemain sebelum pemeriksaan halangan - Sesi 38: Raycast garis pandang. Gunakan RayCast3D menuju pemain dengan collision mask dan pengecualian penjaga; dinding terdekat harus menghalangi deteksi - Sesi 39: Curiga naik turun. Tambahkan kecurigaan berdasarkan delta hanya saat terlihat; kurangi saat hilang dan batasi rentang 0 sampai 1 - Sesi 40: Transisi ALERT. Saat ambang tercapai kirim event tertangkap sekali, hentikan patroli dan tampilkan hasil gagal - Sesi 41: Keluar dan prioritas hasil. Area3D keluar menerima pemain; tentukan prioritas jika keluar dan ALERT terjadi pada tick sama - Sesi 42: Feedback persepsi. Tampilkan indikator curiga dari nilai model; visual kerucut hanya bantuan dan bukan sumber keputusan deteksi - Sesi 43: Reset keadaan lengkap. Instance ulang arena atau pulihkan semua state secara terpusat; reset waypoint, curiga, pemain dan hasil - Sesi 44: Kasus batas persepsi. Uji tepat di jarak batas, tepi sudut, di balik dinding dan saat keluar dari pandangan - Sesi 45: Eksperimen satu parameter. Bandingkan dua sudut pandang dengan kecepatan tetap; catat peluang lolos pada rute yang sama - Sesi 46: Susunan dinding baru. Penguji menggeser satu dinding; jelaskan prediksi raycast dan buktikan rute keluar masih mungkin - Sesi 47: Build dan uji pengguna stealth. Uji keterbacaan indikator serta kontrol pada perangkat kelas, revisi masalah aturan utama - Sesi 48: Presentasi: Misi Senyap 3D. Peragakan deteksi, halangan, curiga turun, gagal, berhasil dan ulang pada susunan penguji Penguji mengubah satu dinding atau sudut pandang. Prediksi lokasi aman, uji garis pandang serta reset, dan jelaskan perbedaan hasil tanpa mengganti mesin deteksi. ## Kriteria proyek - Waypoint dan diagram keadaan dapat ditelusuri sebelum persepsi digabungkan - Jarak serta sudut saja tidak cukup: dinding memblokir garis pandang - Curiga konsisten terhadap delta dan akhir putaran dipicu sekali - Susunan baru, hasil bersamaan dan reset lolos pengujian tercatat Sumber: https://docs.godotengine.org/en/stable/