threejs-worldgen
    Preparing search index...

    Interface ScatterProps

    Props of the <Scatter> component: every ScatterInput setting plus the ones below.

    interface ScatterProps {
        buildBudget?: number;
        camera?: Camera;
        layers?: ScatterLayerInput[];
        lodHysteresis?: number;
        maxDistance?: number;
        ref?: Ref<Scatter | null>;
        refreshDistance?: number;
        seed?: number;
        terrain?: Terrain | RefObject<Object3D<Object3DEventMap> | null>;
        tileSize?: number;
    }

    Hierarchy (View Summary)

    Index
    buildBudget?: number

    Milliseconds per frame spent generating tiles, nearest first.

    camera?: Camera

    Camera the tiles follow. Defaults to the R3F default camera.

    Layers to scatter; replaces the previous list. Missing layer fields take their defaults.

    lodHysteresis?: number

    Fractional band around LOD distances that an instance must cross before switching level (stops flicker).

    maxDistance?: number

    Nothing is generated beyond this distance from the camera (each layer also stops at its last LOD distance).

    ref?: Ref<Scatter | null>

    Receives the underlying Scatter instance (for query, stats, sampleHeight, …).

    refreshDistance?: number

    How far (metres) the camera moves before instances are re-sorted into levels of detail.

    seed?: number

    World seed. Same seed + same layers = same placement.

    terrain?: Terrain | RefObject<Object3D<Object3DEventMap> | null>

    Mesh/group (or a ref to one), baked when the component mounts or the object changes, or a (x, z) => y height function. Inline functions are fine: the latest one is always used, but tiles already generated keep their heights (call scatter.setTerrain() to force a rebuild).

    tileSize?: number

    Edge length of a streaming tile, in metres.