Sparse Far Layers: Trees to the Horizon in PlanetGen and SpaceKit. Free Demo + Plugin Update
Fly fast over a procedural planet and you can see where the trees stop. They end at a fixed distance, then arrive as a wall as you move. Sparse far layers fix that, and they are now in both PlanetGen and SpaceKit.
Grass, trees and rocks keep scattering past their dense radius at a thinned density, so the world reaches the horizon and fills in as you approach. The far trees are a strict subset of the near ones, so getting closer only adds trees between the ones you could already see. Nothing swaps, moves or re-rolls.
This post has two downloads. The playable demo is free for everyone. The updated plugins, with full C++ source, are for members.
This is easier to see than to describe, so try it.
WHAT TO TRY
- Take off and fly low and fast over a forest. Watch the horizon: the pines are already there, thinly, before you reach them
- Pick one distant hillside and fly straight at it. Trees appear between the ones you could already see, and none of them jump
- Climb high and look down. The forest reaches the edge of the loaded terrain
- Land and walk. Up close, nothing has changed from before
If something looks wrong, or the fill-in falls behind you at speed, tell me in Discord: https://discord.gg/jRhvJtw5r5
PlanetGen and SpaceKit, both with sparse far layers.
HOW TO TURN IT ON
It is off by default, so your existing worlds look exactly as they did until you switch it on.
Grass, trees and rocks, on the grass asset:
- Tick bEnableSparseLayer
- Set FarRadius above GrassRadius (default 30000 cm). This is how far the thinned layer reaches
- FarDensity (default 0.25) is the density at FarRadius, tapering down from full density at GrassRadius
Per-chunk foliage, on the foliage entry:
- Tick bEnableSparseLayer
- DenseRadius (default 150000 cm): chunks nearer than this hold every instance
- FarRadius (default 0): 0 means out to the edge of loaded terrain
- FarDensity (default 0.25): the fraction of instances a thinned chunk holds
ONE THING THAT CATCHES PEOPLE OUT
In SpaceKit, the included pine asset, DA_GrassPine, ships with the sparse layer on and a deliberately extreme FarRadius so you can see the feature straight away. Cost scales with the square of the radius. Copy that asset and bring FarRadius down to about 30,000 to 100,000 cm before you build on it.
If fill-in lags behind you at speed, raise the per-frame instance upload budget or the refresh distance, not the radius.
ALSO IN SPACEKIT 1.3
A performance pass on chunk builds and foliage scatter, a new flight HUD, a rebuilt shooter HUD that you can override in Blueprint, and exclusion volumes now working on ring worlds.
Tell me in Discord or comment here, what you want next.
