View
0
Download
0
Embed Size (px)
Pertemuan 11 First Person Character Sederhana
Mata Kuliah Logika Game Program Studi Teknologi Permainan Sekolah Tinggi Multi Media Yogyakarta Tri Anggraeni, S.Kom., M.Sc.
Referensi: mammothinteractive.com
Buat project baru
Klik
Jika belum ada
Klik
Klik
Masukkan keyword , kemudian tekan Enter.
Klik
Klik
Klik
Sekitar 10 menit dengan WiFi lantai 2 gedung depan.
Klik
Ketika Import selesai: Standard Assets terlihat di panel Assets:
• Save scene.
Menggunakan FPS Character sebagai Player
Buka Standard Assets sampai menemukan prefab FPS:
• Drag prefab FPSController ke panel Hierarchy.
• Klik Play mode. Gerakkan mouse. • Akan terlihat scene game
bergerak-gerak saja karena karakternya first person.
• Tekan keyboard w/a/s/d. Terdengar langkah kaki. Karena aset FPSController sudah include audio.
• Tekan keyboard Esc untuk bisa menghentikan Play mode.
Tambahkan Plane
Mengubah cahaya scene • Klik objek Directional Light. Di panel Inspector, klik
pilihan Type, ubah jadi Point.
Meninggikan posisi FPS • Klik objek FPSController. Ubah posisi y-nya menjadi:
• Klik Play mode.
Membuat peluru • Tambahkan sphere. Rename jadi Bullet. • Tambahkan skrip BulletController di sphere agar
bullet dapat bergerak kemanapun FPS menuju.
• Drag Bullet ke Assets Project agar menjadi prefab:
• Perhatikan, bukan di: • Hapus Bullet yang di
Hierarchy.
• Klik FPSController di Hierarchy, tambahkan skrip HeroController (dengan button Add Component di Inspector).
• FPS perlu reference ke prefab Bullet karena Hero akan meletakkan Bullet. Di skrip HeroController, deklarasikan:
Di Unity, drag prefab Bullet ke field Bullet Prefab:
FPS meletakkan Bullet dengan mengeklik mouse • Di function Update, tambahkan:
Klik Play mode. Klik mouse dan tekan keyboard s agar FPS berjalan mundur & Bullet terlihat
• Klik objek FPS ketika masih di mode Play. • Perhatikan perubahan angka-angka xyz
di Position & Rotation ketika: 1. Tekan keyboard asdw
Posisi x & z berubah. 2. Gerakkan mouse
Rotasi y yang berubah. Digunakan untuk menentukan besarnya angle Bullet
& menggerakkan Bullet ke depan.
Bullet digerakkan sebesar angle/sudut tertentu
Deklarasikan variabel untuk menyimpan angle (di skrip BulletController):
Dari slide sebelumnya: Rotasi y FPS digunakan untuk menentukan besarnya angle Bullet.
Di skrip HeroController function Update, tambahkan agar angle dapat diakses dari situ (dari skrip HeroController):
Set angle bullet = rotasi y FPS:
Mengapa this.transform.localEulerAngles.y & bukan this.transform.rotation.y?
Mengapa this.transform.localEulerAngles.y & bukan this.transform.rotation.y?
• Tambahkan sebelum baris yang mengeset angle bullet = rotasi y FPS:
• Klik mode Play.
Klik mode Play
• Gerakkan mouse ke kanan sedikit, klik, tekan keyboard s agar FPS berjalan mundur & Bullet terlihat.
• Cek di panel Console:
• Karena itu, mengeset angle bullet-nya menggunakan this.transform.localEulerAngles.y & bukan this.transform.rotation.y
Sama/mendekati dengan yang ada di Transform:
Di Unity Documentation
• localEulerAngles: The rotation as Euler angles in degrees relative to the parent transform's rotation.
• The x, y, and z angles represent a rotation z degrees around the z axis, x degrees around the x axis, and y degrees around the y axis (in that order).
Di skrip BulletController, tambahkan:
• Di function Update:
Bullet hanya akan digerakkan di koordinat x & z.
• Mathf: A collection of common math functions. • Mathf.Cos(float f): returns the cosine of angle f in
radians. • Mathf.Deg2Rad: to convert degrees to radians.
• Klik mode Play. • Klik untuk memunculkan sphere bullet. Bullet meluncur ke depan setelah dimunculkan/
diklik.
Tambahkan menjadi:
• Klik mode Play. Klik untuk memunculkan sphere bullet.
• Perhatikan bedanya. Tampak muncul dari tengah.
Membuat bullet muncul di safe area (ada jarak antara FPS & munculnya bullet)
Modifikasi skrip HeroController function Update menjadi:
jarak antara FPS & munculnya bullet
Pertemuan 11�First Person Character Sederhana Buat project baru Slide Number 3 Masukkan keyword , kemudian tekan Enter. Slide Number 5 Ketika Import selesai: Standard Assets terlihat di panel Assets: Slide Number 7 Tambahkan Plane Membuat peluru Slide Number 10 FPS meletakkan Bullet dengan mengeklik mouse Klik Play mode. Klik mouse dan tekan keyboard s agar FPS berjalan mundur & Bullet terlihat Bullet digerakkan sebesar angle/sudut tertentu Mengapa this.transform.localEulerAngles.y & bukan this.transform.rotation.y? Klik mode Play Di Unity Documentation Di skrip BulletController, tambahkan: Slide Number 18 Tambahkan menjadi: Membuat bullet muncul di safe area �(ada jarak antara FPS & munculnya bullet)