Bézier Mesh Shaper v0.9.0


Can somebody explain to me please, what is the different between - Bézier Mesh Shaper and Mira Tools ( Curve Stretch / Curve Guide ) ?

Thank you,

1 Like

Bézier Mesh Shaper looks very interesting. A few questions:

  • Is there or will there be an option to use NURBS curves? I usually find those easier to work with, because there are no Bézier axes.

  • Can you easily change and/or disable the proportional editing influence?


It looks the same as on of the bundled tools. yes

Before buying this, I tried some other add-ons like Mira Tools and BSurfaces to see what they were like but they are quite unintuitive to use.

Mira doesn’t use Bezier curves, it’s something like Catmull-Rom so you have to edit multiple control points and I couldn’t find how to do proportional editing, it would only affect the line I selected and I needed to select the whole line each time.

BSurfaces uses the grease pencil. I’d rather not have to draw lines each time to edit a surface.

This add-on is really intuitive to use. There may be other ways to achieve similar control like using a low poly mesh to deform a higher poly surface or curve modifier but having the bezier controls gives easy access to pinching the surface and it’s fast to set this up. Being so fast to setup and reliable is a huge benefit.

Reshaping a face is a great use-case for this, it makes reshaping noses and cheek bones so easy. Just click the two points, move around the control points and you get powerful control over the entire shape very quickly. I wish I had this years ago.

I’ve alway found it hard to use the sculpt brush without making a mess of the mesh like creating dimples or ridges that need to be smoothed out, especially when moving lots of points around and precise control is needed for inorganic surfaces like cars. This can be used to reshape the shell of a car very quickly, like having NURBs control over a subdiv surface.

At first when I activated the script, I couldn’t see how to move the control points because right-click didn’t select the control points for me, it exited the tool and cancels the edit. What I had to do is use b-key select to select the control points and use a-key or b-key/alt to deselect. Then I can move, rotate, scale the control points no problem.

This is easily fixed in the script by changing:

elif event.type in {‘ESC’, ‘RIGHTMOUSE’}:

to the following:

elif event.type in {‘ESC’}:

To keep the control handle as a tangent while moving a control point, select the outer points and scale instead of moving.

Once the edit is done, the enter key is used to save it.

There is easy control over the proportional editing. Just hit the w-key and it gives a menu of smoothing options. Page-up/down gives an amount of smoothing. The default setting is fine IMO.

These falloff settings allow you to reshape a tube. You can’t select all the points and use the tool (it says cyclic not supported yet) but if you select points on one side and set the falloff to constant with a high falloff, it can allow deforming a pipe. Turn on use direction to deform the outer edge properly.

Clearly a lot of work went into this script, it’s about 1000 lines of code and can’t be trivially reproduced so is worth the price. This add-on will be really useful, thanks very much for making it Rafael.

One thing users should be aware of is that the bezier curve that’s made follows the selection order so if you want the curve to follow the mesh surface, you have to select the vertices in the same order. If you select more than two verts like a point on the left of a face, then the right, then in the middle, it draws a curve that doesn’t follow the mesh, it has to be selected in a line e.g left/middle/right. That’s not a bug but it can look like it’s not working right if you aren’t aware that’s how it works.

Regards, Andrew.


Excellent idea!

1 Like

thanks for the detailed replay , it make since now :slight_smile:

I feel like I could see myself using this a LOT so I purchased a copy. Thanks for your hard work!

I’d love to see support for changing the keymapping via the Settings menu. I was able to change the .py file to my liking but I don’t want to have to do that every time a new version comes out. :slight_smile:

1 Like

Well…I have purchased it too. And now I can give answer to my own question: as Bézier Mesh Shaper so Mira Tools - it is just a tool that you can use by modeling. They are different but they are making the same things …Something is better to do with MiraTools, something - Bézier Mesh Shaper … they are just a tool!

I am NOT disappointed that I have bought it!

Plus for miratool

  • make even (straight) long curved edge just by chosing two vertices
  • possibility to add additional control (connected) points

Plus for Bézier Mesh Shaper

  • sometimes it is really more intuitive to use
  • control points are working by X\Y\Z axis (that what I am really missing in MiraTool)
  • Proportional editing failoff - that is really cool! WOW!

P.S. But it is so sad that there are so many questions about that AddOn and there are no answers from developer

1 Like

Thanks everyone for the comments and questions!

@Metin_Seven I don’t think I’d support NURBS, I really wanted cubic Béziers because you have total control over the tangents (the handles).
You can modify the proportional editing settings with the popup falloff menu, you can see it in this image, in the last frame:

Ah yes, the classic right-click select dilemma! I hardcoded it to “right mouse button cancels” because that’s what the Knife tool in mesh edit mode does, it uses that input to cancel even if you use right-click selection in your input settings.
In any case, in version v0.5.0 that I just sent to all customers I added a detection of the mouse button that’s in your user preferences, so from now on the add-on will consult that and disable right-click cancelling when your Blender is set up for right-click selecting.

Hi @Dheim, I think that can be done, I’ll look into it.

Hi @aghandwork, thank you for your purchase!
I didn’t speak because I don’t want to make any judgement over somebody else’s tool. Especially not after @osxrules excellent post, it’s like I don’t feel it’s necessary.

I did try it out after you posted about it (I thought, “oh no, was there something like this already??”), and I’m glad to realize that Bézier Mesh Shaper is a very different tool than that one, with a different approach and workflow.

I updated to version 0.5.0. Now supports the tilt property of control points, for some added level of freedom:

Together with the ‘Connected’ falloff mode, tilt can be used to tweak hair cards, foliage etc. or just getting some interesting new forms:


I will buy very soon! :slight_smile:

1 Like

That looks great!

1 Like

Great addon, just bought and happy with possibilities :slight_smile:

One suggestion, though. It may sound odd but… would be superuseful and unique.
Are there any way to “record” deformations made on curve/mesh and “replay” them later on another part of the mesh or in another mesh? Something like additional hotkeys “copy current changes” and “apply copied”

usecase is like this: i have several separate objects, that need to be modified/curved “in sync”. think of parts of layered clothing, that can not be merged for some reasons. manually recreate deformation from one object to another (similar verts, etc) is something that can be automated, i guess… and imho there is a lot more cases for such feature

synchronise - by X/Y/Z axis :wink:

what you mean? filtering by axis?

anyway, in my case modifications are not axis-aligned and the whole idea is not recreate deformation from scratch. something like selecting start vertex on another surface, pressing button - and reapply recalled curve with recalled deformation using this vertex as “reference point”. this would be handy :slight_smile: like super-charged lattice modifier (lattice can be binded to several meshes at once making all deformations “synced”)

I buied this.but dosen’t work.
ver. is good.but Right click use lose Hundle.
Sorry I can’t wright English well.
Another people it work I watch.
It’s good plug-in Ithink.
Please help.fs1ux-53o5p

Yes! As I know AddOn usually based on native functions of Blender. But AddOn make life of regular user much easy and handy. Instead of make 5 or 7 steps in Blender and spending for that about 2 - 4 minutes, with AddOn user make just one click for 1 or 10 seconds…

What do you wish is greate idea!

But you say that

Blender functions are working in X/Y/Z axis synchronise (mirror) (from x to - x and so on) because each vertices has own coordinates and exactly that coordinates could be synchronised.

You can only synchronise “X” (or Z Y) side to “-X” and it will be mirrored

P.S. Maybe I am wrong. If somebode know that better, please correct me.

i see! Sync you talking about works only inside current edit mode. You cant sync changes from one arbitrary mesh to another. So it`s not the same (if i get you right).

Hi @Ei_Guardian, are you using version 0.5.0 of the add-on?
Your header bar is showing “Esc/RMB: cancel”. This means that when you right-click (“right mouse button”, or RMB) you will cancel the tool.
Please try selecting knots using left-click and see if it works.

PS: Unrelated, but I noticed a silly bug in 0.5.0 for Blender 2.80, I’ll send an update tomorrow.

I got some notices in the other window when using the addon, thought maybe you coudl look at it. Doesn’t stop function but it looks like there is some need for annotation work (I have found my own add-on needs similar work).

Warning: class BMSProperties contains a properties which should be an annotation!
C:\Users\Shuo\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\MESH_OT_bezier_mesh_shaper.py:1005
make annotation: BMSProperties.includeExtremities
make annotation: BMSProperties.useDirection
make annotation: BMSProperties.falloff
make annotation: BMSProperties.falloffMode
make annotation: BMSProperties.falloffType
Warning: class BezierMeshShaperPreferences contains a properties which should be an annotation!
C:\Users\Shuo\AppData\Roaming\Blender Foundation\Blender\2.80\scripts\addons\MESH_OT_bezier_mesh_shaper.py:1005
make annotation: BezierMeshShaperPreferences.curveDistance

edit: Looks like instead of value = IntProperty() it is now value: IntProperty() , so I fixed my own to work now.

1 Like

very nice!
thanks :slight_smile:

1 Like