6
$\begingroup$

How to make a cable carrier animation?

I've been learning Blender for the last few weeks. I got this task in my hands, and I have to do this cable carrier movement. Luckily, I already have the 3D model for that, I just have to make the animation.

This is the cable carrier and the movement I'm talking about:

Cable Carrier

An example of the movement it makes can be found in this video: https://www.youtube.com/watch?v=inTgZapNwrw

I found some topics related to that here in the forum, however, they are a bit complicated for me.

Some of my doubts are:

  • How to connect the cable links to each other?
  • How is it possible to, by pulling the first cable link, make the others follow the link being pulled, respecting the curved movement?
  • Do I need to create frame by frame? Or is there an easy way to do it?

I would use this animation in Unity, where I want to create a copy of a real-life machine. In this case, the cable carrier is part of a machine and has a limited axis. So I was thinking that I could do something like: "set movement to 40%", and the carrier would move till the correspondent position. Someone told me it was easier to make it in Blender and then import it to Unity, any comments on that?

This is how the cable carrier links are modeled in my project Cable carrier link

$\endgroup$

1 Answer 1

4
$\begingroup$

I'd do it like this:

enter image description here

(1) Make a U shaped curve that has its origin and start on the bottom end. Put it where you need it. This will be with the rest of the machine extended to the right. Then put the cable carrier section in place.

(2) Give the cable carrier section an array modifier in 'constant' mode and adjust it so that they fit nicely.

(3) Give it a Curve modifier to make it follow the curve. You can adjust the number of repetitions in the array or how long the curve is so that it reaches the part of the machine it needs to connect to. With the curve modifier you might need to go into edit mode on the curve and adjust the tilt of it 90º (ctrl+T+-90) so the cable carrier is in the correct angle. It might also happen that the carrier moves to the other end of the curve. In this case, in edit mode on the curve, you'll have to switch it's direction:

enter image description here

(4) With this setup, if you move the curve to the left the cable will move along it while the beginning stays in place. You can't parent the curve to the moving part of the machine thought, because the cable will move faster than it. Instead, use a constraint on the curve to copy the location of the moving machine part and leave it at 0.5 influence. This means that for every meter the machine moves, the curve will move 0.5m, which will make the cable align with it: enter image description here To make things simple I'd put the origin of the moving part on the same initial location as the curve. You can also put an auxiliary Empty there, parent it to the machine part and use it for the curve constraint.

The only downside of this is that the cable carrier is slightly deformed on the curve: enter image description here But this is hardly noticeable, specially if it's moving I think

$\endgroup$
6
  • $\begingroup$ This is a nice technique, however I see two issues. One it isn't totally accurate since it distorts the segments, the other is that I don't think this will work for exporting to game engines, since it is based on modifiers. Good answer though. $\endgroup$ Commented Jul 26, 2023 at 22:24
  • $\begingroup$ It can be done so they don't deform by making an array of 2d square faces follow the curve instead and instancing the carrier section on the faces so the edges of the face align with the axis of the carrier part, but I don't know if that would work in unity and it's more work for minimal difference with this kind of model. I know nothing of unity but if you can't export the final animation into it and you can't use modifiers I don't really see how it's supposed to be easier to make in blender first... $\endgroup$
    – Cornivius
    Commented Jul 27, 2023 at 11:31
  • $\begingroup$ Probably something similar to blender.stackexchange.com/questions/68923/… but that is modifier based as well, so I don't think it would work in Unity either. I don't use game engines myself, but as far as I know it would probably have to be an armature based animation $\endgroup$ Commented Jul 27, 2023 at 11:43
  • $\begingroup$ I could make it work as I want. I created two actions (move left and move right), and tried to export to Unity. However, the animation was not working there, because of the Bezier Curve (it complains about its normals). I tried to bake the animation, but couldn't make it work there. I believe that if I could remove the Bezier Curve after baking the action, it would work. But when tried it, the chain was not following the path anymore, and the animation wasn't the same. Since I have almost no knowledge about Blender, I'm missing something. I appreciate any help here. $\endgroup$ Commented Jul 27, 2023 at 16:49
  • $\begingroup$ I know very little of animation but looking at just one tutorial I think what you have to do is put the Curve's Location on the Keyframes and then bake the carrier alone. Would that help? $\endgroup$
    – Cornivius
    Commented Jul 27, 2023 at 17:40

You must log in to answer this question.

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