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.
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 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
See also: Datatypes
The following modules, listed by category, are provided:
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 |
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 |
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 |
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 |
Module | Input | Output | Description |
---|---|---|---|
GameObject To Mesh | GameObjects[] | VMesh | Create VMeshes from GameObjects |