A downloadable Cross-stitch emulation

Download NowName your own price

MRMO-STITCH is a Blender shader-based embroidery emulation process that aims to evoke the "feel" of manual cross-stitch embroidery.

It is a Blender scene setup in a way that converts the input texture (images, image sequences or animation) to a configurable canvas with optional background and object-based "stitches" with optional loose fibers.


It works in Eevee and Cycles render engines, and accepts image/video, as well as procedural texture input.

Please note that due to the process using some newer geometry nodes, it was developed and tested on Blender version 3.4, and it requires this version to run properly.

Note: as MRMO-STITCH is Blender material shader- and geometry nodes-based, this process works completely within Blender and can't be used outside of it (e.g. as a shader in various game engines). It is not an add-on, does not require installation, and does not need any other add-ons to function, and it does not provide any new functionality to Blender. It is a process composed of material shader and geometry nodes, combined with an auto-resizing canvas-and-camera scene, and distributed as a .blend file.

The process relies on a single geometry nodes group with exposed property sliders, as well as various drivers to link the geometry, shaders, lights and camera together, and can easily be further reconfigured and customized if needed.


Various properties are exposed in the main geometry nodes properties panel, allowing for easy configuration of the basic parameters, such as customizing the stitch randomness, simulating canvas deformation etc.

Note that due to the complexity of the scene set-up, the process output is soft-locked to a maximum dimension of 128x128 stitches; this limit can easily be altered but is rather taxing on the hardware, so modify the limit with care!

The MRMO-STITCH "Basic" version includes the process in a .blend scene, with basic configuration options.

The optional MRMO-STITCH "Deluxe" version includes the process in a .blend scene, with several more advanced customization options, such as the ability to easily add canvas margins, modify animation settings (setting seed to animate every n frames, setting the number of frames per frame of input animation...), and add procedural stains to the canvas.


The "Deluxe" version also comes packed with the "stitches workshop", a set-up that was used to create the various textures for the stitch material. This is meant for more advanced Blender users, as it can be used to modify and customize the included stitch material.


MRMO-STITCH is made to be as easy to use as possible, even for people new to Blender, the .blend scene includes a canvas and camera setup that automatically scales to the desired resolution; the only thing necessary to make it work is to plug in an image, set the rendering resolution and percentage, and render the result!


Check out the video demonstrating the basic usage of MRMO-STITCH! (Please enable CC/subtitles for instructions!)

Note: the "Basic" version of the process is and always will be free. The "Deluxe" version is slightly more complex, with extra options, as a paid extra for people who want to support my work, or want to use the process commercially.

Licensing:

"Basic" version license: MRMO-STITCH "Basic" version can be used in non-commercial projects of any kind, excluding those relating to or containing non-fungible tokens ("NFT") or blockchain-related projects. You can modify it to suit your needs. You may not redistribute, or resell it, even if modified. Credit is not necessary, but very much appreciated.

"Deluxe" version license: MRMO-STITCH "Deluxe" version can be used in both non-commercial and commercial projects of any kind, excluding those relating to or containing non-fungible tokens ("NFT") or blockchain-related projects. You can modify it to suit your needs. You may not redistribute, or resell it, even if modified. Credit is not necessary, but very much appreciated.


MRMO-STITCH DELUXE 1.1 - Metal and Emissive update!

The Deluxe version has been updated to allow using metallic and emissive thread! There's new options to enable using metallic and emissive threads, as well as color input fields that allow selecting or picking up to three metallic and three emissive thread colors and a value to adjust the emission strength. The interface layout has been updated slightly to include an image viewer for easy picking of colors.


The post-processing compositor process has also been slightly tweaked with a new sharpen method, and its value can be adjusted from the Geometry nodes panel (the Post Render Sharpen option).


I'd love to see what you create using MRMO-STITCH! I'm on Twitter, Mastodon and Bluesky, so feel free to show me your work there!


Updated 26 days ago
StatusIn development
CategoryOther
Rating
Rated 5.0 out of 5 stars
(12 total ratings)
AuthorMrmo Tarius
TagsBlender, cross-stitch, embroidery, mrmo, mrmotarius, Retro, Shaders, texture, thread

Download

Download NowName your own price

Click download now to get access to the following files:

MRMO-STITCH Basic V1.01.zip 7.8 MB
MRMO-STITCH Deluxe V1.1.zip 9 MB
if you pay $10 USD or more
MRMO-STITCH Deluxe V1.0.zip 9 MB
if you pay $10 USD or more

Development log

Comments

Log in with itch.io to leave a comment.

Hi! I'm using the deluxe update and I'm very happy with my purchase :)

Is there a maximum resolution? There are some image sizes that don't seem to work. Adjusting the size like in the video does not give a pixel perfect result.

(+1)

Hey! Thanks a lot for purchasing MRMO-STITCH!

The suggested "safe" maximum size of 128x128 pixels can be modified within the geometry nodes, but as the process is based around instancing "real" geometry, it quickly becomes extremely taxing on the hardware, with a 1024x1024 canvas producing over a million stitch objects, taking up roughly 5GB of video RAM with 10 million tris/5 million faces :)
What resolution are you trying to use?

Hi, I just bought the Deluxe version, the emulation is fantastic, thanks! one question, how to change the canvas fabric to other materials such as linen or Aida cloth? Can I make my own fabric and import it? 

(+1)

Hi! Thank you very much for your support!

You can change the canvas texture, there's a few steps you'll need to follow:
First, change any area to the "shader editor", and select "Canvas" (the first slot) in the material slots.


Hit "home" on the keyboard to center the view on the nodes, select the "CanvasMat" node group and hit "tab" to enter the node group.




Within the node group are two texture nodes marked "Ambient Occlusion" and "Normal". These are the textures that define the canvas material.



You can remove the pre-defined textures from these two nodes via the "X" button, and load in any two matching "color" and "normal" textures you want.

I'm working on an update for MRMO-STITCH, and it would probably be a good idea to make this process more streamlined and accessible for the updated version!

Hope this helps!

Thanks for your quick reply, the suggested method worked perfectly. Changing fabric materials really opens up lots of new possibilities. I really appreciate your help!

Thanks a lot for the feedback, I'll be sure to incorporate canvas customization in the updated version :)

Hello, how can I make the source image transparent still retain it's transparency? Tried setting canvas tint with zero alpha and black color but result render image would have black color on it, is this only available on deluxe?

(1 edit)

Hey! It's possible with a slight modification of the process.

First, you need to set the "transparent" option for "film" properties (so that the world background color is ignored and set to transparent);

Then you need to navigate into the "CSLayer" node group by selecting it and hitting Tab;

And finally, you need to cut or disconnect the three noodles that join the canvas to the stitches (hold CTRL and drag with right-click to quickly cut stuff);

I might implement an easier way to do this in the future, once I've finished the update I was working on :)

Hope this helps!

Thanks for the detailed explanation! I could now have an alpha background to the rendered image, although there is some slight differences on the overall results, see here
https://x.com/ernesernesto/status/1798980072667591007
https://x.com/ernesernesto/status/1799294301941453300
the dirty stitches I think is the really selling point from the first result, it got lost when I tried making the background transparent with your steps, this is with only the canvas noodle removed
https://x.com/ernesernesto/status/1799299020684488773

anyway, thanks again for the quick reply! This was really cool! now if this is can be used with a batch export or even better rendered in real time... this would be way more interesting :)

Oh! Sorry, the "fiber instances" noodle needs to be connected, haha :D

Also, disabling the compositor nodes (change any area to compositor, then untick "use nodes") should help get rid of unwanted alpha overrides:


Could you please clarify what you mean by batch export?

I have nearly 0 experience in blender, so what I did was, loading each image, rendering each sprite one by one and exporting it as pngs, there might be a better way to do it but I don't have a chance to dig deeper in blender yet :P

(+1)

You can use an image sequence or video as input, Blender will happily render out an arbitrary number of frames :)

HOW TO MAKE THE STITCH NUMBER FOLLOWS THE NUMBER OF PIXELS IN THE PICTURE ??

Hello, have you checked the video demonstrating the basic usage of MRMO-STITCH? It's on the project page.

In the current version, you'll have to input the image/stitch resolution manually in the scene->format input boxes.

Got this for my mum but the integrated GPU of her new-old PC wasn't thrilled with blender itself so it's on the back burner but very cool prototype environment. (This runs great on my own iGPU and fine on an actual graphics card obvi. Your plugin itself is very lightweight if these comments have any weight.) This has craft potential to rival a roomful of baskets of threads and textiles IRL when you think about how quickly parallax photography and physical projection frames like Looking Glass are going to come in the next few years. This will let people create so many knick knack desktop projections. Won't even need gaussian splats cause we've got MRMO-Stitch.

(+1)

Hey! Thank you very much! I tried optimizing the geometry as much as I could while still getting reasonably detailed results, but yeah some machines with integrated GPU just don't run Blender all that well (if at all) :/

(+1)

Wow this really looks fantastic! The texture of these images makes me feel something, its looks so tactile. I don't know how to use Blender, but when I do I will try this.

(+1)

Thank you very much! I tried to make it easy to use for new Blender users, check out the basic usage video :D

(+1)

Any idea how possible it would be to port your shader over to Unity to use in a game?

It would require reconstructing the entire setup, as it instances "physical" stitches on a canvas as opposed to just using a material shader :) 

It would definitely be possible, but it falls outside of my area of specialisation, as I haven't worked with Unity before :/

No worries! I love your shaders and might attempt it one day!

(+1)

Amazing shader as always! Keep up the great work, I can't wait to see what you make next!

ah if there was a web shader version…

(+1)

This is amazing. It looks amazing. I can’t wait to use it somewhere, somehow

Hi!

I met some problem. When I open the file and switch to “rendered” view, it's just blank. Did I missed something?

Hey! What version of Blender are you using?

(1 edit) (+9)

god bless you for the "no dont use this for NFTs lol" provision 

THIS IS SO COOL

(+1)

I'd love to have such effect in game :)

(+2)

This looks awesome !

(+4)

OMG,Really Genius Tool! I think it would super useful at indie anim