20
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

Pertemuan 11 First Person Character Sederhana · • Perhatikan perubahan angka-angka xyz di Position & Rotation ketika: 1. Tekan keyboard asdw Posisi x & z berubah. 2. Gerakkan mouse

  • Upload
    others

  • View
    11

  • Download
    0

Embed Size (px)

Citation preview

Pertemuan 11First Person Character Sederhana

Mata Kuliah Logika GameProgram Studi Teknologi PermainanSekolah Tinggi Multi Media YogyakartaTri 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 (diskrip 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 anglebullet = 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