Shaper

Hey guys,

Some time ago Me and guys from our company worked on some project which included Marvelous Designer in our pipeline. While working on improving our workflow we found this nice tool “Transfer Attributes” in Maya which basically snaps a selected topology on another object’s surface based on shared UV space. (example tutorial using Maya: https://www.youtube.com/watch?v=VFAfqW0Zlqk&t=1s).

I thought that it would be nice if a similar tool would be available in Blender but since I found nothing with similar functionality I came up with this addon.

The tool provides 2 main functionalities:

  1. Shape -> UV: Transfer the UV Map from selected object to active object based on shared 3d space.

  2. UV -> Shape: Snaps vertices from the selected object to the surface of the active object based on shared UV space.

Additional options:

  • Merge: removes doubled vertices after snapping process.

  • Smooth: smooths out resulting topology.

Shaper was designed mainly to support workflow with Marvelous Designer, but it can also prove useful in different scenarios. With this addon It’s very easy to create nice topology in short period of time. This workflow is not fully automatic like Zremesher but it gives you full control over the final topology and it’s a lot faster than doing retopology by hand. Basically, Instead of making retopology of the final 3D high-poly model you only have to create a new flat 2D topology of each part of your mesh, spearated the same way as high-poly’s UV islands (like in the tutorial for Maya which I linked above).

As an addition to addon’s description here’s also mini tutorial covering suggested steps for Marvelous Designer-Blender workflow:

  1. Export high-poly model (with UVs) from Marvelous Designer,
  2. Export 2D projection of high-poly model (with UVs) from Marvelous Designer (to make 2D projection after simulation is processed: right-click > Reset 2D Arrangement,
  3. Import both models to Blender,
  4. Create low-poly topology on surface of unfolded high-poly model,
  5. Select unfolded high-poly model and low-poly model and click “Shape->UV” button to transfer UV coordinates.
  6. Select low-poly model and final high-poly and click “UV -> Shape” to snap low-poly topology on the surface of high-poly model.

Edit: Addon works with Blender 2.79 and Blender 2.8

15 Likes

well done thank you

lol, I didn’t realize MD male dummy had a penis, but then again I always model over a female and she does not have genitalia.
Also funny how you give 0 mentions about it :grinning:

I’ve changed the link to better tutorial without any controversial content.

For free? You should definitely charge some bucks for it. I didn’t tried it yet, but when it is as good as the Maya solution, this is an incredible usefull tool - especially for MD Artists.

Anyway. Thanks for this addon. This will help me a lot some day!

This is great, works like a charm, thank you sir! :sunglasses:

Hi,

I have seen a video tutorial to solve similar problems.(see https://youtu.be/cvbTVxYhQmc) I haven’t tested your plugin yet, but I want to know the difference between the two?

thanks!

1 Like

Hey JohnnieWooker – Your addon is great!

I ported it to Blender 2.80 (Windows x64 beta build 03/27/19) for my own use, but you are welcome to it if you want to add it to your Gumroad for others to download. Just let me know, but you will have to deal with the devs moving target…

For others: Sorry, but I am not distributing – I want him to distribute through his Gumroad setup – so you can donate to him for his generosity.

3 Likes

It looks great. It would be good however if someone makes a small step by step Blender tutorial for it.

Thanks for your contribution! I uploaded second version of shaper, which works with 2.8.

3 Likes

That’s good news.

I checked here and your Gumroad page before I posted, and neither showed any signs of usage for 2.8 – you might want to update your first post, and Gumroad page to reflect your update so others are aware.

It was good coding practice nonetheless, and I liked seeing how you went about to accomplish this.

I do have a feature request regarding usage; I noticed while testing it does not check for equal boundary vertices between original tri-mesh flat pattern, and retopoed quad-mesh flat pattern – Maybe add warning/caution that if one-to-one boundary verts (in coincident location) are not found - optimal results will not be achieved.

There is a step by step tut in the first post – just follow that…

However, the quad retopo of your flat pattern is on you – achieve it by whatever means/techniques at your disposal – Important note: You want one-to-one coincident (exact same location) boundary vertices in your retopoed quad-mesh for optimal results.

So, breakdown is that you need 3 objects (original cloth tri-mesh, original cloth tri-mesh flat patterns [as one joined object], new retopoed cloth quad-mesh flat patterns [as one joined object]) – Then follow the simple 2 steps in first post (steps 5 & 6).

Here is a visual of how it works (excluding step 6 [pressing ‘UV -> Shape’] I already showed in my previous post) :

Objects Needed:

Step 5 (press ‘Shape -> UV’) from first post:

Hope this helps…

1 Like

Thanks, I edited post and gumroad page. First feature i wanted to add for this is to make the calculations faster. Already tested some ideas for this but considering the results, it probably won’t be possible without coding outside blender API.

1 Like

Thanks for the explanation.

Thanks for sharing this. I just checked it out, doing a quick monkey->subdivided monkey test.

I was kind of surprised at how slow it went. Couldn’t you bake worldpos to image and then apply a vector displace in a fraction of that time?