Wszystkie artykuły
Tutoriale · 3 min read

Jak rozsypać skały w Unreal Engine 5: szybko, wiarygodnie, wydajnie

Praktyczny workflow scatteringu w UE5 (malowanie gęstości, maski nachylenia, reguły gatunków i clustering) który pozostaje wydajny, bo wszystko zapieka się do instancji.

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

Ręczne rozmieszczanie skał to najwolniejszy sposób, by krajobraz wyglądał naturalnie, a jednorodny losowy scatter najszybszy sposób, by wyglądał sztucznie. Prawdziwe rozmieszczenie skał rządzi się regułami: gruz zbiera się u podnóża zboczy, wielkie formacje tworzą skupiska, małe kamienie wypełniają luki między nimi. Ten przewodnik pokazuje workflow, który koduje te reguły, przy użyciu Surface Scatter z Numivo w UE5. Idee przenoszą się nawet, jeśli rozsypujesz ręcznie.

Czym jest surface scattering?

Surface scattering to proceduralne rozmieszczanie wielu instancji mesha na terenie lub geometrii, sterowane regułami zamiast pojedynczymi kliknięciami, mapy gęstości, limity nachylenia i wysokości, ograniczenia odstępów oraz zrandomizowane transformy. Zrobiony dobrze, zamienia godziny rozmieszczania w sekundy malowania. Zrobiony źle, daje wygląd „zupy z instancji", który rozpoznaje każdy gracz.

Krok 1, Zbuduj mały gatunek skał, a nie jeden mesh

Nie rozsypuj jednego mesha skały. Utwórz gatunek, ważony zestaw:

  • 2–3 duże formacje bohaterskie (waga niska, ~5 %)
  • 4–5 średnich głazów (waga ~25 %)
  • 6+ małych kamieni i gruzu (waga ~70 %)

Rozkład wag liczy się bardziej niż mesze. Natura to głównie drobiazgi z rzadkimi wielkimi punktami kotwiczącymi, odwróć to, a scena odczyta się jako sztuczna.

Krok 2, Niech nachylenie decyduje, gdzie żyją skały

Ustaw maskę nachylenia tak, by skały preferowały pochyłości 15°–55° i zanikały na płaskich terenach. Skały na idealnie płaskiej łące wyglądają na rozstawione; skały tulące się do przejścia między klifem a gruntem wyglądają geologicznie. W Numivo to dwa suwaki na gatunku; ręcznie to reguła, której trzymasz się podczas rozmieszczania.

Krok 3, Clustering bije losowość

Czysto losowy scatter daje równomierne odstępy, a równomierne odstępy krzyczą „komputer". Włącz clustering, by instancje zbierały się w grupy z lukami między nimi: promień klastra około 400–600 cm z 3–7 instancjami na klaster to dobry punkt wyjścia dla głazów. Następnie dodaj regułę Avoid wobec swojego gatunku drzew (skały rzadko przylegają ciasno do pni) i regułę Attract, która przyciąga drobny gruz ku wielkim formacjom, ten „fartuch gruzu" wokół dużych skał to detal, który umyka większości rozsypanych scen.

Krok 4, Zrandomizuj właściwe transformy

  • Yaw: pełne 360°, zawsze.
  • Scale: 0,8–1,3 nierównomiernie, by sylwetki się różniły.
  • Roll/pitch: tylko ±8° dla osadzonych skał, duże losowe przechyły wyglądają jak unoszenie się.
  • Sink: zatop instancje na 5–15 cm w terenie. Skała stojąca na gruncie zamiast w gruncie to zdecydowanie najczęstsza wpadka.

Krok 5, Zachowaj wydajność: zapiecz do instancji

To tutaj narzędzia do scatteringu udowadniają swoją wartość (albo nie. Numivo zapieka wynik do Hierarchical Instanced Static Meshes (albo instancji foliage, do wyboru)) natywnych assetów UE5, które łączą się w garść draw calli, działają z Nanite i są wydawane z zerowym kosztem pluginu w czasie działania. Zbocze z 20 000 skał staje się kilkoma zinstancjonowanymi partiami; twój build nie zawiera żadnego kodu Numivo.

Dwie praktyczne reguły wydajności:

ScenariuszZalecenie
Skały < 1 m, duża liczbaInstancje foliage + agresywny dystans cullingu
Formacje bohaterskie, dostępne pieszoHISM z meshami Nanite, bez cullingu

Wypróbuj na prawdziwym zboczu

Cały powyższy workflow zajmuje za pierwszym razem około 10 minut, a około 90 sekund, gdy istnieją już twoje presety gatunków. Darmowy poziom zawiera podstawowy scatter bez limitu czasu, więc możesz przetestować to na własnym krajobrazie już dziś. Jeśli utkniesz, dokumentacja obejmuje każdy parametr, a Discord jest pełen ludzi dzielących się swoimi presetami gatunków.