Membangun Game First Person Shooter (FPS) dengan Unity3d Engine —- [part 1]

Tulisan ini merupakan terjemahan bebas dari tutorial membangun FPS yang disediakan oleh unity3d.com. Tutorial asli dalam versi bahasa Inggris dapat ditemukan di unity3d.com. Resource yang saya gunakan juga dapat didownload di unity3d.com/support/resources/tutorials/fpstutorial.html.

Berikut ini langkah-langkah membangun FPS dengan Unity3d:

  1. Download FPS_Tutorial.zip dari alamat diatas, Unzip kemudian buka project di dalamnya menggunakan Unity3d.
  2. Import standard assets milik Unity3d ke dalam project yang telah anda buka tersebut. Standard assets ada di folder Standard Packages yang ada di dalam folder dimana Unity3d terinstall.
  3. Prinsip game FPS adalah mengeksplorasi suatu area kemudian menembak musuh-musuh yang muncul. Jadi untuk membangun game FPS, pertama diperlukan objek area. Dalam tutorial FPSini, Unity3d telah menyediakan objek area yang dapat langsung digunakan.
    Pilih objek mainLevelMesh di panel Projects dengan cara: klik mainLevelMesh (Objects/mainLevelMesh/mainLevelMesh) yang ada di panel Projects.
    Perhatikan di panel Inspector, dibagian FBXImporter, pastikan option “Generate Colliders” aktif (dengan memberi tanda centang).
    Drag objek mainLevelMesh dari panel Projects ke dalam scene. Sekarang anda telah memiliki objek berupa area yang akan digunakan sebagai wilayah eksplorasi FPS anda.
  4. Selanjutnya adalah menambahkan karakter FPS itu sendiri. Karakter FPS yang akan digunakan adalah aset standar yang telah disediakan oleh Unity3d. Klik dan drag aset First Person Controller (jendela project, folder Standard Assets > Prefabs) ke scene. Di scene akan muncul objek berbentuk silinder yang merepresentasikan pemain game. Perhatikan penempatan objek silinder ini terutama nilai y, tempatkan First Person Controller di atas permukaan area game.

    jika penempatan benar maka ketika tampilan Play dijalankan, anda sudah dapat mengekplorasi area dengan menggunakan keyboard dan mouse sebagai alat gerak.

  5. Selanjutnya menambahkan senjata. Menambahkan peluncur granat: Buat game objek kosong, rename sebagai Launcher, tempatkan di tempat yang sama dengan aset FPS di scene dengan cara:
    Klik FPS di panel Hierarchy, letakkan kursor mouse di Scene, tekan tombol “F” di keyboard. Klik Launcher di panel Hierarchy lalu pilih menu Game Object > Move to view. Di scene akan terlihat launcher berpindah tempat ke tempat FPS asset.


    Tetapi ketika game dijalankan, objek launcher belum bergerak mengikuti objek FPS.

    Untuk mengatasi masalah ini, drag objek Launcher ke dalam Main camera yang dimiliki oleh FPS di jendela Hierarchy.


    Klik tombol Play, Ketika menjalankan objek FPS, perhatikan Scene View, objek Luncher akan ikut bergerak bersama objek FPS.
     

  6. Membuat objek granat sederhana: Buat prefab baru, rename sebagai Missile. Kemudian buat objek bola (klik menu GameObject > Create Other > Sphere). Objek bola ini akan ditampilkan di jendela Hierarchy dan Scene View. Drag objek bola ini dari panel Hierarchy ke prefab Missile yang ada di panel project. Hapus objek Sphere di panel Hierarchy.
  7. Membuat kode peluncur granat: Buat dokumen Javascript baru, beri nama MissileLauncher, isikan kode berikut:

    var projectile : Rigidbody;
    var speed = 20;

    function Update()
    {
        if( Input.GetButtonDown( “Fire1” ) )
       
        {
            var instantiatedProjectile : Rigidbody = Instantiate(projectile, transform.position, transform.rotation );
            instantiatedProjectile.velocity =transform.TransformDirection( Vector3( 0, 0, speed ) );
            Physics.IgnoreCollision( instantiatedProjectile. collider,
                transform.root.collider );
        }
    }

    Attach script ini kedalam objek Launcher yang ada di dalam objek FPS. Untuk memastikan bahwa objek FPS telah memiliki script Missile Launcher, klik objek Launcher di panel Hierarchy, di panel Inspector akan muncul Properti script Missile Launcher. Disini terlihat variabel projectile masih kosong.

  8. Klik prefab Missile di panel Project, klik Components > Physics > Rigidbody
  9. Klik Launcher di panel Hierarcy, drag prefab Missile dari panel Project ke variabel projectile di panel Inspector.

    Jalankan game, klik mouse, sekarang anda dapat menembakkan granat berbentuk bulat.

  10. Menambahkan efek ledakan. Buat javascript baru, beri nama Projectile. Isikan kode berikut:

    var explosion : GameObject;
    function OnCollisionEnter( collision : Collision )
    {

     var contact : ContactPoint = collision.contacts[0];
     var rotation = Quaternion.FromToRotation( Vector3.up, contact.normal );
     var instantiatedExplosion : GameObject = Instantiate(
     explosion, contact.point, rotation );
     Destroy( gameObject );

    }

    Attach script ini ke prefab Missile. Selanjutnya membuat ledakan, buat prefab baru,beri nama Explosion. Efek ledakan akan menggunakan aset Particle standar dari Unity3d. Drag prefab Explosion dari panel Project Standard Asets > Paticles > Explosion ke panel Hierarchy. Lakukan seting sesuka anda, kemudian drag Explosion dari panel Hierarchy ke prefab Explosion yang tadi telah dibuat.

  11. Klik prefab Missile di panel project, drag prefab Explosion dari panel Project ke variabel Explosion (script Projectile) di panel Inspector.
  12. Buat script baru, rename dengan Explosion, isikan kode:

    var explosionTime = 1.0;
    function Start()
    {
     Destroy( gameObject, explosionTime );
    }

    attach script Explosion ke prefab Explosion. Jalankan game, sekarang setiap klik mouse, granat akan muncul dengan efek ledakan.

  13. Menambahkan suara ledakan. Klik prefab Explosion di panel Project. Klik Component > Audio > Audio Source. Panel Inspector akan menampilkan Audio Source. Klik tanda bulatan kecil di samping kanan kotak Audio Clip. Pilih Rocket Launcher Impact.

    Jalankan game.

    Sumber: unity3d.com/support/resources/tutorials/fpstutorial.html

Leave a comment

Your email address will not be published. Required fields are marked *