Unlimited WordPress themes, graphics, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Game Development
  2. Unity
Gamedevelopment

Unity Terrain Engine Tools

by
Difficulty:BeginnerLength:LongLanguages:

Indonesian (Bahasa Indonesia) translation by Aditia Dwiperdana (you can also view the original English article)

Final product image
What You'll Be Creating

Unity adalah game engine multiplatform yang dikembangkan oleh Unity Technologies dan digunakan untuk membuat video game danaplikasi untuk berbagai perangkat (PC, console, mobile, dan bahkan website). Keuntungan utama Unity adalah kekuatan dan portabilitas; Unity menarget beberapa API populer seperti Direct3D, OpenGL, OpenGL ES, dan Vulkan.

Karena karakteristik tersebut, Unity semakin populer di kalangan developer software kelas tinggi dan game programmer amatir.

Unity mendukung beberapa teknologi dan komponen. Salah satu komponennya adalah terrain engine system. Sistem terrain Unity membantu kamu membuat lingkungan untuk game atau aplikasi. Kamu bis amenggunakan berbagai alat yang tersedia untuk membuat terrain dengan mudah dan cepat.

Tutorial ini akan fokus menjelaskan bagiamana terrain engine bekerja dan bagaimana menggunakannya untuk membuat lingkungan terrain yang luas dan kaya.

Persyaratan

Pertama, pastikan kamu memiliki versi terbaru dari Unity. Pada tutorial ini kita menggunakan versi 5.6. Pastikan kamu menggunakan versi terbaru; jika tidak kamu akan menemukan perbedaan saat mengikuti tutorial ini.

Untuk tutorial ini kamu tidak akan menggunakan file khusus. Tujuannya adalah membuat project baru dan mengikuti tutorial dari situ.

Terrain Tools

Langkah pertama adalah membuat proyek Unity baru. Lalu tambahkan scene baru (File > New Scene). Scene baru ini memiliki dua game object, Main Camera dan Directional Light (Unity 5 akan menambahkan skybox ke scene secara otomatis).

Sekarang, untuk membuat objek terrain, buka menu GameObject, dan pilih 3D Object > Terrain. Ini akan membuat sebuah bidang datar (disebut Terrain) pada scene-mu. Bidang ini adalah sebuah mesh yang akan kita pahat untuk membuat terrain level yang kamu inginkan.

Terrain Tools - New Terrain

Jika kamu periksa folder Assets (di bagian bawah Unity), kamu akan lihat file New Terrain dibuat.

Pilih Terrain tersebut dan lihat tab Inspector. Kamu akan lihat bahwa terrain memiliki tiga komponen: Transform, skrip Terrain, dan komponen Terrain Collider.

Terrain Tools - Terrain Inspector

Komponen terrain menyediakan alat yang dibutuhkan untuk mengubah terrain. Semua alat akan ada pada toolbar (dengan pengecualian alat untuk meletakkan pohon dan panel setting) menyediakan beberapa set 'kuas' dan pengaturan untuk ukuran dan ketebalan kuas, seperti alat melukis pada aplikasi pengolah gambar. Alat ini bisa digunakan untuk memahat terrain seperti melukis.

Jika kamu pilih kuas mana saja pada komponen Terrain, dan menggerakkan mouse ke atas terrain, kamu akan melihat area biru pada terrain. Ini memberi tahu area yang akan dipengaruhi oleh kuas.

Seperti yang sudah kamu sadari, Terrain ini cukup besar. Untuk menavigasi pada Scene, kamu bisa menggunakan mouse dan keyboard. Pada tab Scene, tekan dan tahan tombol mouse kanan (kursor akan berubah menjadi mata).

Sembari kita menahan tombol mouse:

  • Kamu bisa mengubah sudut pandang dengan menggerakkan mouse.
  • Gunakan tombol W, A, S, D untuk bergerak di 3D scene tersebut.

Sebelum kamu mencoba alat-alat terrain, kita lihat properti Terrain. Tombol terakhir pada komponen Terrain (pada Inspector) akan menampilkan parameter dasar terrain.

Terrain Tools - Terrain Properties

Properti tersebut dibagi menjadi beberapa bagian:

  • Base Terrain
  • Pohon dan Objek Detail
  • Pengaturan Angin untuk Rumput
  • Resolusi
  • Heightmap (peta ketinggian)

Di dalam bagian pertama Base Terrain, kamu akan menemukan beberapa properti dan parmeter.

Opsi Draw mengatur rendering terrain (menyala atau mati). Pixel Error menampilkan akurasi nilai dari terrain maps (misalnya texture, heightmap dan terrain yang dihasilkan). Nilai lebih tinggi berarti akurasi yang lebih rendah, dan nilai lebih rendah berarti kelebihan beban rendering. Tanggung jawab kamu adalah menyeimbangkan nilai ini untuk membuat lingkungan yang baik dan kaya.

Base Map dist. adalah jarak maksimum tekstur terrain akan ditampilkan dengan resolusi penuh. Kamu bisa membuat pengatuan bayangan menyala atau mati dengan memilih Cast Shadows.

Lalu kita memiliki Material. Di sini kamu mengatur material yang akan digunakan untuk merender terrain. Ini akan mempengaruhi bagaimana kanal warna dan tekstur terrain diterjemahkan. Kamu bisa memilih:

  • Build In Standard mewakili material Physically-Based Rendering yang diperkenalkan di Unity 5. Jika kamu memilih opsi ini untuk setiap layer splat, kamu bisa menggunakan satu tekstur untuk albedo dan smoothness, satu tekstur untuk normal, dan satu nilai skalar untuk mengatur sifat logamnya. Ingatlah jika Overwrite Smoothness dicentang, kemulusan keseluruhan terrain diatur sepenuhnya oleh nilai Smoothness.
  • Built In Legacy Diffuse mewakili material bawaan untuk terrain dari versi Unity sebelumnya (Unity 4 dan sebelumnya). Material ini menggunakan model pencahayaan Lambert dan memiliki dukungan normal map optional.
  • Built In Legacy Specular menggunakan model pencahayaan  Blinn-Phong (lihat tutorial pencahayaan Unity 5 berikut), dan memiliki dukungan optional untuk normal map. Opsi ini juga membuat kamu bisa memilih warna specular dan seberapa mengkilap terrain yang dibuat.
  • Opsi Custom menggunakan material khusus yang kamu pilih untuk merender terrain. Material ini sebaiknya berupa shader yang ditujukan untuk rendering terrain. Ini adalah pilihan yang saya rekomendasikan hanya untuk pengguna yang lebih mahir. Tapi jika kamu ingin mencoba, lihatlah source code beberapa shader terrain bawaan dan buat modifikasi di atasnya.

Kamu juga bisa mengatur Reflection Probes untuk beberapa material, tapi hanya bisa digunakan jika kamu menggunakan material standar bawaan atau material khusus yang mendukung rendering dengan refleksi. Opsi untuk reflection probes diantaranya:

  • Off: Mematikan reflection probes, dan hanya skybox yang digunakan dalam refleksi.
  • Blend Probes: Reflection probe aktif. Blending hanya terjadi antar probe. Refleksi awal hanya digunakan jika tidak ada reflection probe yang dekat, tapi tidak akan ada blending antara refleksi awal dan probe.
  • Blend Probes And Skybox: Reflection probe aktif. Blending terjadi antar probe atau probe dan refleksi awal.
  • Simple: Reflection probe aktif, tapi tidak ada blending yang terjadi antar probe jika tidak ada volume yang beririsan.

Parameter terakhir pada bagian ini adalah Thickness. Nilai ini menentukan seberapa banyak collision volume dari terrain perlu diteruskan sepanjang sumbu Y negatif. Objek dianggap bertabrakan dengan terrain dari permukaan ke kedalaman yang sama dengan thickness. Ini membantu mencegah objek berkecepatan tinggi dari menembus terrain tanpa menggunakan cara deteksi tabrakan kontinu yang mahal.

Bagian berikutnya dari pengaturan adalah Tree & Detail Objects.

Opsi pertama adalah Draw. Di sini kita bisa mengatur apakah detail pohon dan rumput digambar ke layar atau tidak. Berikutnya, kamu memiliki Bake Light Probes untuk pohon. Jika kamu menyalakan opsi ini, Unity akan membuat light probe pada posisi tiap pohon. Probe tersebut akan diterapkan saat proses rendering pohon yang bersangkutan. Jika kamu mematikan opsi ini, pohon akan tetap dipengaruhi oleh cahaya dari group probe. Ingat bahwa opsi ini hanya tersedia untuk pohon yang memiliki light probe aktif pada prefab.

Detail Distance adalah jarak dari kamera sampai titik dimana detail akan diabaikan. Detail Density menggambarkan jumlah objek detail dalam suatu satuan area. Tree Distance adalah jarak dari kamera sampai titik di mana pohon akan diabaikan. Billboard Start adalah jarak dari kamera sampai objek pohon 3D diganti jadi gambar billboard. Fade Length merupakan jarak saat pohon akan transisi dari objek 3D menjadi billboard. Lalu, Max Mesh Trees adalah jumlah maksimum pohon yang bisa terlihat dan merupakan 3D mesh.

Berikutnya, kita masuk ke bagian Wind Settings for Grass.

Speed menentukan kecepatan angin yang meniup rumput. Size menunjukkan ukuran ripple pada area dengan rumput. Dengan Bending kamu bisa menentukan seberapa objek rumput melengkung karena angin. Grass Tint membuat kamu bisa memilih warna keseluruhan objek rumput.

Pada bagian Resolution kamu akan menemukan beberapa properti resolusi, misalnya Terrain Width, Length, dan Height. Semuanya memiliki fungsi sesuai dengan namanya. Heightmap Resolution adalah resolusi dalam satuan pixel dari peta ketinggian. Nilainya harus berupa perpangkatan 2 ditambah 1, misalnya 513, karena 512 adalah perpangkatn 2 dan ditambah 1.

Detail Resolution menentukan resolution dari peta. Resolusi yang lebih tinggi akan membuat area rumput yang lebih kecil dan detail. Detail Resolution per Patch menentukan panjang dan lebar dari petak yang dirender dalam satu panggilan draw. Control Texture Resolusion adalah resolusi splat map yang mengatur blending antar berbagai texture terrain. Akhirnya, Base Texture Resolution menentukan resolusi tekstur komposit yang digunakan untuk terrain saat dilihat dari jarak yang lebih besar dari jarak peta dasar.

Bagian terakhir adalah Heightmap. Di sini kamu bisa mengimpor file heightmap mentah atau mengekspor terrain saat ini ke file heightmap. Ini sangat berguna jika kamu ingin menggunakan software pihak ketiga untuk berinteraksi dengan aplikasi atau game yang kamu buat.

Height Tools

Sebelum kamu melanjutkan ke height tools, ingat bahwa kamu perlu mengatur resolusi terlebih dahulu. Jika tidak dan kamu ubah resolusi di tengah proses, semua pahatan terrain akan hilang.

Tiga alat pertama pada toolbar Terrain Inspector adalah height tool. Alat-alat ini digunakank untuk mengaplikasikan perubahan ketinggian ke terrain.

Height Tools - Terrain Options

Mereka menyediakan satu set 'kuas' dengan pengaturan Brush Size dan Opacity; alat-alat ini mirip dengan alat gambar dari image editor lain. Ini membuat kamu bisa menambahkan detail pada terrain seperti membuat sebuah gambar.

Height Tools - Brushes options

Jika kamu menggerakkan kursor pada tab Scene, kamu akan melihat area biru diproyeksikank pada terrain. Ini memberi tahu kamu area yang akan dipengaruhi oleh kuas.

Height Tools - Cursor on the floor

Alat pertama adalah Raise/Lower Height. Saat menggambar menggunakan alat ini, tinggi terrain akan meningkat selama kamu menekan mouse di atasnya. Jika kamu menahan mouse di satu area saja, penambahan tinggi akan bertumpuk. Efek tersebut bisa terlihat pada gambar berikut.

Height Tools - Raising the terrain

Untuk menurunkan terrain, tahan tombol Shift sambil menggambar dengan alat ini, dan terrain akan menjadi lebih rendah.

Alat kedua adalah Paint Height. Alat ini digunakan untuk mengatur ketinggian tertentu untuk suatu area pada terrain.

Height Tools - Selection of STAR brush

Alat ini berkerja dengan cara yang sama dengan alat Raise/Lower, tapi memiliki properti tambahan untuk mengatur target Height. Kamu bisa memilih Height yang diinginkan dengan mengubah nilai parameter Height. Tombol Flatten di sebelah properti height akan meratakan keseluruhan terrain ke Height yang ditentukan.

Height Tools - Selection of STAR brush - Lowering terrain

Akhirnya, alat ketiga adalah Smooth Height. Alat ini tidak akan meningkatkan atau mengurangi ketinggian terrain melainkan menghaluskan lansekap dan mengurangi perubahan ketinggian yang drastis. Alat ini berguna saat kamu sudah menggambar detail menggunakan salah satu kuas lan, karena kuas-kuas tersebut akan membuat lansekap yang tajam dan batuan tajam, kamu bisa menggunakan alat ini untuk menghaluskan terrain.

Height Tools - Soften tool

Sekarang waktunya untuk membuat terrain kamu sendiri. Coba gunakank alat-alat di atas untuk membuat terrain pegunungan yang bagus.

Paint Texture Tool

Setelah terrain dibentuk, saatnya untuk memberi tekstur.

Paint Texture - Texturing the terrain

Sebelum melanjutkan, kamu perlu mengimpor asset environment yang tersedia pada unity 5. Untuk melakukan itu, pilih Assets > Import Package, dan pilih Environment. Klik Import untuk mengimpor semua asset environment.

Terrain Tools - Importing Assets

Unity membuat kamu bisa menggambar terrain dengan texture. Kamu b isa mewarnai terrain dengan berbagai texture di area yang berbeda. Contohnya, kamu bisa memiliki tekstur untuk batu, pasir, dan tekstur lain untuk rumput. Tekstur bisa diterapkan dengan transparansi yang berbeda, artinya kamu bisa memiliki transisi mulus antara dua tekstur. Untuk mencapai hasil yang terbaik, kamu harus menggambar terrain dengan tekstur seamless.

Seperti yang kamu perhatikan pada tab Inspector, alat Paint Texture memiliki beberapa  kuas, dan membuat kamu bisa mengubah Brush Size, Opacity, dan Target Strength.

Paint Texture - Texturing with brushes

Pertama kali kamu menggunakan Texture Tool, tidak akan ada tekstur yang bisa dipilih. Hal pertama yang perlu dilakukan adalah menambahkan tekstur ke palletmu. Untuk melakukan ini, klik Edit Textures dan pilih Add Texture. Window baru akan muncul.

Texture Tool - New Texture

Seperti yang bisa kamu lihat, pada window ini kamu bisa Select (memilih) tekstur yang ingin kamu gunakan, dan normal map-nya, jika kamu punya. Klik persegi di bawah tekstur dan pilih teksturmu. Sebuah window akan muncul untuk memilih tekstur. Pilih SandAlbedo dan klik Add.

Texture Tools - Selecting the SandAlbedo Texture

Terrainmu sekarang harusnya terlihat seperti pasir. Ingat bahwa kamu bisa mengubahnya pada opsi edit texture, atau menghilangkannya.

Paint Texture - Textures

Tekstur pertama yang dibuat adalah tekstur dasar untuk terrain. Daftar lengkap tekstur yang digunakan untuk contoh ini adalah:

  1. SandAlbedo
  2. GrassHillAlbedo
  3. GrassRockAlbedo
  4. MudRockyAlbedo
  5. CliffAlbedo

Semuanya adalah bagian dari asset yang kita impor dengan cara yang sama seperti tekstur SandAlbedo sebelumnya. Silakan impor tekstur-tekstur tersebut sekarang.

Paint Texture - Multiple textures types

Saat kamu sudah mengimpor semua tekstur, saatnya untuk memberi tekstur pada terrainmu. Pilih sebuah tekstur dan warnai terraint ersebut. Contohnya seperti gambar berikut:

Paint Texture - Preliminary textured terrain

Saat kamu sudah puas, lanjutkan ke bagian berikutnya.

Paint Tree Tool

Sekarang terrainmu sudah diwarnai, saatnya untuk menambahkan pohon. Unity 3D membuatmu bisa menempatkan pohon pada terrain sama seperti kamu memberi terrain tekstur. Menggunakan pengaturan billboard untuk pohon yang tinggi, Unity mempertahankan performa rendering yang baik, membuat kamu bisa memiliki hutan yang penuh dengan ribuan pohon.

Untuk memulai menempatkan pohon, pilih Terrain dari tab Hierarchy, dan pada tab Inspector, pilih tombol ke-5.

Paint Tree - Paint tree tool

Sama seperti tekstur, kamu perlu menambahkan pohon. Klik Edit Trees > Add Tree.

Unity akan meminta prefab dari pohon yang akan kamu gunakan. Klik lingkaran kecil dan sebuah window baru akan muncul. Kali ini window akan menampilkan semua prefab yang kamu miliki pada project.

Trees - Select the prefab

Pilih prefab pohon Broadleaf_desktop dan klik Add. Ini akan menutup window prefab dan tambahkan pohon tersebut ke project.

Paint Tree - Trees selection

Kamu sekarang bisa memilih pohon palem untuk menempatkannya pada terrainmu.

Pada Settings, kamu akan menemui beberapa parameter yang bisa kamu atur saat menempatkan pohon pada scene. Brush Size menentukan area yang akan ditempatkan, Tree Density menentukan jumlah pohon di area yang akan ditempatkan. Nilai tinggi berarti lebih banyak pohon. Tree Height akan menentukan bagaimana ketinggian pohon berubah. Kamu bisa mengaturnya menjadi random dan menggunakan internal nilai-nilai, atau kamu bisa mengatur nilai spesifik. Kamu bisa memilih untuk mengunci perbandingan lebar dan tinggi pohon, Lock Width to Height, untuk membuat pohon tetap terlihat bagus. Kamu juga bisa mengacak orientasi pohon menggunakan Random Tree Rotation. Rotasi pohon juga bisa diatur acak.

Di dalam bagian Lighting, kamu bisa mengatur bagaimana lightmap dihasilkan untuk pohonmu.

Paint Tree - Baked lightmaps

Untuk menempatkan pohon pada terrain, gerakkan mouse ke scene view. Area biru melambangkan kuas. Dengan suatu tipe pohon terpilih, tekan tombol mouse kiri pada terrain untuk memulai membuat pohon.

Paint Tree - Example of trees on terrain

Untuk menghapus pohon dari area tertentu, tekan Shift dan gunakan tombol mouse kiri. Ini akan menghapus semua pohon pada area kuas. Jika kamu hanya mau menghapus pohon jenis tertentu, tahan Control, bukan Shift. Ini akan hanya menghapus jenis pohon yang terpilih.

Kamu bisa mengganti atau menghapus suatu tipe pohon dengan memilihnya pada tombol edit tree. Untuk memodifikasi pohon, klik edit, untuk menghapus klik remove.

Terakhir, kamu akan melihat di dalam komponen Terrain Collider, ada field ber nama Enable Tree Colliders. Dengan memilih opsi ini, kamu membuat collision antara game objek dan pohon menjadi aktif.

Paint Tree - Terrain Collider

Jika kamu tidak ingin menempatkan pohon secara manual, kamu bisa menggunakan tombol Mass Place Trees. Jika kamu klik, window baru akan muncul. Unity akan bertanya jumlah pohon yang akan dibuat. Tentukan Number of Trees dan klik Place. Unity akan menempatkan pohon pada terrain secara acak.

Paint Tree - Mass Place Trees

Langkah berikutnya adalah berkreasi dan mengisi terrain dengan pohon. Untuk membuat pohon yang berbeda kamu bisa menambahkan pohon baru seperti Palm_Desktop, Broadleaf_Mobile, dan Conifer_Desktop. Untuk itu, gunakan opsi Edit Trees pada menu Trees (di dalam Inspector).

Kamu bisa membuat sesuatu seperti gambar berikut (atau sesuatu yang sama sekali berbeda).

Paint Tree - Preliminary terrain with trees

Saat kamu siap, kamu bisa melanjutkan ke langkah berikutnya.

Paint Details Tool

Unity membolehkan terrain memiliki kumpulan rumput dan objek-objek lain, seperti batuan, untuk menutupi permukaan terrain. Rumput dirender menggunakan gambar 2D, sedangkan objek lain biasanya berupa mesh biasa.

Untuk menambahkank detail pada terrain, pilih objek terain dari hierarchy. Pada tab Inspector, klik tombol ke enam, yang memiliki gambar bunga.

Paint Details Tools

Seperti yang bisa kamu lihat, tampilan antarmukanya pun mirip dengan Height Tools. Di sini kamu memiliki beberapa set kuas yang bisa kamu gunakan untuk menambahkan detail.

Karena kamu tidak memiliki objek detail terpilih, kita tambahkan dengan Edit Details > Add Grass Texture.

Ini akan membuka window di mana kamu bisa mengatur beberapa properti untuk rumputmu. Detail Texture digunakan untuk menentukan tekstur yang akan digunakan untuk rumput. Kamu juga bisa menentukan beberapa properti seperti Max Width, Min Width, Max Height, Min Height, Noise Spread, Healthy Color, Dry Color, dan Billboard. Semua properti ini akan menentukan bagaimana rumputmu akan terlihat.

Untuk tutorial ini, kamu bisa meninggalkan opsi awal atau mengubahnya sesuai dengan keinginanmu.

Klik lingkaran di depan field Detail Texture. Ini akan membuka window baru. Cari GrassFrond01AlbedoAlpha, pilih dan klik Add.

Paint Details - Grass tools

Seperti pohon, kamu bisa menggunakan beberapa kuas untuk menambahkan rumput. Kamu bisa mengatur Brush Size yang bebeda dan mengubah Opacity dan Target Strength.

Sekarang saatnya berkreasi dan menambahkan rumput pada terrain.

Paint Details - Grass details

Jika kamu ingin menambahkan mesh untuk detail pada terrain seperti batu, kamu perlu mengulangi proses yang sama seperti mengimpor rumput. Tapi kali ini ketika kamu klik Edit Details, pilih Add Detail Mesh. Ini akan membuka windoww di mana kamu bisa mengatur parameter dari detail mesh, seperi yang kamu gunakan untuk mengimpor rumput.

Sayangnya, asset bawaan tidak memiliki prefab bebatuan, jadi kamu tidak bisa langsung menambahkan bebatuan. Tapi kamu bisa mencari beberapa bebatuan di Unity Asset Store, karena banyak yang menyediakan asset gratis.

Kesimpulan

Bagian ini menutup tutorial Unity Terrain Tools. Kamu belajar mengenai beberapa alat untuk terrain dan pengaturannya. Dengan pengetahuan ini kamu sekarang bisa membuat, memodifikasi, dan mengembangkan terrain untuk game kamu yang berikutnya.

Unity memiliki ekonomi yang aktif, ada banyak produk lain yang bisa membantu kamu membangun projectmu. Sifat platformnya tersebut juga menjadi pilihan tepat untuk mengembangkan kemampuan. Apapun yang kamu butuhkan, kamu bisa lihat apa yang tersedia pada Envato Marketplace.

Jika ada pertanyaan atau komentar, seperti biasa, jangan sungkan untuk menuliskannya di bagian komentar.

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.