Commit graph

343 commits

Author SHA1 Message Date
SamGondelman
306cf883fe don't reload animGraph if url didn't change 2017-09-26 18:18:41 -07:00
Anthony J. Thibault
573985c7c9 Merge branch 'master' into feature/ant-man 2017-08-28 09:27:04 -07:00
Anthony J. Thibault
5042b90052 Rig: Fix for debug mode assert 2017-08-24 10:47:48 -07:00
Brad Hefta-Gaub
afce8b547a Merge pull request #11197 from hyperlogic/bug-fix/prevent-rig-crash-in-lambda
Rig: Use a registry to prevent use after free crashes/corruption
2017-08-23 15:09:28 -07:00
Anthony J. Thibault
aef19c6f97 Rig: Use a registry to prevent use after free crashes/corruption
Create a global registry to hold all the currently active Rig instances.
Use this registry and it's mutex to prevent accessing the rig after it has already been destroyed,
or is in the process of being destroyed on the main thread.
2017-08-15 18:28:51 -07:00
Anthony J. Thibault
e9b8e5431d Fix for incorrectly scaled bounding volumes when switching avatars
Make sure to explicitly set the _geometryToRigTransform in Rig::initJointStates().

This should fix small bounding volume when switching from the Gamebot avatar (which has 0.008 scaling)
to another avatar (which ususally have 0.01 scaling).
2017-08-15 17:26:51 -07:00
Anthony J. Thibault
f46198c2fd Simplified/Improved avatar capsule calculation
IK is no longer performed during capsule calculation, This fixes an issue with the mannequin avatar in the marketplace.
Specifically, it was causing the hips to rise during IK which would result in an incorrectly sized and offset capsule.
2017-08-15 13:48:10 -07:00
Anthony J. Thibault
04006a9f76 code review feedback 2017-08-15 11:19:41 -07:00
Anthony J. Thibault
cd57c0706a more warning fixes 2017-08-11 17:46:50 -07:00
Anthony J. Thibault
9e1218b4a4 Use k-dop collision to prevent hands from entering body. 2017-08-11 14:50:00 -07:00
Anthony J. Thibault
33a1d6e225 Merge branch 'master' into feature/secondary-pose-support 2017-07-24 17:27:33 -07:00
Andrew Meadows
5a4f56388b Merge pull request #10881 from hyperlogic/feature/smooth-ik-chains
Smooth IK when trackers are disabled / enabled.
2017-07-14 16:59:30 -07:00
Anthony J. Thibault
c85e187c61 first stab at secondary target pose support 2017-07-13 18:12:33 -07:00
Anthony J. Thibault
1cdc0071f3 Fixed issue with hips and chest not ramping off properly. 2017-07-10 16:17:25 -07:00
Seth Alves
15d379cc5a coding style 2017-07-06 17:36:28 -07:00
Seth Alves
24c8267030 in Rig joint accessors, if on the Rig's thread use internalPoseSet, else use external 2017-07-06 13:22:14 -07:00
Anthony J. Thibault
06d512dab9 Warning fixes 2017-07-05 10:43:24 -07:00
Anthony J. Thibault
2f6a37ee53 Removed interpolation of hand controllers 2017-07-03 16:31:05 -07:00
Anthony J. Thibault
aba164b26e more clean up of Rig::computeAvatarBoundingCapsule 2017-06-30 13:27:53 -07:00
Anthony J. Thibault
237872e477 sizes and order of IKTargetVarVec and IKTargetVec are now the same.
Also, A change in how the bone name to bone index lookup occurs exposed a bug
in Rig::computeAvatarBoundingCapsule(), basically it was not actually preforming IK,
and the ik targets were in the wrong coordinate frame.  So when IK was actually
performed it would give bad results.  This bug is now fixed.
2017-06-30 12:47:01 -07:00
Sam Gateau
f7a3b3a411 Experimenting faster getters on Avatar for scripts 2017-06-29 15:55:47 +02:00
Anthony J. Thibault
8602d57a57 Eliminated to wiggle while pucks are enabled.
* Added new anim node AnimDefaultPose
* AnimNodeLoader was changed to support the addition of the AnimDefaultPose node
* Edited default avatar-animation.json to insert an AnimOverlay and AnimDefaultPose between the IK node and the rest of the "underPose".
* Rig uses this to fade in default pose for the toes when the hip/feet puck are active.
  This effectively deadens the toe animations, without effecting the hand animations.
* Also, the rig was changed to use the LimitCenter solution when the feet are enabled but the hips are not.
2017-06-26 14:09:10 -07:00
Anthony J. Thibault
b8c638b2b7 warning fixes 2017-06-23 14:36:59 -07:00
Anthony J. Thibault
f320610681 opened up shoulder constraint + other fixes
* bent elbows will be away from the body a bit more.
* sped up smoothing of pole vectors
2017-06-23 14:06:00 -07:00
Anthony J. Thibault
54af6af651 Fix for pole vector stability and knee pole vector computation 2017-06-23 10:38:21 -07:00
Anthony J. Thibault
0f51236fb0 Rig.cpp: take avatar scale into account when computing elbow pole vector 2017-06-21 14:36:42 -07:00
Anthony J. Thibault
1979ed7f3a Disable elbow pole vector if arm/shoulder pucks are enabled 2017-06-19 16:58:11 -07:00
Anthony J. Thibault
c236afe68c Simplify passing data from MySkeletonModel to Rig 2017-06-19 16:54:39 -07:00
Anthony J. Thibault
3f5aba2655 improved elbow pole vector calculation
Also, pole vectors are blended spherical linearly, this might help fast moving
pole vectors from rotating too quickly.
2017-06-19 13:21:12 -07:00
Anthony J. Thibault
81852cd91c warning fixes 2017-06-16 18:15:41 -07:00
Anthony J. Thibault
323dc62ef2 Merge branch 'master' into feature/pole-vector 2017-06-16 17:37:11 -07:00
Anthony J. Thibault
e7991579ef Enabled elbow pole vectors
There are still some issues with rotations of the elbow pole vectors.
* When the (hand - shoulder) vector approaches the normal vector used in Rig::calculateElbowPoleVector() unexpected twists can occur.
* Also, when the (hand - shoulder) vector approaches zero, the IK system starts to flutter between two states.
* The shoulder twist constraint probably needs to be opened up for more natural range of motion.
2017-06-16 17:29:56 -07:00
Anthony J. Thibault
10f94c2d60 Fixed pole vectors on straight limbs by using reference vector 2017-06-14 11:35:53 -07:00
David Rowe
570ec8457d Refactor 2017-06-14 10:45:30 +12:00
Anthony J. Thibault
f20c03fa6e Pole vectors can be controlled via anim vars. 2017-06-13 15:36:05 -07:00
David Rowe
5eee2d8352 Code review 2017-06-13 12:39:46 +12:00
David Rowe
3e126c0517 Smoothly ease hands from uncontrolled to controlled positions 2017-06-12 17:14:13 +12:00
Anthony Thibault
e3c342aa77 Merge pull request #10595 from hyperlogic/feature/spine-spline
Spline IK target support
2017-06-08 18:09:55 -07:00
Anthony J. Thibault
606c6415ae Merge branch 'master' into feature/spine-spline 2017-06-07 10:53:46 -07:00
David Rowe
5cb1918b80 Simplify code 2017-06-06 13:26:16 +12:00
David Rowe
ad848706ec Merge branch 'master' into 21202 2017-06-06 11:18:31 +12:00
Andrew Meadows
793ed1313d change variable name for more readable code 2017-06-05 10:30:52 -07:00
Andrew Meadows
1621d31a8e cleanup usage of GLMHelpers::generateBasisVectors() 2017-06-05 08:54:05 -07:00
Anthony J. Thibault
226855b2b9 Bug fixes and cleanup
* Bug fix for problem when chest target is enabled but hips target is not.
* centralized the two computeSplineFromTipAndBase functions into one.
* Removed dead code
2017-06-01 13:20:50 -07:00
David Rowe
47e65e942e Gradually relax hands from controlled positions when lose tracking 2017-06-01 23:42:08 +12:00
Anthony J. Thibault
cff42ab9b0 Working spline spline. 2017-05-30 19:01:52 -07:00
Dante Ruiz
d317d9236f made requested changes 2017-05-26 16:40:21 +01:00
Dante Ruiz
0fdf136251 got the shoulders working 2017-05-24 19:31:48 +01:00
Dante Ruiz
ac3c9655ec added arms 2017-05-24 01:28:08 +01:00
Anthony J. Thibault
621d94eb91 removed temp comments 2017-05-19 10:38:16 -07:00