Its still a work in progress. I need to redo it because I don’t work with the Skeleton foreshortening feature, and that’s important to get the knee, shank, foot, in the correct place. … and do all the limbs.
Thank you Rodolfo for making and correcting the MapRange function!!!
At least my plan was to re-do some of this leg, because it needs to work with bones
update: ufff. I detected that the "animated…id=“right thigh flexion” block was moved a few lines under where it should be. Here’s the version 5 that works:
For future reference: this is how the end foreshortening is implemented.
fs=bone_local_length_scale
If the limb end is a ball, or a shape that should stay the same length as the limb foreshortens, I calculate the “anti-foreshortening”=afs=1/fs and apply it as the x or y scale that is parallel to the bone.
If the end is a flat surface, I calculate the “co-foreshortening”=cfs=sqrt(1-fs^2)/fs=sqrt(1/fs^2-1)=sqrt(afs^2-1) and apply it to the x or y scale of that group that will become the end cross section. This way, the end starts looking like a line when the limb is 100% length, but it appears 100% towards the viewer, when the limb is 0% length.
This “co-foreshortening” is also applicable to circles that wrap around the cylindrical (or conical) surface anywhere in the middle.
If the bone local length is greater than 1, then the flat end will continue to look like a line.