Tissue by Alessandro Zomparelli

I think that a simple solution could be to use two different components (try multicomponent), one for each side. With the rotation you cannot control the direction. You can flip the normal of the base face, but you will lose consistency in the generated normals…

Thanks I’ll give it a try. I haven’t been successful with multi-components yet, but will give it another go. Fantastic work with weight paint by the way! It works really well.

Wondering, if there is a way to keep the vertex group setting and the shape key value consistent while refreshing the tesselation?

1 Like

Just going through some of the tutorials and regarding the Remesh with Metaballs - is this feature gone from 2.8? And is there a workaround? Thanks! Having a blast with this add-on.

Can this addon be used to model a sofa with tufts and folds. Something like this but folds in opposite directions on the opposite sides of the tufts or buttons.

By the way I used the plate generator addon by Mark Kingsnorth to create the rounded tiles on the window and just made some 3d tiles for my kitchen backsplash which I will post a render of tomorrow. It works perfectly for tiles. Thanks

some fun with tissue…will be posting a tutorial soon.


Can someone answer post 303? Thanks

Not sure if this is the right addon for this (it’s really powerful and can be used for many things, so I might be wrong). I’d use cloth sim or just sculpt it to be honest.

Thanks dan2. Maybe someone else will provide some input. It just looks like it might work for something like this.

You definitiely can, at least for the diagrid pattern on the backrest. You could probably do it without tissue, but with tissue, the relationship with the panel is kept if want the bits to bulge out a bit more, you could easily adjust the panel and hit refresh, for example

1 Like

@alessandrozompa I have a feature suggestion. I am not sure whether it’s feasible or not :wink:

I am wondering whether it could be possible to create an option to have a specific vertex group as an absolute relationship to the bounds of the panel on the base mesh. Here is an example of what I mean:

Let’s say that we are creating a city grid, with different size blocks in grid made with tissue. Highlighted below are two blocks, in which the defined panel stretches as one would assume it would stretch. What would be useful is if the road and the sidewalk stayed the same width from the edge of the panel.

Besides laying out roads, it would be a useful feature for facade panels, making sure that mullions remain the same size (in a similar way as the roads)

Here is a little mockup of how it could look:

Also, in regards to the conversation over on the fb group (sorry for some reason fb did not want to process the following gif)

In the following example, I refresh the tesselation 3 times, and after each time, I need to set the shape key value and the shape key vertex group. It would be nice if the previous settings could be kept when refreshing the tesselation.

dimitarsp do you know of any tutorials that would help me with this? Or do you know someone who could do a tutorial of the tufted part of the sofa? Thanks

Here is a little gif, and here are the steps:

  • create a base mesh, with more or less square subdivisions.
  • subdivide the base mesh
  • add a decimate modifier and set to unsubdivide and iterations to 1 you should now have a diagrid
  • model a simple panel, in my case, i did it with inset.
  • select the panel and then select the base mesh and tesselate
  • make sure you enable the merge option
  • on your new tesselate object, add a subdivision modifier

And you should have more or less what you are looking for

tesselate example.blend (673.6 KB)

1 Like

Thanks a lot dimitarsp, I will give it a try. The back of the sofa curves into the arms. Will it still work?

Can I download the GIF so I can slow it down in my GIF program? Thanks

Hi, yes, you can use Tissue for that task. You just need to model one element and then reapeat it along the surface with Tissue. Maybe in order to understand if it works nicely, you can use an array in order to get a flat preview, before Tessellating the sofa mesh.

1 Like

Hi Dimitar,
you pointed out one of the main limitation of a box-morphing system. Keeping some parts of the component uniform can be really useful, especially for fabrication/connections of elements, or if you want to create a component like a ribbon that doesn’t change thickness. Unfortunately that doesn’t seems an easy task, but it’s something that at some point I will try to tackle.
I’m not even sure that vertex groups are enought, I think it should work with constraints (like the boundaries of the component) and edges that must keep the same length. I’m not sure if there is just one solution or if it must be a iterative process, like spring simulations… Doing it with a completely rigid part of the component should be more easy, because in that case there is no deformation at all.
Anyway, your suggestion is really interesting, I will keep it in mind for future versions of the add-on, but so far this is not the priority, there are still some parts that needs some optimizations.

Regarding the question for the vertex groups, the solution is actually simple (I answered on facebook):
. name the vertex group of the base mesh with the same name of the shapekey of the component mesh. In this way they will be automatically connected
. give to the component shape key a value that is different than zero, in this way it will be automatically set to the tessellation.
(I was planning to do a tutorial about that)

Thanks for the suggestion alessandrozompa.

@dimitarsp, I hope that this helps :slight_smile:


It does indeed! Thanks so much for the video :slight_smile:

In regards to box-morphing, one of the elements that Revit’s got right is adaptive components. I am pretty sure you know how they work, but just in case:

Let’s say there is a “frame” group that keeps an absolute relationship in regards to the nearest point and then a “panel” vertex group that stretches internally. I suppose one of the many difficulties would be knowing the normal direction as a relationship to the original closest boundary vertex and mapping that correctly to UVW coords of the nearest of the vertex in the “frame” vertex group.

The ease of use of tissue is in my opinion going to become something as an entry point into generative design without coding (and then going all the way to detailed articulations!)

Hi Dimitar, thanks for the suggestion. Actually making an external frame with uniform thickness is not that complicated. I could add a new filling mode, maybe Frame (Fan).
This works specifically with geometries distributed on that side of the polygons.

It can be extended in order to consider different constraints for each vertex, but this is a bit more complex, maybe in a second moment. In the following weeks I will introduce the simple version.

The Tessellate operator is becoming even more complex. Do you think that this is fine or I should add some preset operators like: Polygon Tessellation, Patch Tessellation, Multi-Component tessellation, Frame Tessellation etc…? Or this will make the toolbar too complicated?