• Editor
  • How can I achieve this sharp bend that effect?

Hi. I'm trying to achieve a sharp bend effect on a limb. The following picture is the result I get using meshes in Spine. The last picture from left to right is the maximum allowed rotation.

This is how I want it to look like.

How can I achieve a bend that looks like the second image?

Thanks in advance.

    Related Discussions
    ...

    To achieve a sharp bend effect on a limb in Spine, you can follow these steps:

    1. Mesh Setup: Ensure your mesh has a sufficient number of vertices, especially around the joint area where the bend will occur. This will allow for more precise control over the deformation.

    2. Bone Binding and Weighting: Bind the mesh to the bones and adjust the weights carefully. You can use the technique of creating a series of parallel lines crossing the joint area to distribute the influence of the bones evenly. This helps in achieving a smooth yet sharp bend.

    3. Manual Edge Creation: Manually create internal edges in the mesh to control the deformation better. This can be done by clicking and dragging from one vertex to another in the Edit Mesh mode. Properly placed edges can help maintain the shape of the mesh during bending.

    4. Adjusting Weights in Animate Mode: Switch to animate mode to bend the bones and tweak the weights. This allows you to see the deformation in real-time and make necessary adjustments to achieve the desired sharp bend.

    5. Using Transform Constraints: You can use transform constraints to control the rotation and scaling of bones to maintain the volume and shape of the limb during bending. This can help in achieving a more controlled and sharp bend.

    Here are some useful resources and examples that might help you:

    By following these steps and utilizing the resources, you should be able to achieve the sharp bend effect you desire.

    hebertag Hmmm, the image presented is very simple, but coming up with a rig to achieve this is more difficult than I thought. I still don't have a very good idea, but I came up with the following rig:

    Here is the Spine project for this animation:

    bending-example.zip
    4kB

    As you can see from this skeleton, it is not a very manageable rig, since the shape is adjusted using the scale keys, not just the rotation. At least by placing the bones at the edges and weighting them like this, instead of placing them in the center of the rectangle, I think it should be easier to move the rectangle while keeping its width. Maybe other members of the Spine team can come up with something better.

      Misaki Hi! Thanks so much for your answer, but this rig doesn't quite achieve what I'm trying to do. The right top vertex and the right bottom vertex should touch each other when the bone is rotated to it's fullest.

      I also tried and honestly whatever I did it complicated the rig to the point where it was not worth doing it. better just animate the bones setting up them the way @Misaki did

        warmanw Thank you for trying!

        @hebertag Note that in achieving what you want to do, it is difficult to assume that the mesh and weights will be used. If the image is divided into two parts to accommodate the bending part, it is not so difficult.

        So if touching the right top vertex and the right bottom vertex is more important than using meshes, you might want to split the image.
        Just in case, I've also uploaded the Spine project for the skeleton in the GIF above here:

        bending-example-with-two-images.zip
        5kB

          Misaki Hi. Thanks again for your response. I had tried using two meshes, but if the two images are retangles instead of squares, when the top and bottom vertexes touch each other the images will overlap like so

          I could fix this with clipping masks, but I don't know if there's a way I can invert a mask so that it hides what's inside of it rather than what's outside.

            hebertag Clipping cannot be reversed. Moreover, if the assumption is that the rectangle is only a part of a skeleton, for example, left or right arm, then using clipping with such a body part is not recommended for performance. If you plan to export the animation in a video format, the number of clippings used should not be a problem, but if you plan to animate the skeleton using a Spine runtime, the number of clipping attachments should be limited to one or two. See the Performance section of the Clipping Attachments page in the User's Guide for more information on performance issues: https://esotericsoftware.com/spine-clipping#Performance

            I honestly don't know what all of the requirements of what must be achieved for you, and I'm not sure why you should just clipping the outside with clipping. If the coordinates of the rectangle's vertices only need to match in the two meshes, then the position of the bone should be in the center of the rectangle and the vertices should match after rotation. However, this will cause a break between the two meshes in the middle of the rotation. If you don't want this to happen, you may be able to prepare separate images for rotation up to 90 degrees and for rotation after that. For example, the following image:

            The left one simply places the bone in the middle so that the vertices can be matched. The middle one is one where the vertices can be matched by preparing a third attachment and rotating it while using scale. The right one simply aligns all the colors in the image of the one in the middle.

            I have attached the Spine project here for your reference, but unfortunately, the rig is not very simple and it is not easy to handle:

            bending-example-rotate-from-center.zip
            4kB