Versions Compared

Key

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

This document describes how to use the custom procedural Cave System plugin, to generate at editor -or real- time fully procedural caves.

Child pages (Children Display)
Table of Contents

Plugin Installation and contents


This section describes the installation of the plugin

Installation

Installed as part of the Goofish Optimization project plugins. Checkout from goofish perforce and copy the following folders to /Engine/Plugins

  • HighMaterialsPlugin

  • ProceduralTools

  • CaveSystem

  • GoofishOptimization

Contents

The plugin consists of quite a few Blueprints, Meshes and c++ classes.

Only the important ( frequently used, or applicable to the user ) ones will be covered in this document, for information and details about the static meshes and/or materials simply go through the plugin content folder using the content browser, and filter by type, or use the reference viewer.


Important c++ Classes:

  • ProceduralContentSpawner

    • This is the main class, from which a child blueprint should be constructed, and placed in the level. This will be used to generate the Cave.

  • CaveSystemGenerator

    • Used to generate a section ( walls, floor, ceiling, walkway, portals [ to next walkways/sections ] )

  • CaveWallActor

    • Used to produce cave walls.

  • MultiSplineActor

    • Used to produce walkways.

  • ProceduralScatterActor

    • Used to scatter various actors across the cave system. ( rocks, roots, props, etc )

  • SealActor

    • Used to “Seal“ certain portals, to create closed off areas.


Important Blueprints

  • Procedural Content Spawner

  • This is the main CaveSystem blueprint that gets placed in the world, and manages all cave generation systems.

    • All of these systems/generators can be modified/duplicated, simply by changing their reference in this blueprint, to the desired class.

Info

The CaveSystem plugin is a code & content plugin

Note

Be sure to enable “Show Plugin Content” in the Content Browser

Usage


This section describes how to use the plugin to generate fully traversable, and procedural caves.

Drag the “procedural_content_spawner_bp" into the scene.

Modify Seed and/or Sections as desired. Then press “Generate System"

This will generate the basic cave layout, and because it is using a seed it will always look the same after redoing generation.

Next go through each of the various scatter generators, and use them to decorate the environment with scatter actors.

It is usually better to start with the large props, then move towards the smaller ones, Boulders, PIllars, Roots, then Rocks and Smaller Rocks.

The environment can now be modified at editor time, and walls removed, and sections manually added to create more distinctive environments.

Everytime the generation is rerun, those manually placed/custom sections would need to be reconnected by removing the sealed walls, and placing open portals again manually. Although any manually placed actors will remain in the scene, so no need to rebuild entire sections manually.

Info

The plugin already has prebuilt cave generators, that can be used without requiring any custom class/blueprint creation or modification.

Demo:

2022-04-05 08-19-12.mp4