Commit graph

217 commits

Author SHA1 Message Date
Dale Glass
7d34a9233b Replace QTime with QElapsedTimer (deprecated) 2022-06-10 00:46:19 +02:00
Dale Glass
87ba20ecb4 Only whitespace changes 2022-06-10 00:46:19 +02:00
Kalila L
df7fd920d7 Change INVALID_JOINT_INDEX to AnimSkeleton::INVALID_JOINT_INDEX 2021-02-25 23:28:00 -05:00
Kalila L
0e03eccbdf Change NO_PARENT_INDEX to INVALID_JOINT_INDEX. 2021-02-25 21:43:17 -05:00
Kalila L
4276ea295c Change -1 to NO_PARENT_INDEX. 2021-02-25 21:29:54 -05:00
Kalila
c79eb479f0
Update AnimInverseKinematics.cpp 2021-02-25 20:36:45 -05:00
Kalila
080d42be39
Update AnimInverseKinematics.cpp 2021-02-25 20:35:02 -05:00
Kasen IO
44e5bbb591 Add init for timer to constructor. 2020-07-04 00:48:03 -04:00
Kasen IO
0ad7e25b49 Revise names. 2020-07-03 14:40:56 -04:00
Kasen IO
aaf19db286 Debounce missing joint log spam to 30s intervals 2020-06-23 00:42:05 -04:00
luiscuenca
73b3419c75
store rotations when interpolating 2019-08-09 11:02:20 -07:00
luiscuenca
e3ec87a8f8
Add in/out interpolation between RotationOnly and Unknown types 2019-08-09 10:46:48 -07:00
Anthony Thibault
6425c68836 fix for self assignment warning 2019-07-16 10:48:51 -07:00
amantley
e955c02e07
Merge pull request #15046 from amantley/bugRootHips
Bug Fix for the Hips not translating correctly when Hips and Root have the same location
2019-03-04 14:05:33 -05:00
amantley
217145f4c5 This pr addresses two issues related to avatars that have parents joints
above their hip joints. First on the IK side this prevents parent joints
from being included in the accumulators in AnimInverseKinematics. Second
in AnimClip the boneLengthScale now takes into account translation and
scale on these extra parent joints.
2019-03-01 11:42:03 -08:00
amer cerkic
faedc61c37 removing quest-demo specific changes 2019-02-28 10:54:30 -08:00
amantley
87d98e5b85 These are the squashed commits for the ik optimization for the Quest
Implmented using a new AnimSplineIK node in the anim graph

(cherry picked from commit 4fe03ba238659fee7763991f2499a315482b351f)
2019-02-22 11:21:36 -08:00
Cristian Duarte
514c552a4d Android - Remove block that disabled AnimInverseKinematics::overlay method 2019-02-08 19:53:59 -03:00
Gabriel Calero
6a665835e7 Merge remote-tracking branch 'upstream/master' into android_handshake 2019-01-30 17:06:41 -03:00
Anthony Thibault
640ed6a32a Added "Developer > Avatar > Show Tracked Objects" menu 2018-10-15 12:42:07 -07:00
Anthony Thibault
c0ceb713ec Spine2 IKTarget now smoothly interpolates when ik target is disabled.
Also all smooth ik interpolations use easeInExpo instead of linear curves.
2018-10-09 16:48:28 -07:00
Cristian Luis Duarte
4f3a730d6d Android - Handshake implementation - two important notes - IK was disabled on android and this enables it (needs a well thought review) - TouchscreenVirtualPadDevice buttons code does not scale well, it needs a refactor 2018-08-29 18:53:14 -03:00
Anthony J. Thibault
3fa3cd8cfd In CCD IK chains, remove the LeftHand and RightHand constraint completely.
When used in combination with the elbow pole vector, this was causing the hand to never properly reach its rotation target.
It was also having side effects causing the elbow to never straighten properly to reach its position target.

There is possibly a bug in how this tip constraint is enforced and I've verified that there are no ill effects in removing it.
2018-08-08 13:56:47 -07:00
Anthony J. Thibault
401995fb06 Leg IK fixes
Fixes for raising legs and sometimes squatting while in HMD mode.
2018-07-30 10:55:52 -07:00
SamGondelman
06c0b3afd3 disable IK on android, input recorder doesn't do anything if off 2018-03-16 16:52:12 -07:00
Anthony J. Thibault
b23f98b311 Removal of hips offset shifting from AnimInverseKinematics node
With the addition of the hips IK target, the hips offset shifting code is no longer necessary.
This PR should not effect any behavior, but it removes this unused code from the animation system.
2018-01-31 17:56:33 -08:00
Anthony J. Thibault
1027025b5c remove bind poses from AnimSkeleton. 2018-01-16 17:41:25 -08:00
Anthony J. Thibault
bfd18e3696 unused variable warning fix 2018-01-12 09:07:50 -08:00
Anthony J. Thibault
983e1fe075 warning fixes: removed unused variable. 2018-01-11 17:57:58 -08:00
Anthony J. Thibault
467a7eaf2d Fix for elbow glitches
The pole vector constraint calculation within the IK system would sometimes compute the incorrect rotations.
This would be visible as an instantaneous snap of the elbow joint as the bicep was curled.

When applying pole vector constraints, there needs to be two methods of determining the current orientation of the elbow joint.
One for when the arm/elbow joint is bent, and one for when the arm/elbow is straight.
Previously, the way we would switch between these two solutions could cause a large rotation delta to accur between very small angles.
Now we use the more accurate method (1) more often, and we smoothly blend between the solutions as the joint gets straighter.
2018-01-11 15:40:53 -08:00
Anthony J. Thibault
25b5cb4762 Switch order of precondition and setSecondaryTargets 2017-08-01 13:17:33 -07:00
Anthony J. Thibault
2a45c6d3dc Removed eigen dependency, fixed Debug Draw IK Chains
Also, clarified for special case for secondary shoulder joint look-at constraint.
2017-07-26 16:55:12 -07:00
Anthony J. Thibault
c81875a280 Improved shoulder calibration using hard-coded measured shoulder width 2017-07-25 15:50:44 -07:00
Anthony J. Thibault
33a1d6e225 Merge branch 'master' into feature/secondary-pose-support 2017-07-24 17:27:33 -07:00
Anthony J. Thibault
9f6641ed10 Shoulder puck calibration work in progress
* AnimInverseKinematics: debug draw for secondary targets
* AnimInverseKienmatics: better clean up of ik target debug draw
* GeometryUtil: added findPlaneFromPoints()
* ViveControllerManager: external dependency on eigen
* ViveControllerManager: record history of left/right hand controllers
* ViveControllerManager: use history to determine user shoulder location for better calibration
* ViveControllerManager: pass defaultToReferenceMat by const ref to calibrate functions.
* CMake: added external depenency to eigen linear algebra library.
2017-07-24 17:22:48 -07:00
Anthony J. Thibault
de199bff9d code review feedback 2017-07-14 09:47:37 -07:00
Anthony J. Thibault
c85e187c61 first stab at secondary target pose support 2017-07-13 18:12:33 -07:00
Anthony J. Thibault
b0177c2522 remove comment, it does indeed work 2017-07-10 16:25:37 -07:00
Anthony J. Thibault
1cdc0071f3 Fixed issue with hips and chest not ramping off properly. 2017-07-10 16:17:25 -07:00
Anthony J. Thibault
bd8d6280a8 Interpolate out of ik chains when they are disabled 2017-07-07 09:29:57 -07:00
Anthony J. Thibault
06d512dab9 Warning fixes 2017-07-05 10:43:24 -07:00
Anthony J. Thibault
1a24d4d8ec added safeLerp, shortest angle quat lerp with post normalize 2017-07-05 09:31:02 -07:00
Anthony J. Thibault
7ed1382ac9 ik level interpolation of incoming targets 2017-07-03 16:32:46 -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
Anthony J. Thibault
75e1a4a1e6 Refactor of JointChainInfo data structure 2017-06-30 09:28:39 -07:00
Anthony J. Thibault
c7e4bf931b WIP: first steps toward smoothing ik chains 2017-06-30 09:28:38 -07:00
Anthony J. Thibault
d4122cff5a warning fix 2017-06-27 11:29:08 -07:00
Anthony J. Thibault
2814c94582 Hips should no longer waggle when feet are active 2017-06-26 17:43:51 -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