Posted January 16, 2021 by TwistedTwigleg
Hey everyone!
Version 1.2.0 has just been released! There is only a couple big changes in this release: The very beginnings of the documentation for the plugin and new Jiggle bone changes!
Let's go over the changes real quick:
The documentation is now provided as part of the downloads. Currently there are only two pages of documentation provided: A landing page and a page about the Skeleton setup requirements. The landing page covers how to setup the plugin in a new Godot project, while the skeleton setup page covers some requirements that need to be met in the 3D skeleton for optimal results. I think both of these pages are probably the most important in the documentation, as they cover really fundamental aspects of the plugin.
All of the documentation pages are in Markdown files in the "Documentation" folder. I'm using Abricotine as my Markdown editor and viewer, but any Markdown viewer should work. You can also view the files using a normal text editor, however you will miss out on the images being shown alongside the text.
Please let me know what you think of the documentation currently! I plan to continue to write more pages and update the documentation as development continues.
The jiggle bone modifier also has undergone some changes and has some new features.
One new feature is that you can now set the target of the jiggle bone using a normalized Vector3, rather than having to use a target node. This should make it much easier to setup and use on things like dresses, hair, and anything else where you don't necessarily want to have individual target nodes. The feature has been tested and seems to be working in my test project, but please do not hesitate to report any issues or bugs! Huge thanks to Nate066 for the suggestion of adding this feature!
Once this feature was added, I realized there was a bug in how the jiggle modifier works. The problem is that the jiggle code didn't send the velocity of the joints earlier in the chain to those below, leading to joins further down the chain swinging wildly on longer joint chains. This leads to extra jiggle motion and while an interesting effect, it can be hard to control. This is actually an issue I had with the physical bone chain motor, so I had a hunch that sending the motion down the chain to child bones would fix it. After several days of testing and development, I found the solution and implemented it into the jiggle bone. Now there is an additional set of properties, "send_inertia_through_chain" and "send_inertia_through_all_bones_in_chain", that control how the velocity (called inertia in this case) is sent to child joints in the jiggle chain. By default, these options are disabled for compatibility, but in future versions they likely will be on by default. Both of these new properties have class reference documentation added that explains how they affect motion in the jiggle chain.
Edit: Just fixed an issue where a setup target node was still required for the Jiggle modifier to work, even if using a Vector3. Now when using a Vector3, it shouldn't require the target being setup anymore. Additionally, I fixed some typos in the error message logs. The current version is 1.2.1 now.
So, that's everything for this release. Moving forward, I will probably start looking at working on adding 2D support. Time to work on the plugin has been hard to find as of late, so I cannot give an ETA for 2D support but I'm hoping to have it implemented sooner rather than later.
Thanks for reading! If you have any feedback, suggestions, or just questions about the plugin, please do not hesitate to let me know either in the comments below or by making a new topic on the Twisted IK 2 discussion board!