Tutorial Unity - Game Lari Sampe Capek - IMedia9 - Creative Networks

Breaking

Tuesday 21 January 2014

Tutorial Unity - Game Lari Sampe Capek


Hello how are you? Anything I missed? There is no. Yes it is, it does not make the tutorials * unlucky *. One day a student asked me the same: "Sir, is it really handsome?" Err .. wait, not so what. Kalao did not say "Pak, how do I make an endless game?" that is, make Ninja Rush ala run that does not stop but its 3D version. I answer, "Make it easy, just click, drag and cod. * gubrak! *
This is true. Do not believe it? Here I am proofin. The first step to making a game with a terrrain is not to make a new project using Unity. Can you?


Import Terrain Asset by right-clicking on the Assets panel, and then click Import Package -> Terrain Assets, import also Skyboxes.


Pasang skybox dengan cara klik Render -> Render Setting dan pilih Sunny Skybox, biar rada "mencrang" suasana gamenya.


Tambahin 1 Terrain dengan cara klik GameObject -> Create Other -> Terrain.


Pasangin Texture pada Terrain dengan cara klik Terrain di tab Hierarchy, klik Paint Texture (tombol yang ada gambar kuas), klik Edit Texture dan pilih Grass. Kenapa mesti Grass? Karena ini tutorial gue yang bikin dan elo kudu nurut! Titik!


Selanjutnya ganti nama Terrainnya jadi Terrain1. Kenapa harus Terrain1? Kan tadi gue udah bilang ini tutorial gue yang bikin? Nurut ajalah! Janganlah engkau menjadi anak yang durhaka hanya gara-gara baca tutorial dari internet. Serius! Ehm. Nah, untuk memudahkan penglihatan, coba deh di sekitar tengah2 Terrain lo naikkin gunungnya dikit-dikit pakai tombol Raise/Lower Terrain. Biar kayak arena rally paris jogja gitu!


Terus tambahin Terrain ke 2, caranya sama kayak sebelumnya. Pas pertama kali di klik, pasti numpuk dengan Terrain pertama, gapapa. Nggak usah panik. Atur aja nilai Z ada panel transform dengan -2000. Kenapa mesti -2000? Nah, kalao ini bener lo kudu nanya. Secara default, Terrain dalam Unity ukurannya 2000 x 2000. Jadi kalau gue mau bikin Terrain panjang ke bawah, terrain yang 1 posisi Z = 0, sedangkan yang 1 lagi Z = -2000. Soalnya kalau Z = 2000 jadinya ada di depannya. Terus kalao Z = 1000 jadinya ada separuh terrain yang saling tumpang tindih. Sedangkan kalau Z = 1500 itu namanya NAWAR! Dan gue sekarang lagi bikin tutorial bukan lagi jualan!  *entah kenapa gue kalao bikin tutorial Unity suka pengin emosi mulu, hehehe*


Untuk ngebedain terrain yang satu dengan yang lain, lo tambahin deh texture tanah untuk terrain yang kedua dan bikin juga bukit2an di bagian tengahnya. Biar keren!



Selanjutnya tambahin "matahari" alias Directional Light supaya caang. Sama kok, pakai menu GameObject dan Create Other -> Directional Light.




Langkah selanjutnya adalah bikin karakter. Sebenernya gue pengin nambahin karakter Kiky si Kancil untuk tutorial ini. Tapi karena Kiky si kancil sedang istirahat jadi kita pake karakternya khas Unity aja, Si Tukang Bangunan. Caranya klik kanan di panel Assets -> Import Package -> Character Controller.

Tarik prefab si tukang bangunan ke atas Terrain terserah di mana aja, tapi kalau bisa rada di tengah2 pegunungan. Iya gue tau, tadi gue bilang terserah. Tapi maksud gue itu, terserah cuma di tengah2 gunung! Di tengah-tengahanya terserah kitu. Ngerti nggak sih lo?


Waktu jaman-jamannya Unity 3 dulu, karakter tukang bangunan bisa langsung dipakai, tapi sekarang mesti di atur animasinya dulu nih. Nggak tahu juga kenapa. Pokoknya, animasi yang hilang lo lengkapi dulu.

Setelah itu klik Run, dan cobalah berlari. Oh ya, lo juga bisa atur Run Speed-nya si tukang bangunan dengan 200 agar ia bisa berlari secepat ferrari.


Selesai. Selamat malam. Hah? Kok cuman gitu doang? Hmmm, kayaknya ada yang lupa deh. Oh ya, script untuk Terrainnya. Kalo cuman gini sih, anak SD juga bisa bikin! Yang sulit adalah scriptnya. Karena itu membutuhkan ketelitian, dan kesabaran, hehehe. Oke! Tambahin sebuah script, gue bisanya C# jadi tambahin aja itu.


Dobel klik scriptnya sampe masuk MonoDevelop, terus ketik nih, scriptnya di bawah. Copy paste ajalah, kalao males ngetik mah.

1:  using UnityEngine;  
2:  using System.Collections;  
3:  public class Laripagi : MonoBehaviour {  
4:   public float TerrainWidth = 2000;  
5:   public float TerrainHeight = 2000;  
6:   public Terrain[] Terrains;   
7:   public GameObject MainCharacter;  
8:   public int UnlimitedIndex, CurrTerrainIndex, NextTerrainIndex;  
9:   public float CenterCompare, TerrainCompare;  
10:   public Vector3 NextTerrainPosition;  
11:   // Use this for initialization  
12:   void Start () {  
13:   UnlimitedIndex = 0;  
14:   CurrTerrainIndex = 0;  
15:   NextTerrainIndex = CurrTerrainIndex + 1;  
16:   }  
17:   // Update is called once per frame  
18:   void Update () {  
19:   CenterCompare = (TerrainWidth/2) + (UnlimitedIndex * TerrainHeight);  
20:   TerrainCompare = Terrains[CurrTerrainIndex].transform.position.z + TerrainHeight;  
21:   if (MainCharacter.transform.position.z >= CenterCompare){  
22:    UnlimitedIndex++;  
23:    NextTerrainPosition = Terrains[CurrTerrainIndex].transform.position;  
24:    NextTerrainPosition.z = (UnlimitedIndex) * TerrainHeight;  
25:    Terrains[NextTerrainIndex].transform.position = NextTerrainPosition;  
26:   }  
27:   if (MainCharacter.transform.position.z >= TerrainCompare){  
28:    CurrTerrainIndex++;  
29:    if (CurrTerrainIndex > Terrains.Length-1){  
30:    CurrTerrainIndex = 0;  
31:    }  
32:    NextTerrainIndex++;  
33:    if (NextTerrainIndex > Terrains.Length-1){  
34:    NextTerrainIndex = 0;  
35:    }  
36:   }  
37:   }  
38:  }  

Habis itu pasang tuh scriptnya di si tukang bangunan. Tinggal di tarik aja kok.


Dan terakhir, atur beberapa variabel public yang gue bikin. Pertama jumlah Terrain, untuk contoh ini kasih 2 dan tarik aja semua Terrain itu bersesuaian dengan namanya. Dan untuk variabel Main Character lo bisa tarik prefab si tukang bangunan.


The idea of ​​the script is simple. In essence, it will detect the position of the main character (the builder), if it is in the half + 1 position of the current terrain being injected, then the backyard terrain will be installed far ahead. So on, so the terrain seems to be out of date. Though the existing terrian from behind just moved forward. That's right. The parts of the script can be learned by myself, this is my way, maybe there are many other ways.


Please try it. It should be late in the character of the builder to run and not to the destination. First of all ah tutorial from me. Hopefully useful,

No comments:

Post a Comment