Modules

Modules are the working horse of Curvy Generator. A module usually accepts some data that was generated by another module. You create relations between modules by linking a module's output slot to another module's input slot. A module slot can be optional or accept/generate arrays.

OnRequestProcessing

In general, data flows from a parent module (output) to a subsequent module (input). As an exception from this rule, there are modules implementing the IOnRequestProcessing interface. Unlike normal modules, these modules get a request from a subsequent module, then start their processing and return data. This allowes modules to exchange request parameters with their parent module and receive specific data.

This is most useful for data that is resolutionless by nature (like Shape or Path) to receive details about the needed rasterization options: The moment a module wants a path, it sends a request including parameters (From/To/Resolution/etc..) “up the tree”. The very first module implementing the IOnRequestProcessing then generates the requested data and send it down the tree like usual.

Modules working this way have both their name and slots shown in green while regular modules accepting such a module have their corresponding input slot shown in green only

Module Colors

Module Titles shown in red aren't configured properly (i.e. a mandatory link is missing or the linked input module isn't configured), while green titles stands for modules implementing IOnRequestProcessing

Reference

Module slot legend

  • OnRequest - data will be requested by a module, i.e. OnRequestProcessing
  • Optional Slot - slot can be linked for additional functionality
  • ArraySlot[] - slot accepting one or more links of the same data or generating an array of data

See also: Datatypes

The following modules, listed by category, are provided:

Input

Module Input Output Description
Input Spline Path Path creates a Path from a CurvySpline
Input Spline Shape Shape creates a Shape from a CurvySpline
Input Spots Spots creates a collection of Spots
Input Meshes VMesh[] creates VMeshes from Unity meshes
Input GameObject GameObject[] creates GameObjects from Unity GameObjects/Prefabs

Modifier

Module Input Output Description
TRS Path Path Path Translate, Rotate, Scale a Path
TRS Shape Shape Shape Translate, Rotate, Scale a Shape
TRS Mesh VMesh VMesh Translate, Rotate, Scale a VMesh
Mix Paths Path, Path Path Combine two Paths
Mix Shapes Shape, Shape Shape Combine two Shapes
Conform Path Path Path Project a Path onto colliders/terrains

Build

Module Input Output Description
Shape Extrusion Path, Shape Volume, Volume (Hollow) Extrude a Shape along a Path
Volume Mesh Volume VMesh[] Generate VMesh from Volume
Volume Caps Volume, Volume[] VMesh[] Generate Volume Caps VMeshes
Rasterize Path Path Path Rasterize a Path
Volume Spots Path or Volume, Bounds[] Spots clone objects along a Path or Volume

Create

Module Input Output Description
Create Mesh VMesh[], Spots create Mesh resources from VMeshes
Create GameObject GameObject[], Spots instantiates GameObjects/Prefabs from GameObject

Misc

Module Input Output Description
Note Text notes
Debug Volume Volume Visualize a Volume
Debug VMesh VMesh Visualize a VMesh
Last modified: 2015/09/21 13:30 by Jake