• Editor
  • Experimenting with New Transform Constraint

Nate 太帅了!

  • Nate 님이 이 게시물을 좋아합니다..
Related Discussions
...

Thanks for the credits Nate! I just extended Erika's version, so half the work was her's 🙂.


Also played with the same thing but in a slightly different way.

exp.zip
28kB
  • Nate, Erika, Misaki, 및 2 개의 기타들 님이 이 게시물을 좋아합니다..

@Pan_enot That's super cool, adding that Physics Constraint to the body is an awesome idea! 😎 👍

  • Pan_enot 님이 이 게시물을 좋아합니다..
18일 후

Nate I finally had time to open the project, and honestly—it's brilliant. It’s definitely more complex and a bit intimidating, especially since everything in Spine so far has been pretty easy to grasp. Building rigs used to feel predictable, but now there are so many new ways to approach certain constructions that it feels overwhelming. I can only imagine how other newcomers might feel.

We really need to put a lot of resources online to help others catch up quickly. I'm planning to share this project on YouTube with a step-by-step tutorial, if you don’t mind @Harald. I think it does a great job covering many aspects of the latest transform constraints

  • Harald 님이 이 게시물을 좋아합니다..

Agreed, as Spine projects get more complex they feel like magic at first! It can be OK if the complexity is truly warranted, but as you said we should help people understand and achieve the most common goals so they can apply that to their more unique scenarios.

Using a transform constraint like this and leveraging the wrapping of world rotation 0-360 to achieve modulo is very clever, but probably not the simplest solution. Now that we have sliders, you should be able to get a much more straightforward solution. It's also more powerful, as you can animate the walk however you like.

  • Harald 님이 이 게시물을 좋아합니다..

Ah lol Yes! we can just move hip and call all the legs to move by binding hip to sliders. I am trying that next!

For the spider to pause between steps, you'd just animate it!

Here's a neat one:

 Loading Image

There's only a single bone rotating here. The seconds hand is controlled be an animation, so there is full control of the tick-to-tick movement. Also note the shadows.

  • ErikaMisaki 님이 이 게시물을 좋아합니다..

You have to share this project with us! I only need the images though want to find out the way myself

Good luck! 😃

clock.zip
108kB
  • warmanw님이 이에 답장했습니다.
    • 수정됨

    Hi @Nate ,
    is it possible to share the solution, how it works? I have done an animation for the "minute hand"-bone (10frames) with one tick. Then i created a slider constraint with "second hand"-bone rotation for "minute hand"-bone-animation, limitation 90 to 89. So when the second hand-bone passes through the 12, the "minute hand" ticks one further, but once it hits "3" (on clock, 90° more) it snaps back. Frame-counter of slider constraint jumped back from 900 to 0 in this moment --> It jumps back, when it hits 0° rotation. What steps am i missing?

    Do i have to use the 180°-360° rotation split, what Harald has written above to avoid the snap? Or is there another solution with the slider?

    Sure, I can post the finished project, but that ruins the fun a little so I'll wait a while. 😬 If I post it, there would be a strong temptation to just look at the solution rather than figure it out. Better not to tempt!

    Probably you are running into "world rotation wrapping". World rotation is defined as the direction the bone is pointing in world space, which in the Spine editor is screen space, ie your monitor. There are only 360 degrees in a circle. As a bone rotates, at some point its world rotation has to jump from 359.999 back to 0. That jump can wreak havoc with your slider or transform constraints, since it will cause the target bones to jump.

    0 world rotation is pointing right, which would be 03:00 on a clock. That's why you see a jump at 03:00. As as you rotate clockwise past 03:00 you jump from 0 to 359.999 degrees world rotation.

    To prevent jumps with your constraints, use local space by checking Local on the left (source bone) side of the transform constraint properties. In local space the local rotation is defined so 0 degrees is pointing in the direction of the parent bone and any other value is how far from 0. In local space you can go > 360 or < -360, around and around, without any jumps back to 0.

    It's so common to use local space on the source side, maybe it should be the default. 🤔

    • yugutou님이 이에 답장했습니다.

      Ok, local was already a solution option, but then my constraint couldn't move anymore. I could see i still used the world coordinates instead of local coordinates. So one step further 🙂. Thanks for the hint. So don't share the project. 😃

      • Nate 님이 이 게시물을 좋아합니다..

      Nate Nothing seems to be working properly 😄

      I used the motor bone to rotate all the hand and added a tick animation (a slider bound to the motor bone) for the second hand, which ticks but doesn’t move forward. I can’t figure out how you manage the stepped movement of the minute hand.

      For the shadows, I use transform constraints to just move them locally from -20 to 20 on the Y-axis during the 0–180° rotation. But when I duplicate the constraint for the other half, the constraint overrides the previous one.

      Any tips for us? 😄

      Nate
      我是通过滑块跟物理去做的,不知道是否正确,但是阴影我不知道该怎么处理了

        the shadows also can be done with sliders but I really want to see if there is an option with transform constraints

        my shadows work but only half the cycle 😃

          Nate


          另外我觉得滑块约束缺一个跟变换约束一样逻辑的东西
          1.下面主要用来控制它的映射方式,直接通过匹配数值就好了
          2.通过混合数值的大小和正反来控制,映射的比列
          滑块约束也添加一个类似变换约束的匹配数值,和混合来控制比例,会不会方便很多?

          warmanw 哈哈哈期待他们公布答案

          • Nate님이 이에 답장했습니다.