Senin, 10 Januari 2011

2209205203 - Terrain (bagian 2)


Melanjutkan penjelasan sebelumnya, pada penjelasan ini akan menunjukkan langkah-langkah membuat terrain.Untuk lebih jelas, ikuti langkah-langkah berikut ini:

Starting Terrain
Menu Terrain > Create Terrain
Karena disini akan dibuat tampilan terrain yang menampilkan sebuah jalur dengan tebing disisi kanan dan kiri jalan. Maka atur Flatten Hightmap, ubah height menjadi 200.
Menu Terrain > Flatten Hightmap > atur Height > Flatten
Kemudian untuk menentukan ukuran brushes.
Pada tab Inspector > Terrain (Script) > Raise / Lower Terrain > Brushes


Seperti terlihat pada gambar diatas, Pada kolom brushes berisi model-model brush yang tersedia, sedang untuk mengatur ukuran brush  pilih Brush size. Sedangkan untuk meningkatkan kekuatan pada brush pilih opacity. Atur brush Size :45 , dan Opacity :42.  Sedangkan untuk mendapat efek brush masuk ke dalam terrain tekan shift



Memberi Texture dan pencahayaan pada Terrain

Salah satu yang bias membuat sebuah terrain menjadi lebih hidup adalah pemberian texture dan pencahayaan. Untuk menambahkan texture, pilih:
Tab Inspector > Terrain (script) > Paint Texture
 
  •  Pilih brush untuk bentuk brush yang sesuai.
  • Atur ukuran brush di brush size
  • Atur Opacity dan target strength
  • Untuk menambahkan texture klik Edit Textures > Add texture.
  • Pada windows Add Terrain Texture > Splat
  • Pada Select Texture2D window > Asset > Klik 2 kali Gress > Add.

         Berikut ini terrain yang telah diberi texture:



Untuk menambahkan pencahayaan :

GameObject > Create Other > Directional Light
Karena pencahayaan yang dipilih adalah Directional Light , tipe sinar  memancar dengan arah tertentu maka aturlah agar cahayanya mengenai permukaan terrain.


Membuat Hutan  pada Terrain
Kemudian untuk menambahkan asset berupa pohon ikutilah langkah-langkah berikut. Pada standar asset unity sudah terdapat asset pohon berupa palm.
Tab Inspactor > Terrain Script > Edit trees
  • Pada window Add tree pilih tree
  • Ketika muncul select gameObject window > Assets > pilih palm > add
  • Kemudian setting brush sesuai keinginan.
Hasilnya akan terlihat seperti gambar berikut:


Untuk mendapatkan ukuran palm memiliki ukuran yang lebih besar ikuti langkah berikut:
Tab Project > Standard Assets > Terrain Assets > Trees ambient – Occlusion > Palm >Palm
Kemudian pada tab Inspector > (FBXImporter) > Scala Fektor  isilah nilainya dengan 5.














Hasilnya terlihat seperti berikut:


2209205203 - Terrain (bagian 1)


Terrain atau relief daratan adalah penampakan dimensi permukaan tanah secara vertical dan horizontal.

Create Terrain
Digunakan untuk membuat terrain baru pada scene.
         Menu Terrain > Create Terrain

Berikut ini tampilan terrain pada Scane View:

 Set Resolution
SetResolution digunakan untuk mengatur ukuran dari terrain. 

  • Terrain Width:  untuk mengatur ukuran lebar terrain
  • Terrain Height: untuk mengatur ukuran tinggi terrain.
  • Terrain Length:  untuk mengatur ukuran panjang terrain.
  • HeightMap Resolution: resolusi heightmap untuk terrain.
  • Detail Resolution: Resolusi peta yang mengatur grass and detail meshes. Untuk alasan performansi, lebih baik setinglah dengan nilai yang rendah.
  • Control Texture Resolution: Resolusi gambar percikan peta (splat map) yang digunakan untuk membagi antara tekstur yang berbeda pada terrain.
  • Base Texture Resolution: Resolusi gabungan tekstur yang digunakan di tempat  splat map pada jarak tertentu.
Secara default property dari SetResolution adalah sebagai berikut :
Mess Place Trees
Digunakan untuk menempatkan tree pada permukaan terrain. Nilai yang anda inputkan pada Number Of Tree menunjukkan jumlah pohon yang tersebar pada permukaan terrain. Secara default nilai dari Number Of Tree adalah 1000.
 
Flatten Hightmap
Digunakan untuk mengatur ketebalan terrain.  Secara default tinggi terrain adalah 0 meter (0%). Nilai 100 % berada pada nilai 600 meter.


Terrain Script
Berada di tab Inspactor digunakan untuk mendesign permukaan terrain.
 
  • Tombol Raise / Lower Terrain digunakan untuk mengatur Ketinggian permukaan, dan gunakan shift untuk menurunkan permukaan terrain.
  • Paint Hight digunakan untuk mengatur ketinggian terrain agar seragam.
  • Smooth Hight menghaluskan permukaan terrain.
  • Paint Texture Untuk menggambarkan texture pada terrain
  • Place Trees untuk menempatkan posisi tree pada terrain
 

 Bentuk Brush yang tersedia pada unity adalah sebagai berikut:
Masing-masing brush dapat diatur ukuran dan opacity dengan menggeser tombol pada setting.




2209205203 - anggit@elect-eng.its.ac.id

Rabu, 01 Desember 2010

2209205210-Progres Report 5 "Mobil Muter-Muter"

Dengan langkah" sebagai berikut:
1.  Langkah awal (Tahap desain Mobil)
- Membuat Plane atau latar tempat mobil nanti akan berjalan, dari menu GameObject>CreateOthers>Plane (beri tekstur sesuai selera)
- Desain body tubuh mobil, cara yang sederhana kita gunakan Cube, yaitu dari menu GameObject>CreateOthers>Cube, atur ukuran sumbu x y z nya sehingga menyerupai body tubuh mobil
- Desain roda, dari menu GameObject>CreateOthers>Cylinder, atur ukuran sumbu x y z nya sehingga menyerupai body roda seperti lingkaran, selanjutnya atur rotasi untuk sumbu x=0; y=0; z=90, duplikat Cylinder tersebut sebanyak 3 kali-->dari sini kita sudah punya roda sebanyak empat, tempel dan tempatkan pada body tubuh mobil
- Pada tab Hierarchy 4 Cylinder tersebut gabung ke Cube, Seperti hasil yang terlihat pada gambar berikut
2.  Buat skript untuk menggerakkan body tubuh mobil dan roda mobil, Klik menu Assets>Create>JavaSkript
-untuk coding body tubuh mobil (cube)
// A very simplistic car driving on the x-z plane.
var speed = 10.0;
var rotationSpeed = 100.0;

function Update () {
// Get the horizontal and vertical axis.
// By default they are mapped to the arrow keys.
// The value is in the range -1 to 1
var translation = Input.GetAxis ("Vertical") * speed;
var rotation = Input.GetAxis ("Horizontal") * rotationSpeed;

// Make it move 10 meters per second instead of 10 meters per frame...
translation *= Time.deltaTime;
rotation *= Time.deltaTime;

// Move translation along the object's z-axis
transform.Translate (0, 0, translation);
// Rotate around our y-axis
transform.Rotate (0, rotation, 0);
}


- untuk coding roda
function Update () {
if (Input.GetKey ("up")) {
    //print ("up arrow key is held down");
    transform.Rotate(0,-5,0);
} else if (Input.GetKey ("down")) {
    //print ("down arrow key is held down");
    transform.Rotate(0,5,0);
}
}


3.  Jalankan dan gerakkan dengan tekan keyboard panah atas bawah kanan kiri

Selamat Mencoba, Semoga Bermanfaat
(2209205210-Anik Vega Vitianingsih-vega09@mhs.ee.its.ac.id)

Selasa, 09 November 2010

2209205208 : Collision Detection Dasar

Collision Detection : Tutorial Dasar
Collision Detection adalah fungsi yang dapat mendeteksi tabrakan antara 2 obyek atau lebih. Mari, kita coba membuat deteksi tabrakan antara 2 obyek yang sederhana.
Ilustrasi : terdapat bola yang memantul pada kotak dan latar belakang/background.

1.Buatlah plane sebagai landasan. Atau kita bisa juga membuat terrain untuk landasan background kita. Game Object | Plane untuk membuat plane, Terrain | create terrain untuk membuat terrain.

2.Buat obyek Sphere, sebagai benda yang dipantulkan. Game Object |Sphere. Tambahkan rigid body pada obyek tersebut. (bisa lihat di tutorial sebelumnya)

3.Selanjutnya kita buat Cube, Game Object | Cube. Cube disini berfungsi sebagai obyek yang ditabrak, dan tambahkan Rigid Body juga. Karena kotak sebagai media pemantul, otomatis kotak ‘cube’ harus diberi script untuk mendeteksi tabrakan dari Sphere tersebut.

4.Klik Asset | Create | java Script, buat script seperti berikut ini :

function OnCollisionEnter (collisionInfo : Collision) {
// testing deteksi pada Sphere, jika obyek Sphere kita rename, maka ganti juga gameObject.tag-nya sesuai dengan namanya
if (collisionInfo.gameObject.tag == "Sphere"){ 
var randy: int = Random.Range(-200, 200);
collisionInfo.gameObject.rigidbody.AddForce(Vector3.up * 500); collisionInfo.gameObject.rigidbody.AddForce(Vector3.right * randy); } }

Drag Script tadi (lihat di tab Project| New ScrIpt Behaviour) masukkan kedalam cube.
Sekarang..kita sudah punya obyek yang dapat mendeteksi tabrakan.
Selamat mencoba..
2209205208 : dw_roll@yahoo.co.id

Senin, 08 November 2010

2209205208 : Rigid Body & First Person Controller


Bekerja dengan RIGID BODY  & First Person Controller
Rigid Body adalah asset pada unity yang ‘embeded’ pada objek, sehingga objek tersebut bisa bergerak berdasarkan lekuk-lekuk terrain/latar belakang yang kita buat. Dalam rigid body, objek secara otomatis memiliki gaya gravitasi. Ok..mari sekarang kita coba membuatnya.
1.       Langkah pertama membuat terrain (bisa lihat di tutorial saya yang awal)
2.       Selanjutnya tambahkan obyek (sphere atau membuat mobil) diatas terrain. Jangan lupa obyeknya diberi directional light atau spot light biar terang. Kalau lupa tempatnya, silakan buka menu GameObject |pilih directional light. Pada terrain anda juga bisa menambahkan light ini, supaya lekuk dan warna/texture terrain kita terlihat jelas.
3.       Tambahkan fisrt person controller pada obyek kita. Tab Project | standart asset | Prefabs | First Person Controller. Fungsi controller ini adalah membuat kamera baru supaya kemanapun oyek bergerak, kamera tersebut  akan mengikutinya.

4.       Klik obyek yang tadi kita buat, kemudian tambahkan Rigid Body. Menu Component |Rigid Body. Klik obyek anda dan lihat tab inspector, disitu terdapat Rigid Body, centang Use gravity, dan anda bisa mengubah setting untuk angular dragnya.



5.       OK..sampai sini kita sudah bisa membuat obyek yang dapat bergerak sesuai dengan texture terrainnya ditambah dengan gaya gravitasi, sehingga pemantulan pada obyek terlihat lebih natural

2209205201 Like Sun, Earth and Moon

Langkah - langkah membuat tiruan matahari yang berotasi, bumi yang berotasi dan berevolusi terhadap matahari serta bulan yang berotasi, berevolusi terhadap bumi dan berevolusi terhadap matahari di Unity 3D:
1. membuka Unity
2. setelah tampilan awal Unity terbuka, membuat objek matahari dengan cara pilih menu Game Objek --> Create Other --> sphere (pada kolom hierarchy, double clik sphere--> ketik matahari untuk memudahkan langkah selanjutnya)
3. membuat objek bumi dan bulan dengan cara yang sama seperti di atas (pada kolom hierarchy nama disesuaikan dengan objek yang diinginkan)
4. mengubah posisi objek yang dibuat, sebagai contoh objek matahari : klik matahari pada kolom hierarchy kemudian posisi X,Y,Z diganti menjadi X=0,Y=0,Z=0 pada kolom inspector
5. mengubah skala matahari (tetap di kolom inspector pada scale) menjadi X=5,Y=5,Z=5 jika saya ingin mengubah skalanya menjadi 5
6. mengubah posisi objek dan skala bumi dan bulan dengan cara seperti di atas. Posisi bumi menjadi X=2,Y=0,Z=0 dan skala bumi menjadi 2, sedangkan posisi bulan pada X=3,Y=0,Z=0 dan skala bulan tetap pada skala 1
7. untuk membuat matahari, bumi dan bulan berotasi dengan menambahkan script yaitu dengan cara: a). klik kanan create pada kolom project-->pilih C Sharp Script (karena saya menggunakan C#), maka pada kolom inspector akan tampil:


b). klik edit untuk edit script, kemudian memasukkan fungsi rotasi kemudian save -->close, sehingga script menjadi:

 c).drag NewBehaviourScript pada kolom project ke matahari, bumi dan bulan
Untuk mengetahui objek sudah berotasi ketika di render, sebaiknya objek diberi tekstur, akan lebih menarik jika tekstur setiap objek berbeda.

8.Kemudian untuk membuat bumi berevolusi terhadap matahari menggunakan konsep "Parenting" (child akan mengikuti gerakan parentnya). Dalam kasus ini, bumi sebagai child dari matahari. Cara mem-Parenting-kan adalah sebagai berikut: drag bumi (pada kolom hierarchy) ke matahari (pada kolom hierarchy juga)
9. Hal yang sama dilakukan untuk membuat bulan berevolusi terhadap bumi dan berevolusi terhadap matahari juga, yaitu dengan menjadikan bulan sebagai child dari bumi yang merupakan child dari matahari. Pada kolom hierarchy yang semula
menjadi


Akhirnya berhasil posting juga, lengan robotnya baru mau belajar...
Rani Rotul Muhima (2209205201)



Selasa, 02 November 2010

2209205210-Progres Report 4 "Menggerakkan Lengan Robot-1"

Untuk menggerakkan lengan robot ini, masih pada pemahaman yang sangat sederhana, selanjutnya bisa teruskan untuk membuat yang lebih baik, dengan langkah-langkah sebagai berikut:
1.  Buat Object baru ke-1, Klik Menu GameObject->Create Other->Cube; atur Scale x=0.5; y=5; z=0.5, pada panel hierarchi rename menjadi Lengan_1, seperti yang terlihat pada gambar berikut,

2.  Buat object game kosong, dengan Klik menu GameObject->Create Empty, pada panel hierarchi rename menjadi ObjekLengan_1 ; selanjutnya Klik Menu Assest->Create->JavaScript, pada panel object rename menjadi LenganRobot1 dan masukkan coding berikut,
 function Update () {
 if (Input.GetKey (KeyCode.A)) {
  transform.Rotate(0,1,0);
  }else if(Input.GetKey (KeyCode.S)) {
  transform.Rotate(0,-1,0);
  }
}

Coding dengan nama LenganRobot1 tarik/drag ke panel Hirarchi ObjekLengan_1, selanjutnya Jalankan dengan tekan keyboard A (untuk bergerak ke sumbu Y)dan S (untuk beergerak ke Sumbu Y-)--> jika lengan_1 dapat berotasi dimana ujung lengan bawah tetap pada posisi tengah, maka berhasil menggerakkan Lengan_1.  Dengan hasil, seperti yang terlihat pada gambar berikut,


3.  Buat Object baru ke-2, Klik Menu GameObject->Create Other->Cube; atur Scale x=0.5; y=0.5; z=5, pada panel hierarchi rename menjadi Lengan_2, atur posisinya seperti yang terlihat pada gambar berikut,


4.  Buat object game kosong, dengan Klik menu GameObject->Create Empty, pada panel hierarchi rename menjadi ObjekLengan_2 ; selanjutnya Klik Menu Assest->Create->JavaScript, pada panel object rename menjadi LenganRobot2 dan masukkan coding berikut,
 function Update () {
 if (Input.GetKey (KeyCode.Z)) {
  transform.Rotate(0,1,0);
  }else if(Input.GetKey (KeyCode.X)) {
  transform.Rotate(0,-1,0);
  }
}

Coding dengan nama LenganRobot2 tarik/drag ke panel Hirarchi ObjekLengan_2, selanjutnya Jalankan dengan tekan keyboard Z (untuk bergerak ke sumbu Y) dan X (untuk beergerak ke Sumbu Y-)--> jika lengan_1 dapat berotasi dimana ujung lengan bawah tetap pada posisi tengah, maka berhasil menggerakkan Lengan_1.  Dengan hasil, seperti yang terlihat pada gambar berikut,



Nb: Untuk Capit pada lengan robot masih pada tahap belajar...
Selamat Mencoba, Semoga Bermanfaat
(2209205210-Anik Vega Vitianingsih-vega09@mhs.ee.its.ac.id)