Commit graph

828 commits

Author SHA1 Message Date
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
Seth Alves
33c586de60
Merge pull request #12188 from hyperlogic/feature/small-anim-refactor
Remove dangerous "Use Anim Pre and Post Rotations" menu item
2018-01-17 13:41:51 -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
1027025b5c remove bind poses from AnimSkeleton. 2018-01-16 17:41:25 -08:00
Anthony J. Thibault
51ea2632c0 Remove Avatar UseAnimPreAndPostRotations option.
This should always be true and can lead to hard to diagnose bugs if it is ever set to false.
2018-01-16 17:27:19 -08:00
humbletim
08ccda9cfc rename libraries/model(src/model) -> libraries/graphics(src/graphics) 2018-01-16 12:44:44 -05:00
Anthony Thibault
0a54241fe3
Merge pull request #12092 from hyperlogic/feature/dual-quat
Fix tootsie roll wrists and shoulders with dual quaternion skinning
2018-01-12 16:30:03 -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
4e4ac6c54d Merge branch 'master' into bug-fix/elbow-glitch-fix 2018-01-11 17:57:41 -08:00
Anthony J. Thibault
7753b8a0b5 Merge branch 'master' into feature/dual-quat 2018-01-11 17:31:29 -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
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
d08f94a74d Code review feedback
* Removed AnimPose::fuzzyEqual
* Fixed DualQuaternion ctor
2018-01-08 13:36:23 -08:00
Anthony J. Thibault
515d13a4c1 WIP checkpoint 2018-01-04 16:09:08 -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
Anthony J. Thibault
9f54ce55f3 Change domain setting from min/max avatar scale to min/max avatar height
* Domain settings version has been bumped from version 2.0 to 2.1
* Old domain settings for avatar scale will be auto-converted to avatar height
* Avatar code has been changed so that limitDomainScale() works with the new height limits
* Avatar getUnscaledEyeHeight() was added to C++.
* MyAvatar.getHeight() was added to JS.
2017-11-21 13:25:47 -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
9e0e1ab5a5 erase comment 2017-11-01 19:56:16 -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
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
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
de199bff9d code review feedback 2017-07-14 09:47:37 -07:00