Belajar Script Unity Untuk Pemula - IMedia9 - Connecting Inspiration

Breaking

Saturday, January 12, 2019

Belajar Script Unity Untuk Pemula



Belajar Script Unity Untuk Pemula - Di versi-versi awal Unity mendukung pemrograman untuk 3 bahasa yaitu Unity Script (yang merupakan modifikasi dari Javascript), Boo dan C#. Namun di versi terbaru, Unity menghilangkan kompatibilitas tersebut dan hanya mendukung bahasa C#. Secara umum, tidak ada perbedaan signifikan antara bahasa C# yang digunakan di Visual Studio dengan Unity. Perbedaan hanya terletak pada penggunaan class-class yang digunakan pada Unity yang lebih fokus pada pembangunan sebuah game.

Berikut ini adalah beberapa tipe data yang biasa digunakan pada pemrograman berbasis C, termasuk Unity.

Tipe Data
Keterangan
int
Tipe data integer adalah tipe bilangan bulat. Misal: -1,0,1 dst  
float
Tipe data float adalah tipe bilangan desimal dengan postfix f di belakang koma. Misal: 0.1f, -0.1f dst
char
Tipe bilangan karakter dengan notasi kutip satu (‘). Misal: ‘a’,’1’ dst
string
Tipe bilangan multi-karakter dengan notasi kutip ganda (“). Misal: “abc”,”123” dst
enum
Tipe enumerasi digunakan untuk membuat flag sebagai identitas khusus pada proses percabangan. Misal: enum WIN, LINUX, MAC, dst

Berikut ini adalah beberapa tipe data dan class khusus yang digunakan pada pemrograman game berbasis Unity.

Tipe Data / Class
Keterangan
Vector3
Tipe data yang terdiri dari 3 record penanda koordinat yang terdiri dari koordinat X,Y, dan Z. Berlaku juga untuk tipe Vector2
Rect
Tipe data yang terdiri dari 4 record penanda region yang terdiri dari left,top,width dan height
GameObject
Class umum yang digunakan untuk mengakses GameObject yang dipasang pada Scene.
Transform
Class yang terdiri dari 3 tipe penunjuk posisi GameObject yang terdiri dari Position, Rotation dan Scale
Collider
Class yang berfungsi untuk mendeteksi ada/tidaknya tumbukan antara dua GameObject.
Renderer
Class yang berfungsi untuk menampilkan material/tekstur yang dipasang pada sebuah GameObject
RigidBody
Class yang berfungsi untuk memberikan simulasi gravitasi otomatis pada GameObject
Character Controller
Class yang berfungsi untuk memberikan simulasi gravitasi manual via script pada GameObject. Umumnya digunakan untuk pergerakan karakter utama/musuh. 

Fungsi keyword yang paling sering digunakan pada Unity adalah keyword Private dan Public. Khusus untuk penggunaan keyword Public, seluruh variabel yang diberi directive Public akan ditampilkan secara khusus di IDE Unity dalam bentuk Inspector sebagai property/atribut objek.

Contoh Script
Tampilan Inspector

private int BilanganBulat;
public float BilanganDesimal;
private Vector2 Posisi2D;
public Vector3 Posisi3D;


 

Unity juga memiliki beberapa fungsi build-in yang merupakan fungsi khusus yang akan dieksekusi secara otomatis oleh Unity pada mode run time.

Tipe Data / Class
Keterangan
Awake
Fungsi yang dijalankan pertama kali oleh sebuah GameObject sebelum divisualisasikan ke layar. Fungsi ini hanya dijalankan 1 kali.
Start
Fungsi yang dijalankan setelah GameObject ditampilkan di layar/satu frame setelah fungsi Awake. Fungsi ini hanya dijalankan 1 kali dan cocok digunakan sebagai inisialisasi
Update
Fungsi ini merupakan fungsi loop-forever atau fungsi yang dijalankan setiap frame mulai dari sebuah scene dijalankan sampai dimatikan kembali
OnGUI
Fungsi untuk menampilkan berbagai Graphic User Interface (GUI) seperti text, button, scrollbar ke layar. Meski telah dinyatakan deprecated dan digantikan dengan mekanisme UI berbasis Canvas, fungsi ini masih bisa diakses dan cocok digunakan sebagai pembelajaran
OnCollisionEnter
Event yang dijalankan ketika terjadi tumbukan antara beberapa GameObject yang memiliki Collider. Event ini serupa dengan OnCollisionTrigger. Hanya saja kedua fungsi ini memiliki metode identifikasi collider yang berbeda.
OnMouseUp,
OnMouseDown
Event standar yang berasosiasi dengan penggunaan mouse input. Secara default, seluruh fungsi yang berkaitan dengan mouse secara otomatis sudah mampu mendeteksi touch ketika game dikonversi menjadi berbasis gadget.


Pemrograman C# Pada Unity

Ada 2 hal mendasar yang harus dipahami untuk mampu melakukan pemrograman pada Unity. Yang pertama, setiap script pada Unity HANYA akan dieksekusi jika telah dipasangkan/menjadi Component pada sebuah GameObject. Yang kedua, setiap script pada Unity memiliki hubungan satu-ke-satu dengan GameObject yang menjadi Parent-nya.

Hal inilah yang membuat pemrograman pada Unity sangat unik. Karena satu buah script dapat berlaku sama jika dipasangkan beberapa GameObject , dan di sisi lain, satu buah script juga dapat berlaku spesifik dan hanya boleh dipasangkan pada satu GameObject tertentu saja.

Untuk membuat script pada Unity anda bisa menggunakan menu Assets > Create > C# Script atau klik kanan pada Project Window dan mengakses menu yang sama.



Secara default sebuah script baru bernama NewBehaviourScript akan terbentuk. Pastikan anda mengganti nama file ini dan sesuaikan dengan kebutuhan script. Penting juga untuk diingat bahwa nama file ini akan berasosiasi dengan nama class.

Untuk mengedit file C# pada Unity anda cukup melakukan klik ganda pada file tersebut. Pada versi Unity terdahulu editor standar untuk melakukan pemrograman adalah MonoDevelop.



Namun pada versi Unity 5.6 ke atas, editor standar untuk melakukan pemrograman adalah Visual Studio Community Edition yang jauh lebih stabil.



Anda bisa melakukan pengaturan terhadap editor yang akan digunakan dengan mengakses menu Edit > Preferences… dan pilih External Tools.



Berikut ini adalah contoh script sederhana untuk melakukan rotasi pada sumbu X,Y,Z pada GameObject yang menjadi parent-nya.

Nama Script: RotateMe.cs



Script ini merupakan contoh script yang general atau berlaku sama jika dipasangkan pada beberapa GameObject yang berbeda.

Artinya jika script ini dipasangkan di 3 GameObject yang berbeda maka efek dari rotasi juga akan ditampilkan untuk seluruh GameObject.



Sementara berikut ini adalah contoh script lain yang memiliki fungsi sama namun  hanya berlaku pada satu GameObject tertentu yaitu GameObject yang memiliki nama “Capsule”.

Nama Script: RotateMe.cs



Sehingga sekali pun script ini dipasangkan ke 3 GameObject yang berbeda hanya satu GameObject saja yaitu “Capsule” yang akan terperngaruh dan melakukan gerak rotasi.

Contoh lainnya adalah penggunaan keyword Public pada Script yang dapat membuat penggunaan fungsi lebih dinamis.

Nama Script: RotateMe.cs



Dalam contoh ini, Script dipasangkan pada GameObject Cylinder. Namun pada variabel TargetObject yang diisikan adalah GameObject Cube. Sehingga GameObject yang terperngaruh oleh script ini adalah GameObject Cube



belajar script unity3d
belajar script c# unity
belajar script di unity

No comments:

Post a Comment