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.
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
- 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 | Create a Path from a CurvySpline | |
Input Spline Shape | Shape | Create a Shape from a CurvySpline | |
Input Spots | Spots | Create a collection of fixed Spots | |
Input Transform Spots | Spots | Create a collection of variable Spots | |
Input Meshes | VMesh[] | Create VMeshes from Unity meshes | |
Input GameObject | GameObject[] | Create 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 |
Path Relative Translation | Path | Path | Translate a Path relatively to it's lateral direction |
Mix Paths | Path, Path | Path | Combine two Paths |
Mix Shapes | Shape, Shape | Shape | Combine two Shapes |
Variable Mix Shapes | Shape, Shape | Shape | Combine two Shapes in a way that varies through a shape's extrusion |
Conform Path | Path | Path | Project a Path onto colliders/terrains |
Deform Mesh | VMesh[], Path or Volume, Spots[] | VMesh[], Spots | Deform a mesh following a path |
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 |
Rasterized 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 | Instantiate GameObjects/Prefabs from GameObject | |
Create Path Line Renderer | Path | Feed a Line Renderer with a Path |
Convert
Module | Input | Output | Description |
---|---|---|---|
GameObject To Mesh | GameObjects[] | VMesh | Create VMeshes from GameObjects |