Hendri Prasetyo

Selasa, 29 Desember 2015

On 22.33 by Unknown   No comments


Di Part sebelumnya kita telah membuat Background System berupa endless background, pada tutorial kali ini kita akan membuat objek Player yang berfungsi sebagai tokoh utama dalam game Space Sonic ini. Oke, langsung saja pilih sprite hero_normal pada folder sprites, perhatikan gambar berikut :


Sebelum dimasukkan ke dalam scene, untuk memudahkan dalam pengelompokan buatlah folder baru didalam objek main camera dengan nama Hero, jika sudah drag sprite tersebut ke dalam folder Hero tersebut kemudian ubah nama objek tersebut dengan nama Player. Sekali lagi ini hanya penamaan saja, sesuaikan saja dengan kebutuhan. Intinya objek utama ini harus berada pada parent main camera, karena camera ini terus bergerak, jelas objek utamapun harus mengiuti camera.

Selanjutnya kita perlu menambahkan Collider dan Rigidbody pada objek tersebut, pilih objek Player tadi kemudian tambahkan komponen-komponen berikut :


Sprite renderer secara otomatis sudah attach dalam objek tersebut, yang harus kita set adalah Sorting Layer. Jika sebelumnya objek-objek background memiliki Sorting Layer background, maka untuk Objek Player ini silahkan buat kembali Sorting Layer dengan nama Player untuk memudahkan kita dalam menata atau ordering sprite yang akan dirender oleh Camera. Selanjutnya adalah Polygon Collider, collider ini secara otomatis akan mengikuti struktur Objek / sprite dalam kapsulasinya. Karena objek yang kita tambahkan bisa terbilang mempunyai shape yang kompleks, maka collider yang dipakai adalah Polygon. Terakhir adalah Rigidbody. Sebenarnya pada objek ini kita tidak benar-benar membutuhkan simulasi fisik seperti gravity, masa dll. Satu-satunya alasan Rigidbody ini ditambahkan adalah untuk utilitas collision. Sehingga beberapa valuenya kita biarkan nol saja. Selanjutnya kita akan menambahkan Script untuk kontrol Player. Silahkan tambahkan komponen baru berupa C# script pada objek player tersebut dengan nama PlayerMovement.cs


Script diatas hanya mengontrol movement Objek ke arah kiri dan arah kanan. Kita tidak memerlukan speed objek ke arah sumbu y, karena nanti objek ini akan mengikuti movement camera yang sudah kita atur sebelumnya. Saya memisahkan control input dan movement pada dua method yang berbeda, input pada method Update() dan physics pada method FixedUpdate(). FixedUpdate memang biasanya digunakan untuk fungsi-fungsi yang memerlukan simulasi fisik dalam penggunaannya. FixedUpdate dipanggil setiap satuan waktu konstan yang dapat kita ubah besarnya pada Edit->Project Settings->Time, sedangkan Update dipanggil setiap frame, biasanya digunakan untuk kepentingan render. Namun sekali lagi, kita tidak benar-benar memerlukan simulasi fisik untuk menggerakan objek tersebut, sehingga untuk menggerakan objek tersebut menggunakan transform.Translate. Save script tersebut, kemudian lihat pada inspector, ubah nilai speedMove sesuai kebutuhan. Hit play pada scene, maka hasilnya akan seperti berikut :

Sampai sini kita sudah bisa mengontrol objek menggunakan keyboard, sedangkan target kita nantinya akan dibuild untuk Android menggunakan touch. Kita akan membuat input control untuk Androidnya setelah semua game logic berhasil dibuat, untuk saat ini kita memerlukan input menggunakan keyboard untuk keperluan debugging saja.

Part selanjutnya kita akan membuat player laser dan enemy dan beberapa game logic lainnya. Berikut linknya -->




0 komentar:

Posting Komentar