Pertemuan 11 First Person Character Sederhana • Perhatikan perubahan angka-angka xyz di Position &

  • View
    0

  • Download
    0

Embed Size (px)

Text of Pertemuan 11 First Person Character Sederhana • Perhatikan perubahan angka-angka xyz di...

  • 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)