Sabtu, 09 Mei 2020

Tutorial Dasar Fungsi Translate() Dan Raycast() Unity 3D

Pada Tutorial sebeluamnya kita sudah mengal apa itu Prefab? Dan membuat sebuah Fungsi Instantiate(). Kali ini kita akan membuat sebuah Fungsi Translate() Dan Raycast().
Translate adalah sebuah fungsi untuk membuat sebuah objek bergerak secara relatif terhadap posisinya sendiri dan bukan pada posisi dunia. Contohnya jika tombol panah maju ditekan maka objek akan mau ke depannya dan bukan ke arah depan pandangan pengguna.
Fungsi Raycast() merupakan fungsi untuk melakukan penembakan ke arah yang dituju oleh kursor mouse dan menghasilkan koordinat Vector 3D.

Baca Juga : Universitas Budi Luhur
...

Buatlah Project Baru di Unity atau cukup Scene Baru saja (jika Anda masih ingin menggunakan project materi sebelumnya). Dan Pastikan Project yang digunakan adalah Game 3D.
Tambahkan Sebuah GameObject  Plane. Klik menu GameObject -> 3D Object -> Plane.
Dan TambahkanSebuah GameObject Cube dengan cara Klik menu GameObject -> 3D Object -> Cube.

Lalu Klik Object Cube dan Tambahkan sebuah Component Rigidbody melalui menu Component -> Physics -> Rigidbody.

Kemudian Atur Posisi Cube agar berada tepat di atas Plane seperti berikut dengan menggunakan gizmo atau panel Transform. Sampai langkah ini Anda sudah memiliki sebuah Cube yang memiliki massa dan dipengaruhi oleh gaya gravitasi.

Tambahkan Sebuah Asset Gambar apapun dengan cara klik kanan pada Panel Assets lalu pilih Import New ASsets… Pasang texture tersebut pada Cube. Gambar ini hanya untuk membuat cube lebih menarik saja.

Berikutnya Buat Script beri nama TranslateScript.cs Dan Pasang Script tersebut ke Cube yang tadi dibuat, lalu ubah menjadi seperti di bawah ini:
                                                                                                                                                                
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class TranslateScripts : MonoBehaviour {

float power = 300, distGround;
Rigidbody myRigidbody;

// Use this for initialization
void Start () {
myRigidbody = GetComponent<Rigidbody>();
distGround = GetComponent<BoxCollider>().bounds.extents.y;
}

// Update is called once per frame
void Update () {

if ( Input.GetKey(KeyCode.UpArrow) ) {
transform.Translate(Vector3.forward * Time.deltaTime);
}

if ( Input.GetKey(KeyCode.DownArrow) ) {
transform.Translate(Vector3.back * Time.deltaTime);
}

if ( Input.GetKey(KeyCode.LeftShift) && Input.GetKey(KeyCode.RightArrow) ) {
transform.Translate(Vector3.right * Time.deltaTime);
} else if ( Input.GetKey(KeyCode.RightArrow) ) {
transform.Rotate(0,1,0);
}

if ( Input.GetKey(KeyCode.LeftShift) && Input.GetKey(KeyCode.LeftArrow) ) {
transform.Translate(Vector3.left * Time.deltaTime);
} else if ( Input.GetKey(KeyCode.LeftArrow) ) {
transform.Rotate(0,-1,0);
}

if ( isGrounded() && Input.GetKeyUp(KeyCode.Space) ) {
myRigidbody.AddForce(transform.up*power);
}
}

bool isGrounded() {
return Physics.Raycast(transform.position, -Vector3.up, distGround + 0.1f);
}
}
                                                                                                                                                                

Jalankan Games. Tekan tombol tombol panah kanan, panah kiri. Selanjutnya tekan dan tahan tombol shift kiri + tekan tombol panah kanan atau kiri. Bagaimana hasilnya?
Jika tidak ada kesalahan (debug) seharusnya game sudah bisa menggerakkan Cube menggunakan keyboard dan meloncat jika menekan tombol spasi.
Ada game yang kameranya mengikuti objek kemanapun perginya. Ada banyak cara untuk membuat seperti ini, salah satu cara yang paling mudah adalah dengan menjadikan MainCamera sebagai child dari GameObject Cube. Caranya drag saja langsung GameObject MainCamera di tab Hierarchy ke GameObject Cube. Atur posisi MainCamera sesuai yang diinginkan, misalnya di depan atau di belakang, bahkan di atas cube.
Dan kini hanya dengan menggunakan satu script kita bisa membuat berbagai jenis game dengan pergerakan kamera yang berbeda-beda.

Berikutnya Cube akan dibuat bergerak menuju suatu titik berdasarkan Input dari Mouse.
Atur Posis MainCamera seperti semula sehingga tidak lagi menjadi child dari cube dan dapat melihat keseluruhan Plane Cube dari atas. Dan Tambahkan sebuah Plane lainnya, beri nama Target. Kecilkan ukuran Plane tersebut dengan menggunakan gizmo scale dan tambahkan sebuah material dan beri warna tertentu sehinga plane target dapat terlihat kontras dengan Plane yang berada di bawahnya.

Buat Script Baru lalu beri nama RaycastCube.cs :
                                                                                                                                                                
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class RaycastCube : MonoBehaviour {

Ray myRay;
RaycastHit myRaycasthit;
public GameObject target;
public bool isDebug = true, isMoving = false;

// Update is called once per frame
void Update () {

if ( Input.GetMouseButtonUp(1) ) {
myRay = Camera.main.ScreenPointToRay(Input.mousePosition);
Physics.Raycast(myRay, out myRaycasthit, 300);
target.transform.position = myRaycasthit.point + new Vector3(0, 0.1f, 0);
transform.LookAt(target.transform);
}

if ( isMoving && Vector3.Distance(transform.position, target.transform.position) > 0.6f ) {
transform.position = Vector3.MoveTowards
(transform.position, target.transform.position, 10 * Time.deltaTime);
}

if ( isDebug ) {
Debug.DrawLine(GameObject.Find("Main Camera")
.gameObject.transform.position, myRaycasthit.point, Color.red );
}
}
}
                                                                                                                                                                
Pasang Script tersebut di GameObject Cube, isikan parameter Target dengan GameObject Plane Target yang tadi sudah dibuat. Untuk percobaan awal, biarkan parameter Is Moving Tidak Dicentang kemudian jalankan Game.
Klik Kanan pada Sembarang tempat di plane pertama, perhatikan plane yang dipasang material akan berpindah pada posis tepat di posisi mouse dan Cube berputar sesuai dengan arah Plane tersebut.
Hal lain yang menarik dari proses ini adalah ketika Anda berpindah dari tab Game ke tab Scene saat Game masih berjalan. Anda dapat melihat sebuah garis lurus berwarna merah yang ditembakkan langsung dari GameObject Main Camera menuju titik pusat plane kecil (target). Kira-kira seperti itulah bentuk ‘nyata’ dari fungsi RayCast yang merupakan salah satu fungsi utama yang sering digunakan untuk menciptakan interaksi antara user dengan lingkungan game.
Kursor mouse TIDAK PERNAH TAHU benda apa yang diklik dalam game. Satu-satunya yang bisa dilakukannya hanya mengirimkan posisi koordinat yang diklik. RayCast merupakan fungsi untuk melakukan penembakan ke arah yang dituju oleh kursor mouse dan menghasilkan koordinat Vector3D (dalam hal ini Plane). Pada posisi perpotongan antara garis merah dan plane putih itulah, objek target berpindah.

Langkah Selanjutnya adalah, Matikan kembali Game, Lalu Centang parameter Is Moving, dan Jalankan kembali Game. Kini selain hanya melihat ke arah posisi titik yang diklik oleh mose, Cube juga akan bergerak menuju Plane.


Selesai! Apa selanjutnya?

Baca Juga : Universitas Budi Luhur

Tutorial Dasar Membuat Prefab Unity 3D


Prefab merupakan sebuah GameObject yang disimpan ke dalam Assets, yang nantinya bisa dimanfaatkan menjadi GameObject kembali.
Dan dalam membuat Prefab ini kita juga akan mengenal sebuah Fungsi Instantiate() atau yang dalam banyak forum lebih sering disebut dengan: "Fungsi untuk membuat GameObject secara runtime."
Idenya Game yang akan dibuat kali ini cukup sederhana yaitu membuat Prefab dari sebuah GameObject dan mendaftarkannya sebagai sebuah variable public agar dapat dibuat ulang berkali-kali oleh fungsi pemanggil. Fungsi ini merupakan salah satu fungsi yang sering digunakan dalam pembuatan Game.

Baca Juga : Universitas Budi Luhur

Buatlah Project Baru di Unity atau cukup Scene baru saja (jika Anda masih ingin menggunakan project materi sebelumnya). Dan Pastikan Project yang digunakan adalah Game 3D.

Tambahkan Sebuah Plane dengan cara klik menu GameObject -> 3D Object -> Plane lalu ganti namanya menjadi Lantai1.
Atur Posisi Main Camera dan Plane menggunakan Gizmo atau Panel Transform sehingga Kamera dapat melihat lantai dengan jelas berada di bawah.
Tambahkan Plane Kedua, ganti namanya menjadi Lantai2 dan atur Scalenya menggunakan tombol Scale di pojok kiri atas atau masukkan angkanya pada panel transform.
Angkat posisi Lantai2 sedikit ke atas dan atur kemiringannya sehingga mirip seperti gambar berikut.
Klik Lantai2 pada tab Hierarchy kemudian buat GameObject Child dengan cara: klik menu GameObject -> Create Empty Child.
Atur Posisi GameObjectChild tadi menggunakan gizmo atau panel Transform sehingga sedikit di atas Lantai2 seperti gambar berikut.
Untuk Memudahkan penyebutan. Ganti nama Game Object Child tadi menjadi TitikJatuh.
Selanjutnya Buat Sebuah Sphere Baru dengan cara klik menu GameObjects -> 3D Object -> Spphere dan ganti namanya menjadi MyBall.
Tambahkan Sebuah gambar pada panel Assets dengan cara klik kanan pada panel Assets -> Import New Assets..., lalu pilih salah satu gambar yang ada di komputer Anda.
Dari Panel Assets, Drag gambar tersebut menggunakan mouse lalu letakkan pada MyBall sehingga terlihat seperti di bawah ini.
Klik MyBall dan tambahkan RigidBody dengan cara klik menu Component -> Physics -> Rigidbody.
Rigidbody adalah sebuah komponen penting yang dapat membuat GameObject seolah-olah memiliki berat dan dapat dipengaruhi oleh gaya gravitasi.

Buat Sebuah Physic Material dengan cara klik Assets -> Create -> Physics Material dan beri nama Bounce.
Ganti Parameter Bounciness menjadi 0.9 untuk menambahkan efek memantul.
Kita Kembali ke GameObject MyBall, tambahkan Material Bounce dengan cara Drag dari panel Assets ke panel Sphere Collider, parameter material. Atau klik tombol kecil di kolom Material pada komponen Sphere Collider milik MyBall.
Berikutnya untuk menjadikan PrefabDrag MyBall dari tab Hierarchy ke panel Assets.
Jika Prefab MyBall sudah dibuat, Anda dapat Menghapus GameObject MyBall dari tab Hierarchy, karena yang akan kita Gunakan adalah Prefab yang sekarang sudah ada di Assets.
"Prefab adalah sebuah instansiasi dari sebuah GameObject sehingga GameObject yang sudah pernah dibuat bisa digunakan kembali dengan cepat. Selain itu Prefab memungkinkan GameObject digandakan menggunakan script"

Baca Juga : Universitas Budi Luhur

Buat Script C# dan beri nama GandakanBola.cs lalu ubah script menjadi seperti berikut ini:
                                                                                                                                                                  
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class GandakanBola : MonoBehaviour {

public GameObject TempatJatuh, Bola;

void OnGUI () {

GUILayout.BeginArea( new Rect(10,10,200,200) );
if ( GUILayout.Button("Buat Bola") ) {
GameObject temp = (GameObject)
GameObject.Instantiate(
Bola, TempatJatuh.transform.position,
TempatJatuh.transform.rotation);
Destroy(temp, 5);
}
GUILayout.EndArea();
}
}
                                                                                                                                                                  
Selanjutnya Pasang Script tersebut di GameObject Mana Saja yang Anda suka, lalu pastikan parameter TempatJatuh dan parameter Bola diisi.
Parameter Tempat Jatuh diisi dengan GameObject TitikJatuh, sedangkan Parameter Bola diisi dengan Prefab MyBall.

Jalankan Games dan klik tombol Buat Bola berkali-kali. Perhatikan pula kondisi tab Hierarchy dengan seksama, semua GameObject yang terbentuk dan terterah di sana akan menghilang secara otomatis setelah 5 detik. Beginilah cara Unity membuat GameObject secara runtime sekaligus menjaga kestabilan penggunaan memori pada Komputer.

Kamis, 07 Mei 2020

Tutorial Dasar Interaksi Object Unity 3D

Dikesempatan kali ini saya akan memberikan tutorial sederhana cara yang bisa dilakukan sebuah script untuk berinteraksi dengan GameObject, diantaranya:

Pasang Script Langsung Pada Object.
Pasang Script Pada Object Lain, Lalu Menggunakan Fungsi Untuk Mencari Object Yang Dituju.

Untuk kamu yang baru belajar software Unity 3D sebaiknya mencoba tutorial ini, karena dalam tutorial ini sangat sederhana.


Baca Juga : Universitas Budi Luhur
Buatlah Project Baru di Unity atau cukup scene baru saja (jika masing ingin menggunakan project dari materi sebelumnya).

Tambahkan Sebuah Cube dengan cara klik menu GameObject -> 3D Object -> Cube. Posisikan Cube agar berada di depan kamera. Salah satu caranya:
Drag Panah warna Biru untuk pergeseran posisi z, warna Merah untuk posisi x, dan warna Hijau untuk posisi y. Perhatikan pada bagian Inspector saat pergeseran, ada angka yang berubah-ubah dan kita juga bisa merubah posisi tersebut pada bagian ini.
Beri Nama Cube tersebut dengan nama Kubus1. Caranya klik Cube pada tab Hierarchy, tekan F2 dan ketik namanya, atau bisa juga menggunakan tab Inspector dan ketik namanya di textbox paling atas.
Lakukan Hal Yang Sama sehingga terdapat 4 buah kubus yang saling berdampingan dengan nama berbeda. Cara lain yang dapat dilakukan untuk menggandakan object adalah dengan duplikasi object (Ctrl+D), atau dengan klik kanan pada Cube di Hierarchy dan pilih Duplicate.
Atur posisi masing-masing cube sehingga terlihat berbaris seperti gambar di bawah ini. Caranya bisa dengan mengatur koordinat pada Transform (Inspector) atau drag menggunakan gizmo.
Tambahkan Satu Tag Baru dengan cara klik salah satu GameObject (manapun), lalu pada tab Inspector klik Tag dan pilih Add Tag…
Klik Tombol (+) Dan Masukkan Tag Baru “Kotak1”.
Pilih Kubus4 Pada Hierarchy dan ganti Tag-nya (pada Inspector) menjadi Kotak1. Kita akan menggunakan ini pada script nanti.
Berikutnya Ubah Proyeksi MainCamera (pada Inspector) menjadi Orthographic dan size menjadi 2.

Perspective : ini sama seperti dalam kehidupan kita, misalnya kamera atau mata kita yang melihat alam ini, arah pandang kamera menyebar, sehingga semakin jauh benda terlihat semakin mengecil. Lihat kubus saat proyeksi kamera perspective mengecil bukan?.

Baca Juga : Universitas Budi Luhur

Orthographic : ini sama seperti gambar blueprint, sketsa gambar arsitektur (yang bukan 3D), scanner, dll. arah pandang kamera lurus dan paralel, sehingga semakin jauh benda tetap terlihat sama seperti yang dekat. Lihat kubus saat proyeksi kamera orthographic baik dekat maupun jauh ukurannya sama bukan?.

Buat Script C# Baru dan beri nama ScriptKubus.cs dan edit file menjadi seperti berikut:
                                                                                                                                                                  
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class ScriptKubus : MonoBehaviour {

public bool Cube1, Cube2, Cube3, Cube4;
public string PilihKubus, PilihTag;
public GameObject PilihObjek;


// Update is called once per frame
void Update () {

if (Cube1) transform.Rotate(1,0,0);
if (Cube2) GameObject.Find(PilihKubus).transform.Rotate(0,1,0);
if (Cube3) GameObject.FindGameObjectWithTag(PilihTag).transform.Rotate(0,0,1);
if (Cube4 && PilihObjek != null ) PilihObjek.transform.Rotate(1,1,1);
}

}
                                                                                                                                                                  
Pasang Script Tersebut pada Kubus1 dan centang pilihan Cube 1.

Jalankan Game dan perhatikan kubus mana saja yang berputar.

Selanjutnya ketik “Kubus2” pada parameter Pilih Kubus dan centang Cube 2. Perhatikan kembali kubus mana saja yang berputar.

Berikutnya ketik “Kotak1” pada parameter Pilih Tag dan centang Cube 3. Perhatikan kembali kubus yang bergerak.

Terakhir klik browse (tombol bulat kecil) pada parameter Pilih Objek, pilih tab Scene dan pilih Kubus3, lalu centang Cube 4. Perhatikan kembali kubus yang bergerak.





Baca Juga : Universitas Budi Luhur

Tutorial Dasar Input Mouse Dan Keyboard Unity 3D

Pada umumnya di dalam sebuah game komputer digunakan banyak tombol, baik yang ada pada mouse maupun di keyboard. Materi ini akan membahas bagaimana Unity mendeteksi penekanan tombol tersebut.
Unity memiliki banyak cara dalam mendeteksi tombol tekan oleh player, silahkan perhatikan contoh program.



Buatlah Project Baru atau cukup Scene Baru (jika masih ingin menggunakan project sebelumnya).

NB: Pembuatan Project Baru Dan Scene sudah di jelaskan pada Tutorial sebelumnya.

Baca Juga : Universitas Budi Luhur

Buat script C# kemudian beri nama InputMouse.cs.

HiHiHi... Ok Lanjut..... Scritpnya:
                                                                                                                                                                
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class InputMouse : MonoBehaviour {

string teks1, teks2, teks3, teks4;
int jmlScrol;
float delta;

// Use this for initialization
void Start () {
jmlScrol = 0 ;
}

// Update is called once per frame
void Update () {

if ( Input.GetKey(KeyCode.Mouse0)) {
teks1 = "Mouse: Klik Kiri";
} else {
teks1 = "Mouse: Klik Kanan";
}

teks2 = "Position: " + Input.mousePosition.ToString();

if ( Input.mouseScrollDelta.y > 0 ) {
delta = Input.mouseScrollDelta.y;
jmlScrol++;
} else if ( Input.mouseScrollDelta.y < 0 ){
delta = Input.mouseScrollDelta.y;
jmlScrol--;
}

teks3 = "Scroll: " + delta.ToString();
teks4 = "Jumlah Scroll: " + jmlScrol.ToString();
}

void OnGUI() {

GUILayout.BeginArea(new Rect(10,15,400,200));
GUILayout.Label(teks1);
GUILayout.Label(teks2);
GUILayout.Label(teks3);
GUILayout.Label(teks4);
GUILayout.EndArea();
}
}
                                                                                                                                                                

Drag and Drop script InputMouse.cs ke GameObject MainCamera di jendela Hierarchy.

Jalankan Game


Jika tidak ada kesalahan, setelah game dijalankan, dan mouse di klik maka akan menampilkan button mana yang di klik. Selain itu akan menampilkan posisi pointer pada layar, dan jika scroll pada mouse digerakkan akan tampil jumlah scroll...

Berikutnya kita akan membahas Input Keyboard.

Buatlah Project Baru di Unity atau cukup Scene Baru (jika masih ingin menggunakan project sebelumnya).

Buat script C# kemudian beri nama InputKeyboard.cs.
Berikut Scriptnya:
                                                                                                                                                                
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class InputKeyboard : MonoBehaviour {

string teks1, teks2;
public KeyCode pilihanUser;

// Use this for initialization
void Start () {


}

// Update is called once per frame
void Update () {

if ( Input.GetKeyDown("a")) {
teks1 = "KeyDown: Tombol A";
}

if ( Input.GetKey(KeyCode.B)) {
teks1 = "KeyDown: Tombol B";
}

if ( Input.GetKeyUp(pilihanUser)) {
teks1 = "KeyUp: Tombol Pilihan User";
}

if ( Input.anyKey ) {
teks2 = "Ada Tombol Yang Ditekan Terus";
} else {
teks2 = "";
}

if ( Input.GetAxis("Fire1") > 0 ) {
teks1 = "Input Dari GetAxis (Left Ctrl/Mouse)";
}
}

void OnGUI() {

GUILayout.BeginArea(new Rect(10,15,400,200));
GUILayout.Label(teks1);
GUILayout.Label(teks2);
GUILayout.EndArea();
}
}
                                                                                                                                                                

Drag and drop script InputKeyboard.cs ke GameObject MainCamera di jendela Hierarchy.

Jalankan Game
Baca Juga : Universitas Budi Luhur

Jika tidak ada kesalahan, setelah game dijalankan, dan ditekan tombol A, tombol B dan pilihan user,
maka akan muncul hasilnya di panel Game. Pilihan User bisa diganti saat game sudah dijalankan.

Input Manager
Fungsi deteksi keyboard yang sudah dibahas di atas seharusnya tidak sulit untuk dipahami karena bentuknya sudah sangat jelas. Pertanyaan mungkin baru muncul pada Parameter “Fire1”. “Kenapa efeknya bisa muncul pada saat menekan klik kiri mouse atau tombol kiri Ctrl? padahal kita tidak pernah mendefinisikan itu sebelumnya?”. Hal ini disebabkan Unity memiliki beberapa parameter standar yang bisa digunakan untuk membantu proses deteksi input.

Parameter standar Unity yang berhubungan dengan input dengan cara:
Klik menu Edit -> Project Settings -> Input.

Pada panel Input Manager inilah bisa didapatkan informasi tentang berbagai input standar yang telah dikenali oleh Unity. Bahkan kita bisa menambahkan daftar input kita sendiri bila diperlukan.


Selesai! Apa selanjutnya?


Baca Juga : Universitas Budi Luhur

Tutorial Dasar Array Class Dan Loping Unity 3D

Tutorial Dasar Array Class Dan Loping Unity 3D

Setelah kita bisa membuat project sederhana. Dimana di dalamnya secara tidak langsung kita sudah mengenal tipe data standar, ada baiknya kita juga belajar mengenala Array, Class, dan Looping.
Bahkan Unity juga mampu mengenali tipe data lainnya atau tipe data buatan seperti struct. Materi kali ini tidak akan membahas struct, melainkan tipe class yang bisa mewakili tipe data yang lain.
Istilah looping digunakan untuk perintah pengulangan, pada pembahasan materi kali ini bukan
membahas fungsi for atau while yang biasa digunakan tetapi sebuah pengulangan perintah yang dilakukan berdasarkan interval tertentu menggunakan fungsi InvokeRepeating().

Baca Juga : Universitas Budi Luhur

1. Buat Project Baru
2. Buat Scene Baru
Klik File>New Scene

Dan Simpan Scene
Klik File > Save Scene, atau File > Save Scene as…
Buat 3 buah scene dan beri nama masing-masing ArrayDasar, ArrayClass, dan Looping.
A. Klik pada Scene ArrayDasar
Setelah kita berada pada scene ArrayDasa, Langkah selanjutnya kita buat Folder Scripts untuk menyimpan File-file Script. Klik kanan pada Assets>Create>Folder.

Dan beri nama Scripts.
Setelah itu Buat script C# kemudian beri nama BelajarArray.
Klik kanan pada Folder Scripts>Create>C# Script.

Klik 2x pada File Script BelajarArray
Dan edit seperti File berikut:
                                                                                                                                                                
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class BelajarArray : MonoBehaviour {

public int[] arrayAngka;
public string[] arrayTeks;

string teks1, teks2, teks3;


// Use this for initialization
void Start () {

teks1 = " ";
for( int a=0; a<arrayAngka.Length; a++) {
teks1 = teks1 + arrayAngka[a].ToString()+' ';
}

teks2 = " ";
for( int a=0; a<arrayTeks.Length; a++) {
teks2 = teks2 + arrayTeks[a].ToString()+' ';
}

}

void OnGUI() {

GUILayout.BeginArea(new Rect(10,15,400,200));
GUILayout.Label("Array Integer:"+ teks1);
GUILayout.Label("Array String:"+ teks2);
GUILayout.EndArea();
}

}
                                                                                                                                                                


Drag and Drop script BelajarArray.cs ke GameObject MainCamera di jendela Hierarchy.

Jika tidak ada kesalahan, maka buka Inspector MainCamera,
lalu isi Size pada ArrayAngka, misalnya “3” lalu isi element 0, 1, dan 2 dengan bilangan bulat.
Lalu isi Size pada ArrayTeks, misalnya “3” lalu isi element 0, 1, dan 2 dengan teks.

Baca Juga : Universitas Budi Luhur

Setelah itu Jalankan Game dan perhatikan hasilnya. 

B. Klik pada Scene ArrayClass Langkah-langkahnya Sama seperti perintah pada Scene ArrayDasar. Hanya berbeda Penamaan dan isi Script.

Baca Juga : Universitas Budi Luhur
                                                                                                                                                                
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class ArrayClass : MonoBehaviour {

[System.Serializable]
public class Kelas {
public int ID;
public string isi;
}

string teks;
public Kelas[] arrayKelas;

// Use this for initialization
void Start () {

teks = " ";
for( int c=0; c<arrayKelas.Length; c++ ) {
teks = teks + arrayKelas[c].ID.ToString() + " : "
+ arrayKelas[c].isi + " ";
}
}

void OnGUI() {

GUILayout.BeginArea(new Rect(10,15,400,200));
GUILayout.Label("Array Object: "+ teks);
GUILayout.EndArea();
}

}
                                                                                                                                                                
Dan perhatikan Hasilnya : ...
C. Klik pada Scene Looping Langkah-langkahnya pun sama. Hanya berbeda Penamaan dan isi Script
                                                                                                                                                                
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class FungsiLooping : MonoBehaviour {

int no1, no2, no3, no4, no5, hitungMundur;

// Use this for initialization
void Start () {

no1 = 0;
no2 = 0;
no3 = 0;
no4 = 0;
no5 = 0;
hitungMundur = 3;
InvokeRepeating("HitungMundur", 1, 1);
}

// Update is called once per frame
void Update () {

if( hitungMundur == 0) {
no1++;
}
}

void FixedUpdate () {

if( hitungMundur == 0) {
no2++;
}
}

void Looping1 () {
no3++;
}

void Looping2 () {
no4++;
}

void NoLooping () {
no5++;
}

void HitungMundur () {
hitungMundur--;
if (hitungMundur == 0) {
InvokeRepeating("Looping1",1,1);
InvokeRepeating("Looping2",5,0.5f);
Invoke("NoLooping",10);
CancelInvoke("HitungMundur");
}
}

void OnGUI () {

GUILayout.BeginArea(new Rect(10,15,400,200));

if ( hitungMundur == 0 ) {
GUILayout.Label("Update Increment: "+ no1.ToString());
GUILayout.Label("FixUpdate Increment: "+ no2.ToString());
GUILayout.Label("Start At 1 Sec (Interval 1): "+ no3.ToString());
GUILayout.Label("Start At 5 Sec (Interval 0.5): "+ no4.ToString());
GUILayout.Label("Start At 10 Sec (No Looping): "+ no5.ToString());

} else {

GUILayout.Label("Hitung Mundur: "+ hitungMundur.ToString());
}

GUILayout.EndArea();
}

}
                                                                                                                                                                
Dan perhatikan Hasilnya Saat Hitung Mundur : dari 3, 2, 1 dan Seterusnya : ...
Baca Juga : Universitas Budi Luhur
Program dijalankan di detik ke 3

Program dijalankan di detik ke 2

Program dijalankan di detik ke 1

Program dijalankan di detik ke 10

Tutorial Dasar Fungsi Translate() Dan Raycast() Unity 3D Pada Tutorial sebeluamnya kita sudah mengal apa itu Prefab? Dan membuat sebu...