Skip to content

Add mesh triplanar node(+ doc) to the base library #891

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 4 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 6 additions & 2 deletions addons/material_maker/nodes/mesh_triplanar.mmg
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
}
],
"label": "Mesh Triplanar",
"longdesc": "",
"longdesc": "Generates a box-mapped image to be used on a custom model",
"name": "mesh_triplanar",
"node_position": {
"x": 0,
Expand Down Expand Up @@ -143,6 +143,7 @@
},
"ports": [
{
"shortdesc": "Input",
"name": "port0",
"type": "rgba"
}
Expand All @@ -161,6 +162,7 @@
},
"ports": [
{
"shortdesc": "Output",
"name": "port0",
"type": "rgba"
}
Expand All @@ -182,6 +184,8 @@
"widgets": [
{
"label": "K",
"shortdesc": "Blend",
"longdesc": "Blending strength",
"linked_widgets": [
{
"node": "brush_triplanar",
Expand All @@ -198,6 +202,6 @@
"param0": 32
},
"seed_int": 0,
"shortdesc": "",
"shortdesc": "Mesh Triplanar",
"type": "graph"
}
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
33 changes: 33 additions & 0 deletions material_maker/doc/node_miscellaneous_mesh_triplanar.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
Mesh Triplanar node
~~~~~~~~~~~~~~~~~~~

The **Mesh Triplanar** node samples the input image three times and
projects them onto a model from orthogonal axes using position map
and blends them using surface normals generated from the Mesh Map node.

This makes it possible to texture a model without relying on proper UVs,
but the model must first be unwrapped.

.. image:: images/node_miscellaneous_mesh_triplanar.png
:align: center

Inputs
++++++

**Mesh Triplanar** node accepts an RGBA input.

Outputs
+++++++

**Mesh Triplanar** outputs a triplanar-mapped texture map which can be used on a custom model.

Parameters
++++++++++

**Mesh Triplanar** node has a single parameter *K* which defines the blending strength of the texture samples.

Example Images
++++++++++++++

.. image:: images/screenshot_triplanar.jpg
:align: center
1 change: 1 addition & 0 deletions material_maker/doc/nodes_miscellaneous.rst
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,4 @@ Miscellaneous nodes
node_miscellaneous_debug
node_miscellaneous_variations
node_miscellaneous_randomize
node_miscellaneous_mesh_triplanar
10 changes: 10 additions & 0 deletions material_maker/library/base.json
Original file line number Diff line number Diff line change
Expand Up @@ -7842,6 +7842,16 @@
"seed_int": 0,
"tree_item": "Filter/Fill/Select",
"type": "fill_select"
},
{
"display_name": "Mesh Triplanar",
"icon_data": "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",
"name": "mesh_triplanar",
"parameters": {
"K": 32.0
},
"tree_item": "Miscellaneous/Mesh Triplanar",
"type": "mesh_triplanar"
}
],
"name": "Base library"
Expand Down