Posizionare le rocce a mano è il modo più lento per far sembrare naturale un paesaggio, e lo scatter casuale uniforme il modo più veloce per farlo sembrare finto. Il posizionamento reale delle rocce segue delle regole: i detriti si raccolgono alla base dei pendii, le grandi formazioni si raggruppano, i sassi piccoli riempiono gli spazi tra loro. Questa guida mostra un workflow che codifica queste regole, con il Surface Scatter di Numivo in UE5. Le idee si trasferiscono anche se distribuisci a mano.
Cos'è il surface scattering?
Il surface scattering è il posizionamento procedurale di molte istanze di mesh su terreno o geometria, guidato da regole invece che da singoli clic: mappe di densità, limiti di pendenza e altitudine, vincoli di spaziatura e transform randomizzati. Fatto bene, trasforma ore di posizionamento in secondi di pittura. Fatto male, produce quel look da "zuppa di istanze" che ogni giocatore riconosce.
Passo 1: Costruisci una piccola specie di rocce, non una singola mesh
Non distribuire una singola mesh di roccia. Crea una specie, un set pesato:
- 2–3 grandi formazioni protagoniste (peso basso, ~5 %)
- 4–5 massi medi (peso ~25 %)
- 6+ sassi piccoli e detriti (peso ~70 %)
La distribuzione dei pesi conta più delle mesh. La natura è fatta soprattutto di cose piccole con rari ancoraggi grandi; inverti tutto questo e la scena si legge come artificiale.
Passo 2: Lascia che la pendenza decida dove vivono le rocce
Imposta una maschera di pendenza così che le rocce prediligano inclinazioni di 15°–55° e si assottiglino sulle superfici piane. Le rocce su un prato perfettamente piatto sembrano posizionate; le rocce che abbracciano la transizione tra scogliera e terreno sembrano geologiche. In Numivo sono due slider sulla specie; a mano, è la regola da seguire mentre posizioni.
Passo 3: Il clustering batte la casualità
Lo scatter puramente casuale produce una spaziatura uniforme, e la spaziatura uniforme urla "computer". Abilita il clustering così che le istanze si raccolgano in gruppi con spazi tra loro: un raggio di cluster intorno ai 400–600 cm con 3–7 istanze per cluster è un buon punto di partenza per i massi. Poi aggiungi una regola Avoid contro la tua specie di alberi (le rocce raramente si appoggiano strette ai tronchi) e una regola Attract che attira i piccoli detriti verso le grandi formazioni: quel "grembiule di detriti" attorno alle rocce grandi è il dettaglio che la maggior parte delle scene distribuite si perde.
Passo 4: Randomizza i transform giusti
- Yaw: 360° completi, sempre.
- Scale: 0,8–1,3 non uniforme, così le silhouette variano.
- Roll/pitch: solo ±8° per rocce ben appoggiate; grandi inclinazioni casuali sembrano fluttuanti.
- Sink: affonda le istanze di 5–15 cm nel terreno. Una roccia appoggiata sul terreno invece che nel terreno è di gran lunga la spia più comune.
Passo 5: Mantienila performante, converti in istanze
È qui che gli strumenti di scatter si dimostrano validi, o no. Numivo converte il risultato in Hierarchical Instanced Static Meshes (o istanze di foliage, a tua scelta): asset nativi di UE5 che si raggruppano in una manciata di draw call, funzionano con Nanite e si pubblicano con costo di plugin a runtime pari a zero. Un pendio da 20.000 rocce diventa pochi batch istanziati; il tuo build non contiene alcun codice Numivo.
Due regole pratiche di performance:
| Scenario | Raccomandazione |
|---|---|
| Rocce < 1 m, alto numero | Istanze di foliage + distanza di cull aggressiva |
| Formazioni protagoniste, calpestabili | HISM con mesh Nanite, senza cull |
Provalo su un pendio reale
L'intero workflow qui sopra richiede circa 10 minuti la prima volta e circa 90 secondi una volta che esistono i tuoi preset di specie. Il livello gratuito include lo scatter di base senza limiti di tempo, così puoi provarlo sul tuo paesaggio già oggi. Se ti blocchi, la documentazione copre ogni parametro, e il Discord è pieno di persone che condividono i loro preset di specie.