Semua artikel
Tutorial · 3 min read

Cara menyebar batu di Unreal Engine 5: cepat, meyakinkan, berkinerja tinggi

Alur kerja scattering UE5 yang praktis, yaitu melukis kepadatan, mask kemiringan, aturan species, dan clustering, yang tetap performa tinggi karena semuanya di-bake menjadi instance.

Illustration of a circular scatter brush placing rocks on a ground plane

Menempatkan batu secara manual adalah cara paling lambat untuk membuat lanskap tampak alami, dan scatter acak seragam adalah cara paling cepat untuk membuatnya tampak palsu. Penempatan batu yang nyata mengikuti aturan: puing berkumpul di dasar lereng, formasi besar mengelompok, batu kecil mengisi celah di antaranya. Panduan ini menunjukkan alur kerja yang mengkodekan aturan-aturan itu, menggunakan Surface Scatter Numivo di UE5. Idenya tetap berlaku bahkan jika Anda menyebar secara manual.

Apa itu surface scattering?

Surface scattering adalah penempatan prosedural banyak instance mesh di atas terrain atau geometri, digerakkan oleh aturan alih-alih klik satu per satu: peta kepadatan, batas kemiringan dan ketinggian, batasan jarak, serta transform yang diacak. Dilakukan dengan benar, ia mengubah berjam-jam penempatan menjadi beberapa detik melukis. Dilakukan dengan salah, ia menghasilkan tampilan "sup instance" yang dikenali setiap pemain.

Langkah 1: Bangun sebuah species batu kecil, bukan satu mesh

Jangan menyebar satu mesh batu saja. Buat sebuah species, sebuah set berbobot:

  • 2–3 formasi hero besar (bobot rendah, ~5%)
  • 4–5 batu besar sedang (bobot ~25%)
  • 6+ batu kecil dan puing (bobot ~70%)

Distribusi bobot lebih penting daripada mesh-nya. Alam sebagian besar terdiri dari hal-hal kecil dengan sedikit jangkar besar yang langka. Balikkan itu dan scene akan terbaca artifisial.

Langkah 2: Biarkan kemiringan menentukan di mana batu berada

Atur mask kemiringan agar batu menyukai kemiringan 15°–55° dan meredup di area datar. Batu di padang rumput yang benar-benar datar tampak ditempatkan; batu yang memeluk transisi antara tebing dan tanah tampak geologis. Di Numivo ini berupa dua slider pada species; secara manual, ini aturan yang Anda ikuti saat menempatkan.

Langkah 3: Clustering mengalahkan keacakan

Scatter murni acak menghasilkan jarak yang seragam, dan jarak yang seragam berteriak "komputer". Aktifkan clustering agar instance berkumpul menjadi kelompok dengan celah di antaranya: radius cluster sekitar 400–600 cm dengan 3–7 instance per cluster adalah titik awal yang baik untuk batu besar. Lalu tambahkan aturan Avoid terhadap species pohon Anda (batu jarang menempel rapat ke batang) dan aturan Attract yang menarik puing kecil ke arah formasi besar, dan "celemek puing" di sekeliling batu besar itulah detail yang terlewat oleh kebanyakan scene yang disebar.

Langkah 4: Acak transform yang tepat

  • Yaw: 360° penuh, selalu.
  • Scale: 0,8–1,3 non-uniform, agar siluet bervariasi.
  • Roll/pitch: hanya ±8° untuk batu yang menapak, karena kemiringan acak besar terbaca melayang.
  • Sink: benamkan instance 5–15 cm ke dalam terrain. Batu yang duduk di atas tanah alih- alih di dalam tanah adalah penanda paling umum sejauh ini.

Langkah 5: Jaga performa, bake menjadi instance

Di sinilah alat scatter membuktikan nilainya, atau tidak. Numivo mem-bake hasilnya menjadi Hierarchical Instanced Static Meshes (atau instance foliage, pilihan Anda), aset UE5 native yang tergabung menjadi segelintir draw call, bekerja dengan Nanite, dan dirilis dengan biaya plugin runtime nol. Lereng dengan 20.000 batu menjadi beberapa batch terinstansiasi; build Anda sama sekali tidak mengandung kode Numivo.

Dua aturan praktis performa:

SkenarioRekomendasi
Batu < 1 m, jumlah tinggiInstance foliage + jarak cull agresif
Formasi hero, dapat dilewatiHISM dengan mesh Nanite, tanpa cull

Coba di lereng sungguhan

Seluruh alur kerja di atas memakan sekitar 10 menit pada kali pertama dan sekitar 90 detik begitu preset species Anda ada. Tingkat gratis menyertakan scatter inti tanpa batas waktu, jadi Anda bisa mengujinya di lanskap Anda sendiri hari ini. Jika tersangkut, dokumentasi mencakup setiap parameter, dan Discord penuh dengan orang yang membagikan preset species mereka.