0
$\begingroup$

I am attempting to wrap a leash around an object. I created a small box with the texture of a part of the leash, made it into an array, and constrained it to a looping curve. It follows the curve, but at an increasing offset.

I have read many of the prior questions regarding having arrays follow curves and have tried the following:

  1. I have applied scales to both the curve and the object, so they are all 1
  2. The mean radius and weight of the control points in the Bezier curve are set to 1

I don't know what else to try.

Here's what's happening now. First, the Bezier curve:

enter image description here

Here's the leash on top of it:

enter image description here

enter image description here

$\endgroup$
2
  • $\begingroup$ Try applying the rotation on the curve and resetting it on the arrayed object. Also make sure their origins are aligned and that the curves origin overlaps with it's end point $\endgroup$
    – Cornivius
    Jul 20, 2023 at 11:17
  • $\begingroup$ Rotating the curve worked! Thanks! i had already played with the origins. Can you explain to me why it couldn't follow the curve originally? Could I have set it up originally in a way that I wouldn't have to have rotate the curve. This isn't intuitive to me. I appreciate the help. $\endgroup$ Jul 20, 2023 at 11:37

1 Answer 1

1
$\begingroup$

The answer for that comment is too long so I'm putting it here:

In general modifiers only really work as intended if the rotation and scale of the objects is applied. The Curve modifier is pretty complex because it's moving the geometry to the start point of the curve, pointing the selected axis on the modifier in the direction of the curve and then using any movement of the object in that axis to affect it's position along the curve. It also uses the other 2 axis to create an offset based on the center and tilt of the curve. It's pretty much impossible to keep track of all of that if the rotations and scales are not the same so the best way to work with the curve modifier is to reset everything to remove all variables. The rotation and scales applied to the object and curve, and the curve's radius set to 1; the curve's origin on the starting point of the curve and the object using the modifier aligned with it in the viewport.

If you need to rotate or change the position of the curve then what you want is to parent the object to the curve so it follows the same transformation:

enter image description here

The deformation you see there is probably what was happening to you. If the origins of the curve and object don't have the exact same rotation then an offset is introduced and the object will move further away from the curve as it moves through it.

$\endgroup$
1
  • $\begingroup$ That makes sense. That's the answer I need. $\endgroup$ Jul 20, 2023 at 20:38

You must log in to answer this question.

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