diff --git a/addons/material_maker/nodes/mesh_triplanar.mmg b/addons/material_maker/nodes/mesh_triplanar.mmg index 628b546d8..fcff897c8 100644 --- a/addons/material_maker/nodes/mesh_triplanar.mmg +++ b/addons/material_maker/nodes/mesh_triplanar.mmg @@ -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, @@ -143,6 +143,7 @@ }, "ports": [ { + "shortdesc": "Input", "name": "port0", "type": "rgba" } @@ -161,6 +162,7 @@ }, "ports": [ { + "shortdesc": "Output", "name": "port0", "type": "rgba" } @@ -182,6 +184,8 @@ "widgets": [ { "label": "K", + "shortdesc": "Blend", + "longdesc": "Blending strength", "linked_widgets": [ { "node": "brush_triplanar", @@ -198,6 +202,6 @@ "param0": 32 }, "seed_int": 0, - "shortdesc": "", + "shortdesc": "Mesh Triplanar", "type": "graph" } \ No newline at end of file diff --git a/material_maker/doc/images/node_miscellaneous_mesh_triplanar.png b/material_maker/doc/images/node_miscellaneous_mesh_triplanar.png new file mode 100644 index 000000000..bae29dc68 Binary files /dev/null and b/material_maker/doc/images/node_miscellaneous_mesh_triplanar.png differ diff --git a/material_maker/doc/images/screenshot_triplanar.jpg b/material_maker/doc/images/screenshot_triplanar.jpg new file mode 100644 index 000000000..ba4bb43bb Binary files /dev/null and b/material_maker/doc/images/screenshot_triplanar.jpg differ diff --git a/material_maker/doc/node_miscellaneous_mesh_triplanar.rst b/material_maker/doc/node_miscellaneous_mesh_triplanar.rst new file mode 100644 index 000000000..05deba97c --- /dev/null +++ b/material_maker/doc/node_miscellaneous_mesh_triplanar.rst @@ -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 \ No newline at end of file diff --git a/material_maker/doc/nodes_miscellaneous.rst b/material_maker/doc/nodes_miscellaneous.rst index 377604621..758130e93 100644 --- a/material_maker/doc/nodes_miscellaneous.rst +++ b/material_maker/doc/nodes_miscellaneous.rst @@ -15,3 +15,4 @@ Miscellaneous nodes node_miscellaneous_debug node_miscellaneous_variations node_miscellaneous_randomize + node_miscellaneous_mesh_triplanar diff --git a/material_maker/library/base.json b/material_maker/library/base.json index aff2abd73..29309cef1 100644 --- a/material_maker/library/base.json +++ b/material_maker/library/base.json @@ -7842,6 +7842,16 @@ "seed_int": 0, "tree_item": "Filter/Fill/Select", "type": "fill_select" + }, + { + "display_name": "Mesh Triplanar", + "icon_data": "iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAEX9JREFUeJztm3+sZVdVxz9r733Ove/NezPtlGGmv6A/oDAiWsqPIiZIsBaiYtXEIMUQQkSiAYmkGiGRYFDjjxBSMCpGDcQfQAQjphWa8KPaobQUbYsBqoamNC2dTuf3vHnv3nP23ss/9t737Htn3vygU/6xp1nZ55y5797z/a7vWmvvdXbh6ePp4//1Id/fn/v5EebCZ6L6TFRW4ZdXwQfhYxNBD4IeFO7aG/jP7vv1RE8tAZdcv8wTl+/Gvf1V9KNXE0YvRN124ngEToZHUIRehclUCPst0280HL8j8me3b+OBb+zljmNP1SOeewJWdi9z3o2vRn/0zRzZcS3TlV2E1hJHAg3gAAuYhT+MQAA80GHo1NGFEcf2rbL/i5Y7/vEQn/j8Gt9aP5ePe+4IWN29wjW/+VYevPQdHNn+LDa2WMIYdAzaciJ4yaPmLygERBIJPYmICZYJY46HbRx4cBf/++EH+NDH1vjvo+fisZ88ATt2CKtvuQFe/kccPf+5rG0V+iWIY9ARCXgB70igCwHl5zVbZCCgkNAjTBEmONbZwlHdxuEHer72q4/y+//2ZB/fPqm/vvrKHay+909Zu+r3OLxth6xvEelHoC2iTf764vEi+RTz81aAK4MKqnsSQJQoSi8inciORi74xYu47ryOb32l4+D3nDS/dwJe8UuvlcnrPyP7tr/KHNtiZDJG/AhRh2iSuuT/TvT0IvBigRkBEhYsggmoCQQT8UadF/MjO8zVr3uWPuPevdz/yPeHgJ07rey+4Sa79tKP2H3nPcMcX8JOR5jQYKJFsAgmAy/QFUHz+Wae9hX4fC4ejAcTwPpkxoMNBBuINkhn2ensthtfqVfJEX14zxprTyEBO3dae/Ubbm4OXvHu5oltjVsf46YtJjhstBgsJoNPfh/kLtnjQkRm4MO8SQY9Gwv4fiDAenDJovPEJtC72Bxz9lVXyWX2WHjw9nXOvFCcFQHta6579/ihZ/326MCKtGtjXNfgMvja9xbFZOBmBjpmAhJYOQG8nwdv+2SmB3cy89AmEkLjCU2UaRt/bMU+f7K/u2vPOSdg6eXXv3Fl3/M+OD6wxY7WRjTTNoHXwe9DutNs88CljnF8urfodZO9bTIBBWwB3mQFNN3sWhtPbHpCExi3G6+82K08uG/jwf86ZwSMfvJlrzh/7aqPj/dvWR6tjWmmDY3P4NVgqKu7ZhISeJOlXnte8DMSEI+IB+mTGV95fQF4U86rsU2jNj0xjXZpNPqJ3eL2fGfjuw8/aQLaqy+9aGez+9Ytj27dOVob0W60NN7i1OJUcqGTampTEl48wcxclvdzJqYkuTCL8RkBTSX9pliXrdxP19r0hNaPVlr72h3++D/vnRw99D0T0O5aHV20+wc/ufrweS9eOjKmnTQ0vaOJFqcGi+Ay+KQCnZO/IeQQCLPEJyXZ1d43ycT4ea/PJN/Pg3UdtBU5bSaj7dGmI7Y9se1XLx63V/RHDn7yaJjqZhhPScCul17xxgsO7XjXlgNLMl5vaacOF0wFvki/Bh2rxBeqscoBc1m+8r7ziMs5wC16vRvGNt9vuyoMOmg7tO3QZprCou2vXBn7ux9/4sC3N8PoNvuH5YuWxxea829aOmxMu6HYLkDwoJ6oXZXelEAkEAg4PB6Pw2DxGEwOkFIeEUFEECGfK8GAMRCtglOwCi6iLoIL0ESwAZqThIfNirA9alMOCRKZaOTwyLhdo+3v3/rYli8ePXS8PysCLnrB9p/Ztt+8oF1TXBewM/B95eME3s8I8FgcBk/ItcHXEyMZ5giIgAFvQC1Ep4hV1AIuDtZkElysCAhDaNRmPWo80Xh6AusRjvTmmsufd9719991/NYzJmDpcttcalZ+a+UopplEXO+R6FHts9AhoMQM3hIINHgsHo9gK+DZRGZjypaJAByIBW8Bp0SXvd8oUlTQFPBZBU2lgjovuA5sl0iQQKeRY0Hs+Zdsfff27Y9/7uBBH86IgMtfsvzK8x+0P7x8HGzvMcEjsUc15fhh+hKxRBwh+zzNBm32vqm8L5jkdZEEXhhqpwW1mheMhQRFmyoEmnoMVVksZOREaHswHdGkYJzEyBEn1171A9uuu2vPgdvOiIDnHF952+oRdePOY/uQvE9XFTfwaI76iJ9JPxHQV8Vx8HoiQIrnrQyLxbJStjn+m0EJNBEt4NuwQICfzQiTAqp8YHqCeHoNHGtxu660N7GH0xPwgt3txduOcP3qJNKU2K+8n3K64on47HmDyyWveH2YFIuUxoekTCeghQQjyfM25QHjsgpsCgFtItIoNKFSQyEjE9DWoZBVkCdSKh4vgUkfOSD2hVdePdr27fumR05JwIU3cO22f2V1uQu0wWNialFFBvl7FEekJ2CzGfxsMTTzvpgsfZNlnxVgBRxoNixoBu+dJvBZAbFJKpAmom3IKigEhIGAtpok5XVEygWefhQ43uj26TKXA/edkoDL7nOvWF2LZtwHGu+R2KEqc2XPoznmkwL6CrzMKSCRkORPUoBJCkhWQkBRK6iNiRCnOfllIpqAthFpsxIKEW1NgB/mCbZL92xWgQY2mmgvfY275vE7p6cmYOtafOmWLjDyHhc9srCs8cQc9yErwOcQmAeOmKyGOvmZLHdBLagTyKVPnWZFJNAmK8E0gwoG8HEA34YhFIoCqlyA6QnqmTbRHInx5cDfbErAi17E6sqGXrWli7Q+YLVDTur9OJN9qfvF86Z4Pce/5uQ383oBb6WqAKkKxIqAEgZa5N9EKCooBIzCfCg0fpglNl2eF/Qont4HPPHFiw6fI6CdcPGKjduX+sAopFWbUJIfOfklAvqc/Cyhkn1ZFlWNzxwCakryS0REm+I/Ooi2jAl0dGBcxDRKzIlQcgnURudDoAkwKuDDkAtcn0LBpnrlY6RXffau13LB3s9x4KQEjCdsWW3UbPGBJvaIpr6OZvABxc68n8B3C+CluFUG6asxc3E/U0GeBWomoYRBnCkgVirQVA7biLR1QqxyQa2CQoJJy+wYAz1xmziugM0ImLK8pJFxCDTqcwwP3g8z76eVnpnJvvK+VC2Rkv3NiSEQiwpMAu8q8LFJZnIOMKUktkMuSKFQETCqSJjNC9IiSyVA9HhRc9nPcsm+W7jnpARcfT5blo6ojGOg0YDRfo4AXymgnviUXpAW8GJmsV8UkAAnBRTw0VVhUMDPxmQlFLRJ02JtqqlxE2EUUwi0vsoJhYSigIBqxFvVN005fu9mOeDC3fjxHhhrmtmnZUuXFz1pvW8zCYmWAn7oBJAXxCqSrIDPphaCzQRkEpwrSVDmwJdQiC4Scx6QEypCIcIPVaGQUJbWxqMxEKzq+/bMd0znCPj321nfbVRHUXMIDN37gOJwpOXQfOKjTnwyKKDIPhpDNBCMELPko5XkbZMsOMXaSgk2hYG6lAhjUUETcxUoVs8JMhFNyCUxrx7FQ4wpyRo2NiUAYaNVGKnS5DjX2bI3zQCTf23V6FggYBYCJe6LAjLoHP/BZvBzlaAKgSaRIk3EuDIfUKQts8J6drgwL2jjsFaw6a1SqeOGUxBgDFOJaIvSZjGntDdUgPlujyWtC7Pns/SjGGJFQon/WMV/KCFghGiV4MA6sJmEkCdDNpdCk5PiUBZDpYRwohpKcrQZeVTo2cByaFMCVDgsMGmUJhGQAqC8t6nnhKncxcHrJe4xBBlyQMwWcgjUYyHCziyFQbCKyWQkFaRkKLkqaM4HaZWo1QKpGnPFSARkPzUcbdY5uCkB/7GX79odfNPBtY1qbhhqTndkBZgZAZoJUJG8WMr05PiPRggiBCM0hpQLMuhgExHOpXPnahXEDL4oYlBBmE2KqoRYwLa5KrSaK0VMDy4KHtTw+BOfYropAQ8loLdZ4dq0RFfSRCgWoc9a3tQEzAyCyW3RLPdQJcDifVeREC0ElzpCMxVk4EUBZsEGBVTAW60SY+opzHoMJLGK8nUWjhMWQ985wmd3Ce9x4JqsAKUUN8nel3w/hYhS4n7weMjnzhQFSAYtOEMiw6aeoLVkUhJ4Y8HYE4FLHqMbVJBCYBMrDZckgiB7+KfTEvCBwP2fNDxqhWdbHfZwmNnb3aSKlAniTPaBODTAZ3E/EOANWCNYA86AtzLEvkmxn8AXBWQSaiJyIpQmtczS9LgCXBoqteVUJYED8R7uPC0B9wQ2pg1f2Op5S1muJ8hF/sz8rjk8ytu/KEIjQhCG+BdmRBTP+6wCb5iFQ03EoIAqEbp0TT6X3DekAcnT6JMSkB/YbPDl6UfmEyCcuFMJgK96Pk161rmWXbEGzRtfUmcoXUcaCbhFMwEnHmeKBZzxWOuxZcznxlbmAsZ5xAXEBUwZm4C4mGeFhYhNwNuZ52K4g384GdaTEnCn5Strhv3lA4skpGvFoZkExYkOhIjiJGbwEWfijAxrPNbk8xkJAWM91gWsDVgXMDZgbMxExOz1WHk/tdOxm0i/2oslE/5Hb+aWMybgI1MOHYY/D3kLVyGhEFFveXIykOEkX4tWFnESsaLJjGJNxJiYzxVjYpK80SHurSYCbHphIlYxFsQM19iTAC9xX3blRFRv52a+yuSMCQB4W+QDE/hGnkYstvEH0/o6gTR5TJY74BnscL+Ar8wO52K09FJm/4ZVZOb5ytOLe7EKARHoeIQv8YnNcG5KwN3K2p3wzh66yLCpbXgTXCugDo10rwA3i8DNSYBXJjaBLypI3mZm5UdkzgsLwCFp1xP5Ar/Dhzh81gQA/Bx8sYOP9ZlMFkgo5/U7jpnHK0JmZFRmS6/EDDbrnpsFy182I6HekVE/SA0+AEe5hT/g70+F8ZQEALwP3jOFh2oSChGLqjshRApgMuhFIsxJLJdBWQR8sh9a9Hqp0QFYl/28l3dyN/5JEfBh2P9Z5DfW08vxOSWUMb/pnnPE3LMueN+YE+/NGkglcy8oYdZtk00Mho1nE+n5F/MO/oKHTofvtAQA/DH6mX20H11HtGfY5lRvuxA9kYTFvFFeD0h9nj9USKjainNfIguAtQZe9l16YCKRx8zv8qawaeI7awLuA30D/tf2M/rLDYQuk6CAlh/PDzKnDJk/X1RLfU312ZOBLp0plfl9pqqgZb0+NXCo/Sg3hj88E1xnTADAvcTu9UzefoilDx7HxClpK/OcGvKTyUkImTuvQM7fnFfV3Mba7HXVward9XDcRg6O/po3dL/OvZywD2Cz44wJALgX/C+wftMxtr7/GE1f1OCBULpO9QNm04Vxzk4HnHlPR82/4UF7YCqw0azz+dG7uHHjV7hHj58NprMiAOA+iM/n8PtuY+mNR1k+sI5lqkKn0EcIMZNRmZ7Comag8cS/iQoxLlh6W0/sBZ1Y9NjSd7hl60/z1vWbuW+uUJ3RYc/2D8pxK9NvHuN1tzyXg1cL/hIP4gV6A72RPGaz0LuTjPm8c/PX3kGXx95Cl7+nE6FH8NER/Vh1betn+cDoBj68/4x2hZ5TAgC+zreeuAv+boltey9g9JIeVnoUL+lhuwUSugImn9eEdG64N/uMgalI+h9oMPTq6ONYw/p5B+Jdy+/ng2vv5I7DR07/pE8RAQAH6MKXWPvaYbZ+/BJ2jqe0zw5iljoRmWLoTLKpEaZG6IwwNdDl885K9W/lc4ZOLJ1YpuqY6ohpWNbpdNtj/WOX/ol+ev2t/NVjt/FEf9aSXzzk9B85u+M6Ltz+Qtqfeq5zb5Fm8rIw8uNu1Bk/7umWAtMxTEbKZAwbY03XS7A+EjbGwmQkbIwMk5FlvW3juhkf2zDjr0+no0/1ew7/LV945JRbX8/2OOcE1MePm11Xvchcds14+fi1/bh7SRhPn9ON4vndEnY6jkzGKtNxlMlY9Hhr43prNyYju7bR2v2Txn312CPdrRtPrN/dffm7jz1Vz/iUErB4/NDWi1eMCRd7Y1a91XFwb17evnL/8l7/8Fpn9z8eGnewUz14+IFHN07/bU8fTx9PH+fg+D+UVIOw5+M1/gAAAABJRU5ErkJggg==", + "name": "mesh_triplanar", + "parameters": { + "K": 32.0 + }, + "tree_item": "Miscellaneous/Mesh Triplanar", + "type": "mesh_triplanar" } ], "name": "Base library"