1
$\begingroup$

I have two objects and I am on v3.4.0.

a default BezierCurve (top, adjusted to be straight) and a BezierCircle (bottom), the BezierCurve bevel is set to the object BezierCircle.

a dafault BezierCurve (top, adjusted to be straight) and a BezierCircle (bottom), the BezierCurve bevel is set to the object BezierCircle.

  1. If I rotate the BezierCircle in Object mode and apply its transformations the bevel of the BezierCurve changes. This effect isn't expected and makes no sense to me.

  2. If I rotate the BezierCircle in Edit mode the bevel changes without having to apply the transformation (since that option isn't available). This effect isn't expected and makes no sense to me.

  3. If I scale the BezierCircle in Object mode or Edit mode the bevel of the BezierCurve changes. Applying transformations does nothing. This is desired and makes sense to me.

  4. If I rotate the BezierCurve in Object mode or Edit mode no changes to the bevel are made. This is desired and makes sense to me.

  5. If I scale the BezierCurve in Object mode the scale of the bevel changes, applying transformations does nothing, except change the scale number in the scale transform menu. This effect isn't expected and makes no sense to me.

  6. If I scale the BezierCurve in Edit mode the scale of the bevel doesn't change. This is desired and makes sense to me.

  7. If I rotate the BezierCurve in Edit mode or Object mode and apply the transformations no changes to the bevel are made. This is desired and makes sense to me.

A combination of these behaviours make it difficult to 'sync' up your curve and bevel objects (in terms of size/rotation) to give predictivity when editing the points of the meshes.

Is this a bug or is there something about how the bevel works that I'm not understanding?

$\endgroup$

1 Answer 1

1
$\begingroup$

I hope you don't mind, I've numbered your observations.

Referring to your curves as 'profile' and 'path', and defining some terms:

The Object-space of your profile is measured along its own object-axes, as transformed in Object Mode. You can display its object-axes in its Object tab > Viewport Display panel.

The Tangent of the path is determined by the path itself; its approximated direction at any point.

The Normal of the path at Tilt: 0° is determined by its 'Twist Method', and 'Smooth' settings. The Normals can be further rotated about the Tangent with the Tilt of individual control-points.

First, the rotations:

  • The Object-space Z of the profile is always directed down the Tangent of the path.
  • The Object-space X of the profile is always mapped to the Normal of the path.
  • The Object-space Y of the profile is always mapped to the vector perpendicular to both the the Tangent and the Normal of the path. (their cross-product)

These points are the rationale behind your queries 1,2,4 and 7. The rotations are dependent on the internal geometry of the path, irrespective of the path's coordinates in its Object space. Your query 1 in particular: when you apply the transforms of your profile, you reset its object axes to align with World XYZ, leaving the geometry behind, which changes the Object-space coordinates of the profile's geometry.

.. and translations..

  • The profile's object-origin is always mapped to lie on the path.

... and the scales, which may, at first sight, seem anomalous...

  • The scale of the profile's mapping in XY is its visual scale, after its object-level transforms, (multiplied by the path's interpolated control-point Radius, at any point along it.) This preserves the profile's status as an object, despite being part of the geometry of the path. It means the path's diameter can be animated, by changing the profile's X and Y scales, in Object Mode. (Your query 3)
  • Scaling the path in Edit Mode is just changing the positions of its control-points and their handles in its own Object-space, as if you moved them all yourself, by what just happens to be a scale transform, so you wouldn't expect the bevel-radius to change.(Your query 6)
  • Scaling the path in Object Mode is scaling the path's Object-space itself, taking the entire contained geometry with it. That's consistent with Object-level scaling of any other geometry, curve or mesh, in the system. This is what you would expect.. a bevelled curve-converted-to-mesh behaves in the same way it would, were it a mesh in the first place. (Your query 5)
  • Applying the scale of the path presents a problem; you want the geometry's appearance to remain unaltered, (as it would for any other object), while baking the object-level scale into the mesh. However, you don't want to interfere with the profile. (It may be being used elsewhere, for example). Blender handles this by altering the Radius of the path, to compensate. That can catch folks out.(Your query 5,second part)

A TL;DR.. the expectation, or rule-of-thumb, here, is that Edit Mode transforms are for modelling, and Object Mode transforms are for animation. In particular, if people only ever scaled in Edit Mode during modelling, a lot of the questions on this site would disappear. Never again would we have to shout: 'Apply your scale!'

$\endgroup$
1
  • 1
    $\begingroup$ thanks! well explained - i think it will take some time for it to sink in though (and to adjust how i work) $\endgroup$
    – glend
    Mar 13, 2023 at 8:56

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .