Tutorial : Bagaimana caranya pasang Heightmap di Unreal Engine 4

Pengen doonk sekali-sekali (bahkan harus dalam beberapa kasus game) kita bisa pasang heightmap di objek mesh kita supaya game terasa lebih realistik. Lalu heightmap itu apa? Berbeda dari bump map yang hanya menampilkan visual bayangan, heightmap justru menampilkan ketinggian yang aktual dari sebuah objek mesh (elevasi). Heightmap bisa diaplikasikan ke mesh yang ingin menampilkan ketinggian gunung atau daratan misalnya. Di game, heightmap digunakan untuk menampilkan detil ‘tonjolan’ tanpa harus modeling sedemikian rumit.

Untuk lebih detilnya bisa dibaca disini : https://en.wikipedia.org/wiki/Heightmap

Langsung saja, untuk membuat heightmap, lo harus buka aplikasi 3d, bisa dari 3ds Max, Maya dan lain-lainnya. Tapi untuk tutorial ini kita pake 3ds Max aja ya.

Di 3ds Max. Simpel aja, coba bikin plane dengan ukuran terserah, misalnya 500 x 500 dengan segmen masing-masing 4.

1

Klik dropdown Modifier list dan pilih Tesselate.

Masukkan nilai : Itterations = 2, Tension= 0 (disini lo bisa eksperimen sendiri nilainya. Setau gue, semakin tinggi nilainya, elevasi mesh akan semakin detil).

Kemudian export ke .OBJ atau .FBX terserah.. Oh iya jangan lupa di unwrap dulu ya.

Langkah berikutnya adalah memasang tekstur ke objek tadi. Disini gue merekomendasikan lo bisa memasang tekstur ke objek tadi. Untuk pasang tekstur bisa lewat Substance Painter, Photoshop, 3d Coat dan lain-lain. Tapi untuk tutorial ini okelah kita coba googling.

Buka browser, coba cari gambar “heightmap” dan pilih sesuka lo.

2

Catatan : Gambar dari Google diatas sebenarnya adalah image yang sudah heightmap ready. Kalo lo pengen tau gimana caranya bikin heightmap sendiri, coba sekarang googling “Mud texture”. Disana nanti akan tampil image lumpur yang coba kita generate menjadi heightmap. Save salah satunya saja. Gue pilih yang ini.

Mud texture or wet brown soil as natural organic clay and geological sediment mixture as in roughing it in a dirty muddy country road bog after the rain or rainy season found in a damp moist climate

Ada beberapa cara membuat Heightmap, kalo gue lebih seneng pake aplikasi CrazyBump namanya. Lo coba bisa download disini.

Setelah save, buka CrazyBump. Trial 30 hari gapapa lah buat latihan.

Di CrazyBump, pilih image mud yang barusan lo download. Kemudian pas ditanya ini (seperti gambar dibawah), pilih aja salah satu.

3

Cuss mantap, kalo berhasil berarti akan muncul bola material yang sudah dikalkulasi oleh CrazyBump, diantaranya Normal map udah masuk, heightmap masuk dan lain-lainnya masuk.

Pindah tab ke Displacement (tab nya ada dibawah aplikasi CrazyBump). Nah disitu ada setting yang udah secara default disetting sama CrazyBump. Lo bisa seting sesuai kehendak lo dan bisa liat hasilnya di bola 3d tadi, atau image disebelahnya.

Kalo udah selesai, klik save. Jangan sungkan-sungkan, Save All Texture aja sekalian.

Sip, lo bisa buka hasil save tadi, disana ada COLOR, Displacement, Normal, Occlusion dan lainnya. Simpen ini jangan dibuang.

Sekarang buka Unreal Engine. Gue rekomendasikan lo udah ngerti sebelumnya dengan Unreal Engine, karena kalo gue jelasin disini bakal kepanjangan scope tutorial nya.

Intinya, Bikin New Project, kemudian pilih yang Blueprint dan pilih First Person atau Third Person template.

Import Mesh yang udah lo bikin di 3ds Max sebelumnya. Biasanya Material bakal ngikut kedalam Unreal, tapi kalo misalnya ngga, maka lo harus bikin material di Content Browser Unreal. Caranya klik kanan, kemudian pilih Material.

Selanjutnya import semua texture hasil kita buat tadi di CrazyBump.

Buka Material dengan cara double click di Material yang barusan kita buat di Unreal.

Klik base root material disebelah kanan untuk mengaktifkan panel Details di sebelah kiri. Kemudian scroll kebawah hingga lo nemu tab ‘Tesselation’. Aktifkan 4 opsi sesuai gambar diatas.

Pasang texture kedalam base root material. Pasang COLOR ke Base Color, NRM ke Normal, SPEC ke Specular, OCC ke Ambient Ocllusion.

(Naming convention diatas adalah output dari CrazyBump. Kalau Anda masukkan texture dari software lain pasti akan ada perbedaan nama. Namun intinya, Color/Albedo/Base color selalu sama. Normal ke Normal Map selalu sama. AO ke Ambient Occlusion selalu sama. Dan sebagainya).

Sejauh ini udah oke, hanya ada satu pekerjaan lagi.

Biar cepet, ikuti alur dari gambar diatas. Displacement texture dipasang diantara VertexNormalWS dan Multiply. dan dirangkai ke World Displacement pada root material.

Tekan ‘1’ pada keyboard kemudian klik kiri mouse. Pasang ke Multiply B dan masukkan nilai Material Expression Constant ke 5 atau 10. Semakin tinggi nilai nya maka akan semakin tinggi efeknya.

Tekan ‘1’ dan klik kiri mouse lagi untuk pasang node ke Tesselation Multiplier dan pasang value 2 disana.

Jika langkah Anda benar, maka material sudah terpasang efek heightmap. Segera pasang Material tadi ke mesh, dan pasang mesh ke world level Anda.

 

Leave a comment