Forum: MarketPlace Showcase


Subject: Chain Control Python Script for Poser 12

Ken1171_Designs opened this issue on Nov 21, 2021 ยท 7 posts


Ken1171_Designs posted Sun, 21 November 2021 at 7:11 PM Online Now!

~Chain Control~ Python Script for Poser 12

And just when I thought I ran out of ideas for useful scripts, the Python muse paid me another visit!

This is a Python script tool to automate the posing of long bone chains items that ship with no posing dials. Examples are whips, tails, ropes, chains, and tentacles.

Features:

Promo_000_1000x1200_ChainControl.jpg


How many of such items with long bone chains do you have in your library that you have never used because they have no posing dials, where manually posing long bone chains is quite discouraging? This script came to resolve that by offering a simple universal tool that can pose just about anything that has a bone chain!

Promo_01_600x800_ChainControl.jpg


Not only pose items that have long bone chains, but you can also mix & match it in 4 separate bending styles in any order you like: Bend, S-Bend, Wave, and Spiral! In the examples below I am using them in only 1 single axis, so you can see their effect individually. For the 2 whips on the right, I have mixed them a bit to show some variety.

Promo_02_600x800_ChainControl.jpg


But just posing chains with that much power is not enough - you also can start from any point you like. In the example below, I pick from where I want to start from, and pose the bone chain from there on (right side). On the left side, I have posed the entire chain, and then picked the whip's last third section to give it a spiral curl. This way we can keep editing specific parts to get where we want.

Promo_03_600x800_ChainControl.jpg


So back to the bone chain items you have in your library that you have never used because it has no posing dials, and doing it by hand is discouraging - I have this rope from Mochi I have never used before. I could curl it up by just pushing 2 dials from the regular "Chain Bend" section. It literally takes as long as it takes to move the 2 sliders to get the result you see below.

Promo_04_600x800_ChainControl.jpg


What about tails? Same applies! This tail in particular is a separate item, but it would work all the same if it were part of the figure.

Promo_06_600x800_ChainControl.jpg


But moving sliders is so much fun. I have started playing with the sliders, using different bending methods, and choosing different parts to start from, and quickly got it just the way I wanted, as seen below. Now how long would it take to do this BY HAND?? Did I mention pushing sliders is FUN?

Promo_05_600x800_ChainControl.jpg


The basic idea is to choose a point in the bone chain to start bending from, and all parts below it in the hierarchy will be affected. All rigging methods are supported, be it legacy spheres, traditional joint order, curve joint order, or modern weight mapped. This tool is 100% universal, meaning it can pose anything that has a bone chain, even if it's part of another figure, like a figure's tail.

It's very simple and FUN to use, and I had to brush up my rusty linear algebra to be able to make it work with all the bells & whistles. After the initial week of blood & tears, I have finally figured out the right math formulas, and then optimized everything to work in real-time. This is VERY different from what we do when we spin dials in Poser. It's like simulating ERCs over long bone chains without any dials! The goal here was to get something complicated and make it look simple when you use it.

The functionality was inspired by "EasyPose Underground", which creates dials to bend bone chains from the root, or any point in the middle. Many of my store products that have bone chains were rigged with EasyPose dials. HOWEVER, there is a large amount of other contents that have ZERO posing dials, and this is what I have created this tool for. It emulates EasyPose dials on items that don't have them - in real-time, without having to rig them again.

It offers the same basic functionality, to include all 4 types of bending - but it goes a step beyond: the Wave bend can be customized by choosing its frequency, so you can vary its effect at any time if you want to. In EasyPose, the Wave frequency is hardcoded into the dials. On Spiral bends, EasyPose uses a fixed list of angles, while this script pre-calculates them in real-time base on what is being bent, offering more precision and versatility.

The tool is now in final beta-testing phase, and will soon go to my store at Renderosity.



My Store at Renderosity

My Store at PoserSoftware

Characters, Body Sculpts, Morph Corrections, Outfits, Python Scripts, Universal Heads, and Videogames!