Commit graph

563 commits

Author SHA1 Message Date
amantley
78d6e42fc8 made the ik enable/disable work for the old animIK node json 2019-02-04 13:42:19 -08:00
amantley
a04e6d55ff enabled/disable ik now works for the new animspline json 2019-02-04 13:31:36 -08:00
luiscuenca
cf8f9fa1b6 Threads created correctly 2019-02-04 11:28:42 -07:00
Anthony Thibault
2c40b120ca Make Animation Tests Pass Again 2019-01-30 17:26:52 -08:00
amantley
f2a7f37950 got rid of the lag in the spline code by setting the flex coeffs to 1.0 2019-01-25 17:11:07 -08:00
amantley
bcbd9323c0 Merge remote-tracking branch 'upstream/master' into animSplineIK 2019-01-25 14:42:24 -08:00
amantley
992820cd67 removed unnecessary hand update function for two bone IK 2019-01-25 11:34:18 -08:00
amantley
71df614989 put all the hand update code in one function that works for two bone IK
and legacy animInverseKinematics Ik
2019-01-25 11:28:51 -08:00
amantley
37f92d2319 added code to read tip and base var info from the json 2019-01-24 17:02:30 -08:00
amantley
cdd03646c2 latest spline code with ik node removed started cleanup 2019-01-23 17:22:13 -08:00
John Conklin II
1768d91780
Merge pull request #14733 from hyperlogic/bug-fix/translation-precision
Avatar Protocol: Fix for precision issues with translation
2019-01-23 14:07:58 -08:00
amantley
8d88c627b0 nearly have the arms legs and back working with out the ik node 2019-01-21 17:41:08 -08:00
amantley
6680ca53ad added updateHands2 which deals with two bone hands animvars 2019-01-20 08:56:39 -08:00
Anthony Thibault
e68a8794ce Remove unused variable 2019-01-17 16:18:43 -08:00
Anthony Thibault
286f23d512 Updated protocol version and fixed bugs 2019-01-17 15:19:54 -08:00
Seth Alves
b71f4e0204 remove commented-out code 2019-01-11 15:53:49 -08:00
Seth Alves
ecb34450bd quiet uneeded logging 2019-01-11 15:53:49 -08:00
Angus Antley
77fa4e7d13 took out the unnecessary hfm.jointindex code 2018-12-16 17:29:16 -08:00
amantley
f9829c270d merged new fbx.h 2018-11-15 10:19:04 -08:00
Howard Stearns
ad7266062d Merge branch 'master' of github.com:highfidelity/hifi into no-url-logging 2018-11-13 10:33:27 -08:00
John Conklin II
85e5c1d6ef
Merge pull request #14363 from SimonWalton-HiFi/scale-avatar-joint-translations
Send avatar-joint translations at world scale
2018-11-13 10:04:30 -08:00
amantley
3f732baf86 Merge remote-tracking branch 'upstream/master' into avatarPipelineOffsets 2018-11-12 14:38:17 -08:00
Howard Stearns
66ae01e0c3 Merge branch 'master' of github.com:highfidelity/hifi into no-url-logging 2018-11-12 12:55:20 -08:00
Angus Antley
e36ab9efd6 cleaned up for merge with luis 2018-11-09 00:44:52 -08:00
Angus Antley
244b768b9a fixed the absolute default joint poses so they work for the 2 joint avatar 2018-11-08 23:42:50 -08:00
amantley
2cd3575e32 merged with master with hfm file changes 2018-11-08 17:31:49 -08:00
amantley
8735b409ab in the process of changing the rotation application to being absolute joints not local 2018-11-08 17:12:10 -08:00
amantley
6b4620b4a1 working on the input mapper problem for the offset rotations 2018-11-07 17:32:23 -08:00
amantley
1dbccc814b working on the ik dislocation caused by the offsets, head is what I am working on 2018-11-06 17:35:53 -08:00
Simon Walton
f88168bdfb Send avatar-joint translations at world scale 2018-11-06 17:29:02 -08:00
Roxanne Skelly
cef7000a72 Case 19754 - Remove logging URLs and related file locations.
The goal is to strip out data that can be used by untoward users in
copying models, avatars, etc.
2018-11-06 16:24:32 -08:00
amantley
e52f2ab7d6 works for two joints now 2018-11-06 14:14:57 -08:00
luiscuenca
0f1b12475e Use clamp 2018-11-06 10:15:17 -07:00
luiscuenca
0f183b409b Fix warnings 2018-11-06 10:08:06 -07:00
luiscuenca
f9b6d3dc6f Merge addTransitAPI branch 2018-11-05 19:02:35 -07:00
amantley
f0c02bb49b more debug 2018-11-05 17:36:54 -08:00
amantley
d231a35dfa changes to get spine2 and neck to work almost there 2018-11-05 08:35:01 -08:00
amantley
5392d21b1c loading test file to check rotation offsets 2018-11-02 17:59:18 -07:00
sabrina-shanman
cbca77b12f Rename HFMGeometry to HFMModel and adjust related variables 2018-11-01 17:17:48 -07:00
amantley
64d8fa6875 added the const argument to the AnimSkeleton constructor that allows the offset rotations to be passed in 2018-11-01 13:33:03 -07:00
luiscuenca
c070bce2ec Read joint rotation offsets from .fst 2018-10-31 08:39:35 -07:00
sabrina-shanman
becee7f010 Re-name FBXGeometry to HFMGeometry and do the same for related classes 2018-10-30 17:28:42 -07:00
Jeff Clinton
eb383b1d09
Merge pull request #14040 from hyperlogic/feature/acceleration-limit-filter
Quality Improvements to Avatars driven by Vive Trackers
2018-10-25 08:51:59 -07:00
Jeff Clinton
67fe43ebb1
Merge pull request #14243 from hyperlogic/bug-fix/small-jumping-avatars
Small avatars now have a minimum jump height of 0.25 meters
2018-10-24 17:08:28 -07:00
luiscuenca
fa67e1b269 Remove logs and magic numbers 2018-10-23 11:51:15 -07:00
luiscuenca
afc76fec72 Added overrideNetworkAnimation and restoreNetworkAnimation methods 2018-10-22 15:20:32 -07:00
Luis Cuenca
e1c760b566
Merge branch 'master' into transitAddAnimation 2018-10-20 15:30:23 -07:00
luiscuenca
f8d67d124f Hold flickering fixed and refactor 2018-10-20 15:22:25 -07:00
luiscuenca
31d099907a Fix warnings 2018-10-19 14:00:52 -07:00
Anthony Thibault
ef74014075 Small avatars now have a minimum jump height of 0.25 meters
This should improve the quality of the jump animation and improve the mobility of small avatars.
2018-10-19 13:55:56 -07:00
luiscuenca
bb5c042f16 Blend network animation 2018-10-18 17:51:20 -07:00
luiscuenca
7da5fa9ea7 Transit animations won't play, they just get sent over the network 2018-10-16 11:33:58 -07:00
Anthony Thibault
640ed6a32a Added "Developer > Avatar > Show Tracked Objects" menu 2018-10-15 12:42:07 -07:00
Anthony Thibault
4e75123740 Blend between non-estimated and estimated hips in Rig 2018-10-09 10:51:03 -07:00
Anthony Thibault
0283c9fbdc Added CriticallyDampedSpringPoseHelper to help smooth out hips. 2018-10-09 10:51:02 -07:00
unknown
1172e29d95 Clean up elbow smoothing code 2018-10-08 13:21:47 -07:00
Anthony Thibault
3a3ffcc98c First pass at improving anim stats. 2018-09-05 18:14:06 -07:00
Anthony Thibault
e210fadc7c Fix for glitch when entering inAir state from takeoff.
This was due to a frame lag of blend factor used for inAir blending.  So the first frame the upward velocity would be 0, followed by 3.5 m/s the next frame.
This is fixed by using the workingVelocity instead of _lastVelocity to drive the blend.
2018-09-04 14:36:56 -07:00
amantley
4ad73fd821 removed whitespace 2018-08-07 12:51:23 -07:00
amantley
a61909446a Merge remote-tracking branch 'upstream/master' into animationBlendChanges 2018-08-07 10:40:22 -07:00
amantley
84619e7adc cleaned up to match coding standards 2018-08-07 10:40:11 -07:00
amantley
1ad6b041cd updated the elipes equation code for determining the forward speed of the avatar. We can now set the max forward == walkSpeed, max side and backwards == walkBackwardsSpeed and the sprint speed == sprintSpeed 2018-08-06 18:36:32 -07:00
amantley
375d726535 added the new animations for strafe and walk to the resource file and updated the avatar-animation.json file 2018-08-03 16:48:43 -07:00
amantley
76b182f03b added the hmd strafe to the rig code 2018-08-03 12:12:01 -07:00
amantley
096cb0db81 working on strafe left and right transitions 2018-08-02 13:32:06 -07:00
amantley
bd88d5f15b merging with ik leg fix code in master 2018-08-02 09:48:04 -07:00
amantley
6b2c67e5bd more doug support 2018-08-01 18:22:51 -07:00
luiscuenca
fde77add79 Elbow pole vectors fixes 2018-08-01 11:49:18 -07:00
Anthony J. Thibault
fd780845bb Code review feedback 2018-07-31 18:25:04 -07:00
amantley
541d2deed5 added the parent alpha into the child animation weight, removed extra hand overlay print outs 2018-07-30 14:45:25 -07:00
Anthony J. Thibault
6a6ece8910 Warning fixes and whitespace cleanup 2018-07-30 11:49:44 -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
amantley
637a214165 added the anim stack print out static object for the list of motion and weights 2018-07-27 17:25:00 -07:00
amantley
b28ce40f09 adding the anim stack print out feature half way done 2018-07-27 08:46:40 -07:00
amantley
04dbafeedc removed the hard coded reference speeds in Rig.cpp. we now use the characteristic speeds from the avatar-animation.json file for blending. the computation of the blend alphas takes place in AnimBlendLinearMove.cpp 2018-07-24 17:13:57 -07:00
luiscuenca
e7d70a832d Pole Vectors always calculated when arms are crossed 2018-07-24 08:58:17 -07:00
amantley
aa92865b21 added the code to display the alphas for the motion blends 2018-07-23 17:45:24 -07:00
luiscuenca
8f547d9bdd fix warnings 2018-07-23 16:37:25 -07:00
luiscuenca
94bb8fc917 More unused code 2018-07-23 15:29:42 -07:00
luiscuenca
2adb334034 unused code deleted 2018-07-23 14:25:30 -07:00
luiscuenca
9d2d7c3aa4 Redesign and enable hand's Pole Vectors for elbow simulation 2018-07-23 13:16:11 -07:00
amantley
65160e4513 changed the middle reference speed for forward movement so that run doesn't get blended into walk 2018-07-20 14:07:24 -07:00
amantley
6db108e78e added a third reference speed to the lateral speeds in rig.cpp 2018-07-19 15:27:57 -07:00
Anthony Thibault
f56c0a3a3f
Merge pull request #13502 from luiscuenca/eyelidFix
Fix closed eyelids when head is tilted down
2018-07-05 08:50:22 -07:00
Anthony J. Thibault
3a88582f42 Bug fix for feet poleVector smoothing.
This bug was introduced when I renamed the variable from poleVector to sensorPoleVector for readablity.
2018-07-02 15:16:47 -07:00
Anthony J. Thibault
fff4348a0f Bug fix for poleVector smoothing
Needs to occur in sensor space rather then avatar space.
2018-06-29 17:54:21 -07:00
luiscuenca
24d03ace4c Changes from CR and decreased looking at angle to mitigate freaky eyes 2018-06-29 14:34:17 -07:00
Anthony J. Thibault
f19b1d9890 Fix for character walk animations in desktop mode. 2018-03-20 18:12:55 -07:00
Anthony J. Thibault
69f462baeb Disable elbow pole vectors, solve from joint limit centers. 2018-03-19 18:53:00 -07:00
David Rowe
75189e292d Fix OSX / Linux warning 2018-03-13 10:22:50 +13:00
David Rowe
957d39b0b1 Fix rotation and position of meshes attached to eye joints 2018-03-11 14:49:23 +13:00
Seth Alves
bf73df1265 more logging for fogbugz 11748 2018-02-20 15:45:47 -08:00
John Conklin II
309c2ecba1
Merge pull request #12239 from druiz17/fix-camera-update
Do not override sensorToWorldMatrix if animGraph is loading or failed to load
2018-02-13 15:10:13 -08:00
John Conklin II
d084e58f48
Merge pull request #12328 from Atlante45/fix/misc-bugs
Misc bug fixes
2018-02-12 14:31:38 -08:00
Dante Ruiz
d381beb213 cleaning up code 2018-02-12 10:53:42 -08:00
Anthony Thibault
819af96fcc
Merge pull request #12331 from ctrlaltdavid/21732
Fix scaling of avatar submeshes attached to joints
2018-02-05 10:19:18 -08:00
David Rowe
9818674549 Fix scaling of avatar submeshes attached to joints 2018-02-03 15:06:47 +13:00
Atlante45
8ebb3e52d8 Misc bug fixes 2018-02-02 13:10:49 -08: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
Seth Alves
b6f7d2eb89 print warnings if head position contains not-a-number 2018-01-25 15:15:59 -08:00
Anthony J. Thibault
cd4d9255bd Added defaultPoseFlags to avatar protocol
Change rotationSet to rotationIsDefaultPose for JointData
Also for translation.  Fixed all code to flip boolean value.
Created EntityJointData so that the ModelEntity stuff doesn't need to change.
2018-01-19 15:34:27 -08:00
Anthony J. Thibault
bc587bf6d8 Removal of legacy Rig methods 2018-01-16 18:19:35 -08:00
Anthony J. Thibault
576273efe3 Remove Rig::restoreJointPosition and references to it. 2018-01-16 18:01:58 -08:00
Anthony J. Thibault
7753b8a0b5 Merge branch 'master' into feature/dual-quat 2018-01-11 17:31:29 -08:00
Anthony J. Thibault
ae997928c1 Bug fix to prevent wrists entering the avatar's torso.
This was inadvertently disabled in PR #11978.
2018-01-10 11:51:44 -08:00
Anthony J. Thibault
565875e823 WIP first attempt at dual quat skinning 2018-01-04 16:09:02 -08:00
Anthony J. Thibault
e2df9e29e2 Fix for crash in AnimSkeleton::getNumJoints()
When initAnimGraph is called it asynchronously loads the Animation graph in the background.
If the model url is changed, or the Model is deleted in between the initial load and it's completion,
It's possible to access a bad Rig::_animSkeleton pointer.
The fix is to hold onto the _animSkeleton pointer via a weak ref.
2017-12-15 16:46:27 -08:00
luiscuenca
bf0d55aa98 9267 Fix not restoring animations after changing view modes 2017-11-15 15:04:24 -07:00
Anthony J. Thibault
4169e11e77 Merge branch 'master' into bug-fix/div-by-zero 2017-11-10 10:15:26 -08:00
Anthony J. Thibault
9724a5e5b8 Fix for address sanitizer warning
This fixes a potential null pointer dereference.
2017-11-09 10:53:36 -08:00
luiscuenca
81509b3e92 coding standard 2017-11-02 10:34:57 -07:00
luiscuenca
e201e82ec2 formatting 2017-11-01 19:45:56 -07:00
luiscuenca
6a2dc38fdd restoring previous roles 2017-11-01 19:38:37 -07:00
luiscuenca
da63e85699 Bug 8270 fixed 2017-11-01 09:17:04 -07:00
Andrew Meadows
c79bf3bc04 cleanup WANT_DETAILED_PROFILING 2017-10-19 14:31:50 -07:00
Andrew Meadows
339edc67c8 ifdef out more per-frame-per-entity profiling 2017-10-16 17:27:53 -07:00
Anthony J. Thibault
fe57a20979 div by zero fix 2017-10-10 16:22:49 -07:00
Anthony J. Thibault
18d723b6b4 div by zero fixes, detected by address sanitizer 2017-10-10 16:17:39 -07:00
SamGondelman
a6f2545511 fix local t pose 2017-10-03 12:51:37 -07:00
SamGondelman
b8ea6c22fa no tpose when switching avatars
(cherry picked from commit fcfac9efc0)
2017-09-29 13:47:09 -07:00
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