diff --git a/material_maker/doc/images/node_transform_splatter_samples.png b/material_maker/doc/images/node_transform_splatter_samples.png new file mode 100644 index 0000000..b8a8dc6 Binary files /dev/null and b/material_maker/doc/images/node_transform_splatter_samples.png differ diff --git a/material_maker/doc/images/node_transform_tile2x2_sample.png b/material_maker/doc/images/node_transform_tile2x2_sample.png new file mode 100644 index 0000000..6ecdeac Binary files /dev/null and b/material_maker/doc/images/node_transform_tile2x2_sample.png differ diff --git a/material_maker/doc/node_transform_splatter.rst b/material_maker/doc/node_transform_splatter.rst new file mode 100644 index 0000000..5fd449e --- /dev/null +++ b/material_maker/doc/node_transform_splatter.rst @@ -0,0 +1,42 @@ +Splatter node +~~~~~~~~~~~~~ + +The **Splatter** node splats several instances of its input with optional scale and rotation variations. +instances are mixed with each other using a *lighten* filter. + +The **Splatter** also has a color version whose input is in RGBA format. + +.. image:: images/node_transform_splatter.png + :align: center + +Inputs +++++++ + +The **Splatter** node accepts two inputs: + +* The *Source* inputs is the image to be splat into the output. + +* The *Mask* input is a greyscale image that is used as a mask and affects each instance's value. + +Outputs ++++++++ + +The **Splatter** node outputs the splat image. + +Parameters +++++++++++ + +The **Splatter** node has two parameters: + +* *Count*, the number of instances of the source image in the result, including those canceled by the mask. +* *Inputs* is the number of alternate shapes in the input (1, 4 or 16). Images containing several + shapes can easily be created using the **Tile2x2** node. +* *Rotate* is the maximum angle of the random rotation applied to each instance. +* *Scale* is the amount of scaling applied to each instance. + + +Example images +++++++++++++++ + +.. image:: images/node_transform_splatter_samples.png + :align: center diff --git a/material_maker/doc/node_transform_tile2x2.rst b/material_maker/doc/node_transform_tile2x2.rst new file mode 100644 index 0000000..0d6f003 --- /dev/null +++ b/material_maker/doc/node_transform_tile2x2.rst @@ -0,0 +1,28 @@ +Tile2x2 node +~~~~~~~~~~~~ + +The **Tile2x2** node combines 4 input images into a single output by tiling them. + +.. image:: images/node_transform_tile2x2.png + :align: center + +Inputs +++++++ + +The **Tile2x2** node accepts 4 RGBA inputs. + +Outputs ++++++++ + +The **Tile2x2** node outputs the tiled RGBA image. + +Parameters +++++++++++ + +The **Tile2x2** does not have any parameter. + +Example images +++++++++++++++ + +.. image:: images/node_transform_tile2x2_sample.png + :align: center diff --git a/material_maker/doc/nodes_transform.rst b/material_maker/doc/nodes_transform.rst index 05f4fce..5fb522b 100644 --- a/material_maker/doc/nodes_transform.rst +++ b/material_maker/doc/nodes_transform.rst @@ -11,3 +11,5 @@ The transform nodes are nodes that affect the geometry of their input. node_transform_mirror node_transform_warp node_transform_customuv + node_transform_tile2x2 + node_transform_splatter diff --git a/material_maker/library/base.json b/material_maker/library/base.json index 7d8f3ce..7ccac54 100644 --- a/material_maker/library/base.json +++ b/material_maker/library/base.json @@ -2603,6 +2603,16 @@ "tree_item": "Transform/CustomUV", "type": "custom_uv" }, + { + "collapsed": true, + "icon": "transform_tile2x2", + "name": "tile2x2", + "parameters": { + + }, + "tree_item": "Transform/Tile2x2", + "type": "tile2x2" + }, { "collapsed": true, "icon": "transform_splatter", diff --git a/material_maker/library/base/transform_tile2x2.png b/material_maker/library/base/transform_tile2x2.png new file mode 100644 index 0000000..3fe810f Binary files /dev/null and b/material_maker/library/base/transform_tile2x2.png differ