Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Child pages (Children Display)

This tool is responsible for procedurally scattering actors/blueprints across any number of vast open world terrains.

children

Table of Contents

Prerequisites


Prerequisites in order to use these tools.

The following plugins/features are required.

  • Unreal Engine 4.27

  • GoofishOptimization plugin

  • Enable Experimental feature: “Procedural Foliage” as the tools will respect any ProceduralFoliageBlockingVolumes in order to protect areas of the landscapes from foliage/scattering.

Info

Be sure to first place any Procedural Foliage Blocking Volumes in areas where no spawning/scattering should occur.

Both the GoofishOptimization tools and the ProceduralTools plugin respects these volumes.

  • In order the for ProceduralFoliageBlockingVolumes to be detected via physics queries, ensure they are set to Overlap with WorldDynamic

  • Image Added

Basic Editor Tool Setup


This section will show some of the properties how to setup these blueprints to populate a terrain.

Custom Spawner

Spawns actors on the landscape ( only )

  • Place this actor in the scene, and use it as editor tool, as code would be commented at runtime.

  • Set the various properties including desired Maximum Spawn, Slope Angle min-max, whether to align to hit surface and to perform min/max ZOffset ( height ) adjustments.

  • Then choose

    • Run Simulation

      • This will scatter the terrain with the desired spawn classes, using the random seed specified, to be able to get the same spawn locations when rerunning.

    • Remove All

      • Remove any instances that this specific spawner created. ( they may have moved to tiled levels, so be sure to load all tiles )

Info

This will show some of the blueprint properties and how they may be used to scatter actors.

  • Inherits from CustomSpawner c++ class.

  • Is meant to be used in editor only, by dragging into the scene, and using the functions as described below.

  • BoxComponent

    • After placing in the scene, size up to the desired area where scattering should occur.

  • SpawnClasses

    • Add actors from the content browser to this list to scatter across the landscape.

  • Set desired random Scale min-max, Rotation ( max Pitch, Yaw and Roll )

  • Landscape Layers

    • This should match the landscape material layerInfo physical material name by ‘StartsWith’ ( empty to spawn anywhere on landscape )

Vine Draper

Drapes SplineActors ( such as vines ) across actors, spawned by the CustomSpawner.

  • This actor is meant to be placed in the scene, and used only in the editor.

  • Run Simulation

    • Will scan for any actors, matching the match tag, and attempt to procedurally drape a random spline actor across them, from the center. Can also drape off of a detected edge/drop.

  • Remove All

    • Removes all vines created by this spawner. ( ensure to load all tiles, as instances may live in other levels )

Info

This tool can only spawn actors of the custom type SplineActor class.

  • Inherits from VineDraper c++ class.

  • Random Seed

    • Ensures splines are draped in the same manner everytime the simulation is run

  • Spawn Classes

    • Must inherit from SplineActor custom c++ class.

  • Actor Match & Remove Tag

    • Leave these alone, they are used to tag and match/remove spawned instances, as these may live across worlds/tiles.

Spline Actor

This actor is meant to be used with the Vine Draper procedural draper.

  • Spline Mesh Class is typically a static mesh that supports wind/vertex animation.

  • These are typically made using SpeedTree.

  • Inherits from SplineActor c++ class.

  • Forward Axis

    • Can change the “stretching” axis of the spline mesh accordingly, usually defaults to Z. ( does not have to )

  • Extend and Offset

    • Used to lengthen/shorten the spline mesh segments for better reaching, usually set per mesh, then not touched again.

Demo Usage


A demo of the tool being used, the terrain is a single 800, 000 by 800,000 Unreal Units single landscape, centered at the world origin.
The entire landscape exists in the persistent level, but the world ( any spawned actors ) is broken up into 81 ( 9 x 9 ) 100K sized tiles.

Custom Spawner

A demo of some of the spawners being used to quickly place terrace actors across grass and snow on the landscape.

Vine Draper

A demo of the vine draper in action on the terrain at scale.