Anthony J. Thibault
ec638d9d91
Avatar can now look straight down without spinning 180.
...
Also, come code clean up and removal of unnecessary Y_180 flips.
2018-05-14 13:48:04 -07:00
Clement
da9fb9c751
Fix non self-sufficient headers
2018-05-04 16:26:41 -07:00
David Rowe
e95c38d939
Merge branch 'master' into 21856-g
...
# Conflicts:
# libraries/model-networking/src/model-networking/TextureCache.h
2018-05-03 21:03:14 +12:00
David Rowe
48632be3c2
Fix up cache APIs' JSDoc
2018-05-02 16:12:48 +12:00
David Rowe
1aa28b7f54
Merge remote-tracking branch 'upstream/master' into 21856-d
...
# Conflicts:
# interface/src/LODManager.h
2018-05-02 07:50:55 +12:00
Oren Hurvitz
69b97b423f
Added a missing 'break' in AnimExpression::evalUnaryMinus()
2018-04-30 15:42:45 +03:00
David Rowe
2cc3ed6287
List which contexts each namespace and object is available in
2018-04-28 20:00:28 +12:00
David Rowe
08dc9b133f
Docs to JSDoc review
2018-04-26 21:10:28 +12:00
milad nazeri
23d07fa292
fixed spacing issue
2018-04-24 13:14:55 -07:00
milad nazeri
1121fe8da0
fix tabs
2018-04-23 21:47:53 -07:00
milad nazeri
4ac06fe99f
Updating previous jsdocs
2018-04-22 22:22:33 -07:00
milad nazeri
e9b9c05b5d
removed cruft
2018-04-22 08:51:47 -07:00
Anthony Thibault
dc9c9fd0ee
Merge pull request #12683 from hyperlogic/bug-fix/reduce-elbow-flapping
...
Reduce avatar elbow fluttering by disabling pole vectors
2018-04-02 10:51:28 -07:00
John Conklin II
563ff61325
Merge pull request #12661 from SamGondelman/android
...
Android: Stats, disable IK, reduce impact of InputRecorder
2018-03-23 11:08:50 -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
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
f6c4f6b9c4
Fix for arm IK jitter
...
When in HMD mode, holding your hand controller in front of your face, would often result in a 1-2 mm pop in wrist position.
This was due to a problem in the IK elbow constraint.
When the swing rotation out of the elbow's reference frame was close to but not exactly identity it would not be properly constrainted.
But when the magnitude of that swing became big enough the constraint would engage.
This small change in swing rotation was noticable as a 1-2 mm movement in the wrist.
2018-03-15 13:06:27 -07:00
David Rowe
75189e292d
Fix OSX / Linux warning
2018-03-13 10:22:50 +13:00
David Rowe
945858876e
Use std::vector<> instead of QVector
2018-03-13 09:53:25 +13:00
David Rowe
5acc605ba0
Fix OSX / Linux warning
2018-03-12 16:03:31 +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
Dante Ruiz
0c5c4679fb
Merge branch 'master' of github.com:highfidelity/hifi into fix-camera-update
2018-02-05 14:25:54 -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
Dante Ruiz
d593e7107c
fix merge conflict
2018-02-02 13:29:31 -08:00
Atlante45
8ebb3e52d8
Misc bug fixes
2018-02-02 13:10:49 -08:00
John Conklin II
cbdbf51ccd
Merge pull request #12317 from hyperlogic/feature/remove-ik-hips-offset
...
Removal of hips offset shifting from AnimInverseKinematics node
2018-02-01 15:30:08 -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
Anthony J. Thibault
ed67a5b408
Fix avatars with extra joints during mirrored animations
...
When the avatar is rotated it will play a mirrored and non mirrored versions of the rotation animation.
The mirrored version would also mirror extra joints on the model, yielding unexpected results.
This refines the logic that determines which joints are NOT mirrored, so that extra joints
remain unaffected by the mirrored animation playback.
2018-01-30 16:51:39 -08:00
Seth Alves
b6f7d2eb89
print warnings if head position contains not-a-number
2018-01-25 15:15:59 -08:00
Dante Ruiz
b7ba7862aa
give animGrapgh loader a high priority
2018-01-24 11:18:42 -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
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
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
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
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
Seth Alves
e9bdbd7715
Merge branch 'calvin' of github.com:samcake/hifi into faster-getters-on-avatar-for-scripts
2017-07-06 11:09:38 -07:00
Anthony J. Thibault
06d512dab9
Warning fixes
2017-07-05 10:43:24 -07:00
Anthony J. Thibault
56cd31e92d
Merge branch 'master' into feature/smooth-ik-chains
2017-07-05 09:33:22 -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
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
Brad Davis
6fc82bb351
Switch to preprocessor macro for blocking invokes to capture function information
2017-06-30 11:36:24 -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
Brad Davis
b52dd7b822
Don't use blocking connections on the main thread
2017-06-29 20:45:17 -07:00
Sam Gateau
f7a3b3a411
Experimenting faster getters on Avatar for scripts
2017-06-29 15:55:47 +02:00
Clément Brisset
a2c15c9794
Merge pull request #10770 from jherico/fix_deps_1
...
Cleanup entity dependencies
2017-06-28 10:48:58 -07:00
Brad Davis
8130a91b8c
Cleanup entity dependencies
2017-06-27 19:15:49 -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
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
6bbc5bfbea
formatting on initializers
2017-06-19 13:42: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
cdfba52488
precondition initial solution before solving to reduce limb locking.
2017-06-15 15:02:42 -07:00
Anthony J. Thibault
fac21033e7
Fixed matthew sitting pose by opening up UpLeg twist constraint to +- 90 degrees.
2017-06-14 11:53:54 -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
Anthony J. Thibault
7521d6124e
WIP: added blend between hips and foot for knee pole vector
2017-06-12 17:23:23 -07:00
Anthony J. Thibault
0cde22d937
Bug fix for pole constraint on legs
2017-06-12 12:13:03 -07:00
David Rowe
3e126c0517
Smoothly ease hands from uncontrolled to controlled positions
2017-06-12 17:14:13 +12:00
Anthony J. Thibault
e8ca1a3060
WIP: added magnitude to damping rotation near singularities.
...
Also knee pole constraints don't work.. why?
2017-06-09 18:09:38 -07:00
Anthony J. Thibault
bb45fe0388
WIP, straight arm still rotates..
2017-06-09 09:48:03 -07:00
Anthony J. Thibault
02f06d4d4e
WIP pole vectors work.. but still have issues...
2017-06-09 09:48:02 -07:00
Anthony J. Thibault
6564cfd5d1
WIP
2017-06-09 09:48:00 -07: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
8334dff610
compute rotation from derivative of spline
...
This should fix bad rotation values for the spine during bowing/touching toes.
2017-06-08 15:00:12 -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
2422c7e1bb
code review feedback
2017-06-02 15:47:51 -07:00
Anthony J. Thibault
551426f46e
Made computeSplineJointInfosForIKTarget more general
...
It should now work for non-vertical oriented splines.
2017-06-01 13:56:06 -07:00
Anthony J. Thibault
f99b579c14
added some docs
2017-06-01 13:38:18 -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
Anthony J. Thibault
813feeb8fd
Limit spine spline compression/stretch to 15%
2017-06-01 08:56:42 -07:00
David Rowe
47e65e942e
Gradually relax hands from controlled positions when lose tracking
2017-06-01 23:42:08 +12:00
David Rowe
95aab28e91
Disable unused code
...
Keep for future experimentation per other commented-out code in method
2017-06-01 18:13:57 +12:00
Anthony J. Thibault
d3ca34956d
Fix spline interpolation the wrong way when bending backward.
2017-05-31 16:58:17 -07:00
Anthony J. Thibault
cff42ab9b0
Working spline spline.
2017-05-30 19:01:52 -07:00
Anthony J. Thibault
d4dbd94a35
Compute defaultSpineSplineto defaultPose offset
2017-05-30 14:25:32 -07:00
Anthony J. Thibault
39c23bfe2f
revision of spine spline rotation calculation
2017-05-30 14:25:30 -07:00
Anthony J. Thibault
fc12d7547a
Addition of CubicHermiteSpline helper classes.
2017-05-30 14:25:29 -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
06c26f029a
Merge branch 'master' into feature/faster-ik-iterations
2017-05-23 09:10:17 -07:00
Andrew Meadows
7b879a7964
Model has a Rig rather than a RigPointer
2017-05-19 13:24:16 -07:00
Anthony J. Thibault
621d94eb91
removed temp comments
2017-05-19 10:38:16 -07:00
Anthony J. Thibault
e99001d86c
debug draw ik chains, bug fix for flex coef on tips
...
And opened up hip constraints.
2017-05-18 16:29:55 -07:00
Anthony J. Thibault
87adeb0565
apply flexCoeff to tip of joint chain as well.
2017-05-18 11:26:49 -07:00
Anthony J. Thibault
abe19310da
WIP: checkpoint of ik changes
2017-05-18 11:26:48 -07:00
Anthony J. Thibault
0018224fef
moar warning fixes
2017-05-17 16:23:39 -07:00
Anthony J. Thibault
78dd30f656
macosx warning fix
2017-05-17 15:22:39 -07:00
Anthony J. Thibault
be7a9a2383
warning fixes
2017-05-16 11:00:25 -07:00
Anthony J. Thibault
1e276d113c
Added support for weights per target
2017-05-15 09:26:24 -07:00
Anthony J. Thibault
67fbb15faa
WIP: initial implementation of flexCoefficients
2017-05-15 09:26:23 -07:00
Anthony J. Thibault
a14fa5dab9
code review feedback
2017-05-11 10:54:15 -07:00
Anthony J. Thibault
e63dc52ec9
moar warning fixes
2017-05-09 13:59:07 -07:00
Anthony J. Thibault
d7f195bc42
warning fix
2017-05-09 13:17:06 -07:00
Anthony J. Thibault
0bcc3c023e
warning fixes
2017-05-09 13:07:06 -07:00
Anthony J. Thibault
7b35e8c7fd
Bug fix for hands, reduced elbow angle to 60 degrees from horizontal.
2017-05-09 11:57:41 -07:00
Anthony J. Thibault
fe69f58174
Bug fix centerLimit rot for LeftArm, also, lower arms in centerLimit pose
...
Lowering the arms in centerLimit poses will help keep the elbows relaxed on the side of the body.
2017-05-09 09:47:26 -07:00
Anthony J. Thibault
5a4b21c0a9
Removed debug code
2017-05-08 18:10:56 -07:00
Anthony J. Thibault
84aa86b464
Added animVar support for IK solutionSource.
2017-05-08 18:07:45 -07:00
Anthony J. Thibault
2166d8c159
Added setSolutionSource to AnimInverseKinematics node.
2017-05-08 15:06:31 -07:00
Anthony J. Thibault
712fcbe27a
Removed cruft/debug code & comments
2017-05-08 15:06:30 -07:00
Anthony J. Thibault
7af93f9fea
Hooked up IK constraint rendering
2017-05-08 15:06:29 -07:00
Anthony J. Thibault
e992d6703a
WIP: debug render joint constraints.
2017-05-08 15:06:28 -07:00
Anthony J. Thibault
a260163aee
WIP commit, first pass at generating limit center joints + debug draw
2017-05-08 15:06:27 -07:00
Anthony J. Thibault
108cd80bb5
Merge branch 'master' into feature/head-standard-action
2017-04-28 10:41:29 -07:00
Anthony J. Thibault
c61e6a8a9e
AnimInverseKinematics: reduce number of magic constants
2017-04-27 18:24:21 -07:00
Anthony J. Thibault
764f6c69ea
Head input action will override the HMD for IK.
2017-04-27 17:39:25 -07:00
Anthony J. Thibault
1fc9f4c93d
Hips and Spine are routed thru input system properly
2017-04-25 17:22:47 -07:00
Anthony J. Thibault
dc19f37726
input/controller routing thru skeleton model and rig.
2017-04-25 15:04:47 -07:00
Anthony J. Thibault
4336e22f5a
clang warning fix
2017-04-24 17:06:02 -07:00
Anthony J. Thibault
937f308ba8
code cleanup
2017-04-24 17:04:16 -07:00
Anthony J. Thibault
8adbe34c27
added comment
2017-04-24 14:36:56 -07:00
Anthony J. Thibault
deca26e9eb
Fix for HMDHead tip constraint
2017-04-24 14:33:14 -07:00
Anthony J. Thibault
1cd0f03242
Restore master version of computeHipsOffset() and special case for HeadHMD target type
2017-04-24 14:19:06 -07:00
Anthony J. Thibault
dc3803a225
Re-enable IK _hipsOffset computation when no hips IK target is present.
2017-04-24 13:59:02 -07:00
Anthony J. Thibault
47e51493e8
dynamicallyAdjustLimits on the underPoses not the relaxed poses.
2017-04-24 09:56:10 -07:00
Anthony J. Thibault
22e79504bb
Elliptical swing targets for the spine, Bug fix for debug draw
2017-04-14 17:00:50 -07:00
Anthony J. Thibault
b49760cee2
Remove hand IK target collision with body capsule
2017-04-14 17:00:49 -07:00
Anthony J. Thibault
d464020577
Adjust min angle of knee constraint to prevent leg locks
2017-04-14 17:00:48 -07:00
Anthony J. Thibault
0ebaba7cf8
Now supports sensorConfig with hips and chest sensors
2017-04-14 17:00:46 -07:00
Anthony J. Thibault
adaf7dda7c
Check in viveMotionCapture test script.
2017-04-14 17:00:45 -07:00
Anthony J. Thibault
a10b157aff
First pass at having an explicit Hips IK target.
...
Also, AnimManipulator nodes support setting position and rotation on a single joint.
2017-04-14 17:00:44 -07:00
Stephen Birarda
e86db26224
Revert "fix relative/absolute path handling for external FBX textures"
2017-04-10 14:31:02 -07:00
Seth Alves
05bf1930ca
Merge pull request #10169 from hyperlogic/feature/absolute-default-joints-in-object-frame
...
Added accessor to get Avatar default pose in avatar space
2017-04-10 12:55:02 -07:00
Anthony J. Thibault
a06df1a400
Bug fix for passing quats from script to C++ via the animationStateHandler
2017-04-07 14:13:00 -07:00
Chris Collins
4e9e3cccea
Merge pull request #10116 from birarda/bug/rel-ext-textures
...
fix relative/absolute path handling for external FBX textures
2017-04-06 15:58:02 -07:00
Stephen Birarda
0b57b98970
change readFBX calls to use QUrl where possible
2017-04-04 14:53:14 -07:00
Anthony J. Thibault
c58fdb590a
Fix for sliding feet when leaning in HMD mode.
2017-04-04 11:00:34 -07:00
ZappoMan
53c439ffba
add foot IK targets as actions
2017-03-30 19:11:16 -07:00
Anthony J. Thibault
5eddd232b0
Fix for change from std::string to QString
2017-03-24 17:03:01 -07:00
Anthony J. Thibault
49a95089d1
Remove hacks for debug rendering of IK targets
...
A AnimContext class was introduced. This context is passed into every node during evaluation/overlay.
It holds non-animVar "global" data passed from the application.
(cherry picked from commit a028d3ba58
)
2017-03-24 16:27:27 -07:00
Anthony J. Thibault
dd17b2e2f3
Added developer option to draw IK targets in world.
...
(cherry picked from commit 7e7803c648
)
2017-03-24 16:20:52 -07:00
Triplelexx
c2cff55427
rename fronts to forwards
2017-03-22 18:41:06 +00:00
Triplelexx
b7980569cc
change all references of IDENTITY_FRONT to IDENTITY_FORWARD
2017-03-21 22:13:33 +00:00
Andrew Meadows
30d7ffb303
fix warning about signed unsigned compare
2017-03-08 17:17:49 -08:00
Andrew Meadows
5847f86db8
fix crash when unpacking too many joints
2017-03-08 16:12:03 -08:00
Atlante45
ff9d6d657c
Remove weighted offset, special case downward pressure
2017-03-06 19:41:08 -08:00
Ken Cooke
44c1f8500d
redo unsafe optimization
2017-03-04 15:55:53 -08:00
Andrew Meadows
a55ab94cd9
other avatars use jointData no Rig animation
2017-03-02 07:52:02 -08:00
Andrew Meadows
c6730f7c58
Merge pull request #9745 from AndrewMeadows/faster-avatar-updates
...
Faster avatar updates
2017-02-28 10:55:21 -08:00
Atlante45
e03368414e
CR
2017-02-27 18:57:44 -08:00
Atlante45
2d8b71810e
remove hips swing
2017-02-27 16:38:57 -08:00
Andrew Meadows
6991970044
relax lower spine for head IK when sitting
...
also: fix crash bug for bad parentJointIndex
also: reduce limit leakage for IK rotation
2017-02-27 16:38:57 -08:00
Atlante45
d9e2b3a20d
Remove lower spine constrain while sitting, losen head
2017-02-27 16:38:56 -08:00
Atlante45
fcc924ce8e
Add downward force on the hips to strech the spine.
2017-02-27 16:38:56 -08:00
Atlante45
36dc2dc49d
Compute spine length on skeleton load
2017-02-27 16:38:56 -08:00
Atlante45
e9316d30d0
More IK smoothing experimentation
2017-02-27 16:38:56 -08:00
Atlante45
8c232b5abb
Initialize max offset to infinity
2017-02-27 16:38:55 -08:00
Atlante45
187cd0d5cf
Get IK error and stand up based on it
2017-02-27 16:38:55 -08:00
Atlante45
6821c8621f
More sit work
2017-02-27 16:38:54 -08:00
Atlante45
cc5967e8f9
Pull part of the Out Of Body Exp code
2017-02-27 16:38:53 -08:00
Andrew Meadows
faa272c67c
don't blend animations for otherAvatars
2017-02-23 17:36:45 -08:00
Thijs Wenker
13b2b6086f
Fix recorder.js playback in interface
2017-02-21 19:47:26 +01:00
Atlante45
1201932ee9
Fix SSE2 macros for Macos
2017-02-14 14:10:53 -08:00
Andrew Meadows
08bba5f45f
add and remove some profile data points
2017-01-26 08:35:25 -08:00
Brad Davis
1dd2747ef9
Push some tracing into 'detail' categories for easy filtering. Add new tracing categories, add counter change tracking.
2017-01-10 10:44:04 -08:00
Brad Davis
4b4523579a
Fix mirrored animations
2017-01-02 14:41:35 -08:00
Brad Davis
171440f70b
PR feedback
2016-12-30 17:47:21 -08:00
Brad Davis
7b90d71205
Fix build
2016-12-28 13:23:05 -08:00
Brad Davis
3431db548f
Optimize AnimPose(glm::mat) ctor
2016-12-28 12:11:25 -08:00
Brad Davis
dc75894293
Cache more values in AnimSkeleton
2016-12-28 12:11:25 -08:00
Brad Davis
e5e9ab42ea
Encapsulate AnimPose members for easier optimizations
2016-12-28 12:11:24 -08:00
Andrew Meadows
e674be9c8c
fix animated entities
2016-12-27 15:15:11 -08:00
Andrew Meadows
4161775673
restore context around lock
2016-12-22 10:54:58 -08:00
Andrew Meadows
890e35e96e
cleanup unnecessary scope and swap if-check order
2016-12-21 15:37:23 -08:00
Andrew Meadows
3830649990
remove debugging and profiling
2016-12-21 10:55:59 -08:00
Andrew Meadows
b937eff582
more faster math copying JointData
2016-12-21 10:55:59 -08:00
Andrew Meadows
3f687887b9
faster math when unpacking JointData rotations
2016-12-21 10:55:59 -08:00
Andrew Meadows
8ab6974233
optimizations for processing avatar joint data
2016-12-21 10:55:59 -08:00
Brad Davis
30a9961362
tracing polish
2016-12-16 14:02:27 -08:00
Andrew Meadows
ee6a9f4506
adding profile stats relating to avatar CPU costs
2016-12-16 13:41:31 -08:00
Ryan Huffman
7bb2755913
Add chrome tracing support
2016-12-16 01:14:01 -08:00
Atlante45
3035d43772
Merge branch 'master' of https://github.com/highfidelity/hifi into fix/settings
2016-11-21 13:05:08 -08:00
Chris Collins
5b91c8f32b
Merge pull request #8984 from sethalves/fix-setLocalJointRotation-name
...
fix names of model-entity joint setters
2016-11-10 13:39:14 -08:00
Anthony J. Thibault
839b1a3c5e
Added some jsdoc comments to the C++ source
2016-11-09 18:09:10 -08:00
Seth Alves
51f6b5af78
code review
2016-11-05 10:35:21 -07:00
Anthony J. Thibault
1732448d3c
Added tools/skeleton-dump tool
...
Debug tool that prints out the skeleton hierarchy of fbx files including joint indices, bindPose and defaultPoses.
The verbose option also prints the full FBX transformation set, pre/post rotations etc.
2016-11-04 13:52:16 -07:00
Seth Alves
e41fa94958
implement RenderableModelEntityItem::setAbsoluteJointRotationInObjectFrame and RenderableModelEntityItem::setAbsoluteJointTranslationInObjectFrame
2016-11-04 11:42:31 -07:00
Andrew Meadows
c8d4146351
don't mirror eye animations
2016-10-28 17:08:43 -07:00
Atlante45
d5429e76da
Warnings fixes and cleanup
2016-10-12 10:20:19 -07:00
Brad Davis
ecfe56085d
GLM update and GLI integration
2016-09-09 10:18:15 -07:00
Andrew Meadows
2c8ab9b2b8
Merge pull request #8497 from hyperlogic/feature/improve-ik-quality
...
Raised max iterations for IK to 16 from 4
2016-08-25 15:06:11 -07:00
Anthony J. Thibault
1e95e067c0
warning fixes for llvm/gcc
2016-08-24 15:46:55 -07:00
Anthony J. Thibault
e1f7dfc4e1
Raised max iterations for IK to 16 from 4
...
* IK now returns early if solution is "good enough"
* IK now has nsight markers for profiling
2016-08-22 10:34:56 -07:00
Seth Alves
87dbfa7e47
add -Wsuggest-override to compile flags and deal with fallout
2016-08-18 09:51:41 -07:00
Anthony Thibault
3b14988577
Fix another crash if "Hips" joint is not found.
2016-07-22 16:27:43 -07:00
Anthony Thibault
a43e9a5710
Fix for crash on avatars with missing "Hips" joint
2016-07-22 16:00:40 -07:00
Anthony J. Thibault
837b19ed1b
fix for pushing avatar into floor when exiting away mode.
...
* Removed MyAvatar.reset() access from JavaScript
* Added HMD.centerUI() to JavaScript, which can be used to reset the 3D UI sphere around the current HMD orientation.
* Added MyAvatar.clearIKJOintLimitHistory() which can be used to reset any remembered IK joint limit history.
* Added MyAvatar.centerBody() which can be used to instantly re-orient the avatar's so that the hips and toes
are facing the same direction as the current HMD orientation.
away.js now uses the above new API's instead of MyAvatar.reset()
2016-07-19 14:42:24 -07:00
SamGondelman
caf4a9fa34
got rid of comparison warning
2016-06-17 14:17:32 -07:00
SamGondelman
59b785a33b
trying to debug
2016-06-15 16:55:34 -07:00
Anthony J. Thibault
9292a9ce0b
Added MyAvatar.hmdLeanRecenterEnabled property
...
Used to disable the 'room-scale' avatar re-centering code.
Disabling this can prevent sliding when the avatar is supposed to be sitting or mounted on a stationary object.
Also, removed a bunch of old, unused leaning and torso twisting code.
2016-06-03 13:56:32 -07:00
Brad Hefta-Gaub
06cb625d09
Merge pull request #7959 from hyperlogic/tony/improved-avatar-mixer-precision
...
Improved Avatar Mixer Rotation Precision
2016-05-25 17:14:12 -07:00
Seth Alves
40e862cf9e
quiet gcc 5 warnings
2016-05-21 16:53:01 -07:00
Anthony J. Thibault
a251b9e3df
Moved translations back into parent relative frame.
2016-05-16 17:48:54 -07:00
Anthony J. Thibault
d86a608825
Properly convert from absolute rig frame to relative geom frame
2016-05-16 17:48:53 -07:00
Anthony J. Thibault
36c175d4cc
Ensure that JointData is in the absolute rig coordinate frame.
2016-05-16 17:48:52 -07:00
Anthony J. Thibault
55b0060df9
Convert JointData from relative frame to absolute.
2016-05-16 17:48:52 -07:00
Anthony J. Thibault
80a349c65b
Merge branch 'master' into tony/improved-avatar-debug-draw
2016-05-10 14:50:13 -07:00
Zach Pomerantz
09d879e19f
Remove delayLoad
2016-05-09 18:09:48 -07:00
Anthony J. Thibault
641e152699
Eye tracking bug fix and debug rendering improvement
...
* Bug fix for eye tracking in HMD, the "up" orientation of your eyes now match your head.
* DebugDraw: added drawRay method.
* Application: Renamed preRender to postUpdate
* AvatarManager: added postUpdate method that iterates over all avatars.
* MyAvatar: Renamed preRender to preDisplaySide
* MyAvatar: split preRender code into postUpdate and preDisplaySide.
* Removed "Show who is looking at me", "Render focus indicator" and "Render lookat target" debug draw.
* Split "Show Look At Vectors" into "Show My Look At Vectors" and "Show Other Look At Vectors", to make it easier to debug eye tracking.
* "Show Look at Vectors" now draws the right eye red and the left eye blue.
* Removed Avatar and MyAvatar renderBody
* Removed look at rendering from head.
* GLMHelpers: Bugfix for generateBasisVectors when up primary and secondary axis were orthogonal
2016-05-08 16:20:32 -07:00
Brad Hefta-Gaub
49d02b802a
Merge pull request #7719 from zzmp/feat/resource-prefetch
...
Add prefetching to exposed caches
2016-05-02 18:04:26 -07:00
Andrew Meadows
9c0aeb9b81
remove cruft
2016-04-27 16:58:13 -07:00
Zach Pomerantz
bc8a171fde
Merge branch 'master' of github.com:highfidelity/hifi into feat/resource-prefetch
2016-04-27 11:55:24 -07:00
Brad Hefta-Gaub
79a1e6264e
Merge pull request #7714 from hyperlogic/tony/default-anims-are-local
...
Avatar animations are now stored locally
2016-04-22 13:44:30 -07:00
Zach Pomerantz
e3131d2098
Rm prefetchAnimation from avatar/rig
2016-04-20 20:14:15 -07:00
Zach Pomerantz
948af75f8a
Transfer loaded resources with smart ptrs to avoid shutdown deadlock
2016-04-20 13:00:35 -07:00
Anthony J. Thibault
8e5785cdf8
Avatar animations are now stored locally
...
Improves FTUE, by no longer going over the network to download default avatar animations.
This also includes support for relative animation urls within the animation.json
2016-04-19 16:11:14 -07:00
Zach Pomerantz
fc61f85bf9
Merge pull request #7698 from hyperlogic/tony/avatar-on-load-complete-callback
...
Added MyAvatar onLoadComplete Callback
2016-04-19 10:36:20 -07:00
Anthony J. Thibault
1f383680aa
Rig: removed unnecessary emitOnLoadComplete method
2016-04-18 13:35:13 -07:00
Omega Hereon [J.L.]
b3b58b8176
Fix instances of error: isnan was not declared in this scope with GCC5.3/Ubuntu 16.04
...
In all but these 3 files isnan is glm::isnan
2016-04-18 18:45:15 +00:00
Anthony J. Thibault
1682598be7
Added onLoadComplete signal to MyAvatar
...
This can be used in javaScript to detect when the model has finished loading because the url has changed or the model has been reset.
2016-04-18 11:37:02 -07:00
Joe Large [Omega Heron]
be208ba682
Revert "Correct references to isnan to glm::isnan for compat with Ubuntu 16.04/GCC 5.3"
...
Moving this to a branch.
This reverts commit b88fc62b97
.
2016-04-16 18:24:50 -04:00
Joe Large [Omega Heron]
b88fc62b97
Correct references to isnan to glm::isnan for compat with Ubuntu 16.04/GCC 5.3
2016-04-16 17:46:37 -04:00
Brad Hefta-Gaub
a7b5ea50d7
Merge pull request #7670 from hyperlogic/tony/validate-anim-state-handler-args
...
Validate arguments to MyAvatar.addAnimationStateHandler()
2016-04-15 14:26:22 -07:00
Anthony J. Thibault
38418d0169
Moved isListOfStrings into shared/ScriptValueUtils
...
Also fixed some single line ifs.
2016-04-15 13:47:30 -07:00
Howard Stearns
e4f8a67e60
Merge pull request #7649 from hyperlogic/tony/simplify-away-mode
...
away.js: fix for permanent disabling avatar IK
2016-04-15 13:35:14 -07:00
Brad Hefta-Gaub
21f30f1a10
Merge pull request #7672 from zzmp/fix/name-caches
...
Name exposed cache objects
2016-04-14 18:02:36 -07:00
Zach Pomerantz
bb02af793c
Name exposed cache objects
2016-04-14 17:00:18 -07:00
Anthony J. Thibault
253e4cbb73
validate arguments to MyAvatar.addAnimationStateHandler()
...
Also validate arguments to MyAvatar.removeAnimationStateHandler() and the return result from the user provided callback function.
2016-04-14 16:25:17 -07:00
Anthony J. Thibault
a1bbb63ec4
Rig: save and restore user animations across resets
2016-04-12 14:51:17 -07:00
Atlante45
05895f628a
Revert to using a Resource
2016-04-12 13:51:11 -07:00
Atlante45
5eb4f63573
Use ResourceManager in anim loader
2016-04-12 13:51:11 -07:00
Atlante45
afdfef1482
Make sure we don't use raw resource ptr
2016-04-12 13:51:11 -07:00
Zach Pomerantz
9d3abe5513
Release texs when models are cached
2016-03-31 17:02:40 -07:00
Anthony J. Thibault
80dfed77d7
Fix for flickering eyeballs
...
Calling glm::axis() on an identity quaternion does not result in a normalized vector.
This vector was used within Rig::updateEyeJoint() to limit the rotation of the eye balls,
to prevent the eyes from rolling back into the avatar's head.
If the avatar was looking straight ahead, this could result in bad quaternions in the eye ball
joint matrices, which in turn would cause the eye ball mesh or any mesh influenced by the eyeball joints
not to render.
2016-03-29 10:01:10 -07:00
Anthony J. Thibault
b4e70d9101
WIP: checkpoint
...
* bug fix in AABox::operator+=
* added AABox::emiggen
* Avatar now has a default bound for it's skinned mesh.
* WIP: AABox tests; NEED MORE
* Model: split collision and model mesh render items.
Because ModelMeshRenderItems need special handling to update bounds for animated joints.
* Model: dynamically update the bound for rigidly bound animated meshes
* Rig: added access to geometryToRigTransform
* RenderableModelEntityItem: try to update bounds for skinned mesh to be the entity dimentions (this doesn't seem to be working)
* Geometry.cpp: removed unused bounds parameter in evalPartBounds
* ModelMeshPartPayload: bounds updating
* non-animated: use existing _localBound
* rigid bound mesh: use _localBound transformed by clusterMatrix joint transform
* fully skinned mesh: use _skinnedMeshBound provided by the application.
2016-03-25 21:29:20 -07:00
Zach Pomerantz
aad40f5de0
Drop network data after processing
2016-03-25 09:58:34 -07:00
Brad Davis
0ac70049c7
Merge pull request #7431 from hyperlogic/tony/vive-rendering-work
...
OpenVR rendering & Nsight instrumentation improvements
2016-03-24 17:44:30 -07:00
Ozan
003af03b33
Merge pull request #7400 from Menithal/default-use-pre-post
...
Set UserAnimPreAndPostRotations true by Default
2016-03-24 09:57:03 -07:00
Anthony Thibault
50ac101d56
Avatar and Rig NSIGHT instrumentation
2016-03-22 10:36:32 -07:00
Anthony J. Thibault
df5afffc77
AnimUtil: prevent accumulateTime from looping forever
...
This might happen with large dts, large timeScales.
2016-03-21 11:58:13 -07:00
Menithal
cdbb7b2ad4
Set UserAnimPreAndPostRotations true by Default
...
If Blender avatars are animated by Blender animations, they have missing
Pre and Post rotations. This step is no longer necessary to have false,
and also makes sure all animations from Blender Work on all avatars (from
other platforms).
This commit make it default to be enabled:
2016-03-19 12:49:57 +02:00
Andrew Meadows
e81e49b32e
prevent crash in SwingTwistConstraint
2016-03-18 15:59:25 -07:00
Brad Hefta-Gaub
447918d148
Merge pull request #7348 from hyperlogic/tony/cppcheck-fixes
...
Avatar & Animation cppcheck static analysis fixes
2016-03-14 18:58:25 -07:00
Anthony J. Thibault
16a57bda81
SwingTwistConstriant: fix for bad index.
2016-03-14 17:30:53 -07:00
Anthony Thibault
9f30556084
libraries/animation: cppcheck fixes
...
* Fix for potential bug in AnimLoop due to _maxFrameIndexHint being uninitialized.
* made more single argument constructors explicit.
2016-03-13 17:17:34 -07:00
Anthony Thibault
11fcf00b2a
AnimSkeleton.h: made single argument ctors explicit
2016-03-13 16:55:34 -07:00
Anthony Thibault
02b2281def
AnimVarient.h: cppcheck fixes
...
* make all constructors explicit.
* remove static string comparison in assert.
2016-03-13 16:51:57 -07:00
Andrew Meadows
48efbba335
use dynamic constraints for IK
2016-03-11 14:47:48 -08:00
Andrew Meadows
c9f988d340
dynamic adjustment for twist
2016-03-11 14:47:47 -08:00
Andrew Meadows
4b75144797
remove debug cruft
2016-03-11 14:47:47 -08:00
Andrew Meadows
749dcf2c1d
dynamic adjustment for swing
2016-03-11 14:47:47 -08:00
Andrew Meadows
6ebb94b1f4
minor API cleanup of SwingLimitFunction API
2016-03-11 14:47:47 -08:00
Andrew Meadows
df9ccf76ab
fix animation-tests
2016-03-11 14:47:47 -08:00
Anthony J. Thibault
9351d5edca
Rig: warning fix & comments
2016-03-10 12:55:01 -08:00
Anthony J. Thibault
4a78300607
MyAvatar: Allow user to raise hands directly overhead.
...
Previously we were using a infinitely tall vertical cylinder
to push hand IK targets out of the body, this had the
side-effect of preventing the hands from being raised over
the head. Now, we collide against the same 3d capsule
used by the physics system for avatar collisions.
2016-03-10 10:20:17 -08:00
Zach Pomerantz
54af58834a
Mark Resource loaded after postprocessing
2016-03-09 10:34:07 -08:00
Chris Collins
7850ca3576
Merge pull request #7227 from hyperlogic/tony/eye-look-at-fixes
...
Avatar eye look at fixes for HMD and desktop
2016-03-07 11:50:16 -08:00
Andrew Meadows
c06d76f7f0
remove twist constraints on hands
...
also tighten swing limit on shoulder
2016-03-04 10:56:29 -08:00
Anthony J. Thibault
3cde972174
Rig: issue warnings for missing joints
...
Also, Removed Rig::computeEyesInRigFrame, it was causing warnings because it was looking up
Eye and Head joints for all models, not just avatars.
2016-03-01 11:07:22 -08:00
Anthony J. Thibault
460582239a
Avatar eye look at fixes for HMDs
...
There were three things that were causing issues with eye look at vectors while wearing an HMD.
1) The matrix returned by AvatarUpdate->getHeadPose() was in the wrong space, it should be in avatar space.
it was actually returning a matrix in sensor/room space.
2) The lookAtPosition was incorrect while wearing an HMD and with no avatars to look at.
3) The eye rotation limits in Rig::updateEyeJoint were relative to the model's zero orientation, NOT relative to the head.
this was causing the eyes to hit limits when the avatar head turned.
2016-02-29 18:02:50 -08:00
Anthony J. Thibault
613b60658e
Rig: prevent normalization of a zero vector
2016-02-18 10:24:36 -08:00
Anthony J. Thibault
73ac47724a
Rig: Prevent the hand IK targets from entering the body.
...
Use a 2d circle/circle intersection test to keep the hands outside of the body.
2016-02-17 16:23:18 -08:00
Anthony J. Thibault
3426173d1d
AnimInverseKinematics: open up shoulder swing constraint.
2016-02-17 11:44:11 -08:00
Anthony J. Thibault
2d1304e070
AnimInverseKinematics: use glm::clamp for clarity.
2016-02-16 18:00:45 -08:00
Anthony J. Thibault
b5a72225db
AnimInverseKinematics: renamed variable for extra style points
2016-02-16 17:42:51 -08:00
Anthony J. Thibault
df21fffa4a
AnimInverseKinematics: fix for extra twist in lowerSpine joints.
...
* When computing tipPosition, for the next iteration of the CCD,
use the leverArm before it's projected onto the lowerSpine twist axis.
* fix for acos() that was going outside of valid domain. (-1.0, 1.0)
2016-02-16 17:31:39 -08:00
Andrew Meadows
d6a716a1aa
only head and torso for bounding capsule radius
2016-02-15 10:29:29 -08:00
Seth Alves
af6bb50f74
fix warning
2016-02-10 12:09:28 -08:00
Seth Alves
6fea0b9396
also make sure tau is >= 1.0
2016-02-10 11:20:56 -08:00
Seth Alves
b3b053ce18
if delta-time is more than 1/30th of a second, clamp it to avoid crazy ik induced orbits when main thread is blocked
2016-02-10 09:52:29 -08:00
Seth Alves
43592fd699
Merge pull request #7048 from hyperlogic/tony/avatar-on-moving-platform
...
Better avatar animation when attached to a moving entity
2016-02-09 14:30:02 -08:00
Brad Davis
7d99f9e72f
PR comments
2016-02-09 10:16:44 -08:00
Brad Davis
421160eeb6
Make the file parsing threads run at lower priority
2016-02-08 23:55:02 -08:00
Anthony J. Thibault
2667fe3c24
Merge branch 'master' into tony/avatar-on-moving-platform
2016-02-08 14:32:46 -08:00
Anthony J. Thibault
20a38f613e
Rig: remove position delta based velocity.
...
In general, the physics body velocity is MUCH more behaved now.
2016-02-08 14:30:28 -08:00
Philip Rosedale
63afa8c1ed
Merge pull request #7040 from hyperlogic/tony/landing-animation
...
MyAvatar: added standing and run landing animations
2016-02-08 11:38:12 -08:00
Brad Hefta-Gaub
eebf6f8883
Merge pull request #7021 from hyperlogic/tony/animation-mirror-support
...
AnimClip: Animation mirror support
2016-02-05 19:25:01 -08:00
Anthony J. Thibault
d24a024726
MyAvatar: added standing and run landing animations
2016-02-05 17:53:50 -08:00
Anthony J. Thibault
bfeace78f7
AnimInverseKinematics: warning fixes
2016-02-04 18:51:48 -08:00
Anthony J. Thibault
51189cfc50
AnimInverseKinematics: opened up UpLeg and Leg constraints
...
This improves the quality of the jump animations, while IK is enabled.
2016-02-04 17:56:41 -08:00
Anthony J. Thibault
8ca8550f26
MyAvatar: Standing Takeoff and In-Air Animations
...
Now there are two sets of of jump takeoff and in-air animations.
* Run - Used when the character jumps or falls with a small forward velocity.
* Standing - Used when the character jumps or falls in-place or backward.
CharacterController
* increased takeoff duration to 250 ms
* increased takeoff to fly duration to 1100 ms
* added standing jump and in-air animations
* added 250 milisecond delay between ground and hover, to prevent going into hover when walking over cracks.
* take-off to in-air transitions now use the new snapshotPrev interp type for a smoother tweening.
2016-02-04 17:56:07 -08:00
Anthony J. Thibault
a8e092272c
AnimStateMachine: added new State parameter interpType
...
interpType defines how the interpolation between two states is performed.
* SnapshotBoth: Stores two snapshots, the previous animation before interpolation begins and the target state at the
interTarget frame. Then during the interpolation period the two snapshots are interpolated to produce smooth motion between them.
* SnapshotPrev: Stores a snapshot of the previous animation before interpolation begins. However the target state is
evaluated dynamically. During the interpolation period the previous snapshot is interpolated with the target pose
to produce smooth motion between them. This mode is useful for interping into a blended animation where the actual
blend factor is not known at the start of the interp or is might change dramatically during the interp.
2016-02-04 10:32:58 -08:00
Andrew Meadows
861082964e
Merge pull request #7017 from hyperlogic/tony/fly
...
MyAvatar: Improved Jump / InAir / Fly behavior
2016-02-03 12:22:30 -08:00
Stephen Birarda
93530fca72
fix the last of the current override warnings for OS X
2016-02-03 11:08:41 -08:00
Anthony J. Thibault
03d5bc885b
AnimClip: added mirrorFlag anim var
2016-02-02 17:10:15 -08:00
Anthony J. Thibault
e6abc026c8
AnimClip: mirror animation support
2016-02-02 17:02:29 -08:00
Anthony J. Thibault
656608e2ff
Fixes for away.js
2016-02-02 12:08:52 -08:00
Anthony J. Thibault
47f3ce3786
CharacterController jump is more reliable.
2016-02-02 11:26:16 -08:00
Anthony J. Thibault
2936811484
Added takeoff animation, WIP
...
Character controller still has some jump/in-air bugs.
2016-02-02 11:26:15 -08:00
Anthony J. Thibault
61c55ebf6c
Updated character controller with a state enumeration
...
Also, adjusted checkForSupport logic such that very slanted walls are not considered support.
2016-02-02 11:26:15 -08:00
Anthony J. Thibault
e9fd439ffd
Added inAir animations
2016-02-02 11:23:46 -08:00
Andrew Meadows
71664dffae
change string comparisons to be CaseSensitive
2016-02-01 09:50:01 -08:00
Andrew Meadows
de54a0ac4b
remove cruft
2016-01-29 14:51:24 -08:00
Andrew Meadows
14ec1b6295
reduce hand IK coupling to hip position
2016-01-29 14:28:56 -08:00
Andrew Meadows
a98459dfa8
minor IK optimization: changed accumulators only
2016-01-29 14:28:56 -08:00
Andrew Meadows
449d566d2a
properly track lowestMovedIndex
2016-01-29 14:28:56 -08:00
Andrew Meadows
48f6a9c05f
fix IK looping error after minor refactor
2016-01-29 14:28:56 -08:00
Andrew Meadows
7b3f688a17
pull CCD IK solution pass into protected method
2016-01-29 14:28:56 -08:00
Andrew Meadows
1b45f5cc0c
tweaks to neck and spine constraints
2016-01-27 14:45:09 -08:00
Andrew Meadows
f67a20ee68
apply _hipsOffset in hips local-frame
2016-01-27 14:45:08 -08:00
Andrew Meadows
00715f1906
apply "hips offset" to root of state graph
...
(Somemtimes the hips are not the root.
I'm looking at YOU blender!)
2016-01-27 14:45:06 -08:00
Anthony Thibault
3cdd88e06c
Merge pull request #6951 from ZappoMan/fixAnimationRestart
...
fix for animations stopping after domain restart
2016-01-27 14:31:27 -08:00
Howard Stearns
0d257b82fa
Merge pull request #6934 from hyperlogic/tony/anim-pre-post-rot-support
...
Avatar Developer Menu: added animation debug options
2016-01-27 10:39:25 -08:00
Brad Hefta-Gaub
f178fc789c
fix for animations stopping after domain restart
2016-01-26 18:44:34 -08:00
Anthony J. Thibault
33993b8c44
AnimClip: removed unused static member.
2016-01-26 13:34:21 -08:00
Anthony J. Thibault
69d833a6c0
AnimClip: consistent application of translations
...
Apply animation translation the same way regardless of state of usePreAndPostPoseFromAnimation.
2016-01-26 10:53:21 -08:00
U-GAPOS\andrew
2728290ffb
fix bug in IK and tune head/neck constraints
2016-01-26 09:37:33 -08:00
Anthony J. Thibault
3b062b7a31
AnimClip: special case the translation on the eyes
2016-01-25 18:52:14 -08:00
Anthony J. Thibault
3cee3cbb5a
Avatar Developer Menu: added animation debug options
...
This options are for for developers only and might help debug animation related issues.
* Enable Inverse Kinematics: this can be toggled to disable IK for the avatar.
* Enable Anim Pre and Post Rotations: this option can be used to use FBX pre-rotations from source avatar animations, instead of the current default, which is to use them from the source model.
This only effects FBX files loaded by the animation system, it does not affect changing model orientations via JavaScript.
2016-01-25 18:52:13 -08:00
Anthony J. Thibault
1bdeeeceeb
AnimSkeleton: Added getPre and Post rotation accessors
2016-01-25 18:52:12 -08:00
Anthony J. Thibault
7af20e90c8
Hooked up fly animation to json and Rig
2016-01-22 13:47:09 -08:00
Anthony J. Thibault
cac19b8579
grab animation work
...
Hand animations now have 5 states:
* idle
* open
* grasp
* point
* farGrasp
The handControllerGrab.js script now chooses one of these five animations, based on the state of the HandController object.
Also, removed hand trigger AnimVar setting from C++ Rig class.
2016-01-07 19:36:57 -08:00
Anthony J. Thibault
3e6ff0eb68
Moved hand animation control into grab script.
2016-01-05 19:56:56 -08:00
Brad Hefta-Gaub
02835fc960
Merge pull request #6702 from hyperlogic/tony/soft-attachments
...
Soft Attachment Support
2016-01-03 08:46:16 -10:00
Brad Davis
76eba89f7d
Merge pull request #6745 from hyperlogic/tony/neuron-plugin
...
Support for Perception Neuron
2015-12-30 11:39:32 -05:00
Andrew Meadows
ec27c75332
Merge pull request #6660 from hyperlogic/tony/anim-expressions
...
AnimExpression: boolean expression parser and evaluator
2015-12-30 08:36:44 -08:00
Anthony J. Thibault
c2dd00375d
Merge branch 'master' into tony/soft-attachments
2015-12-29 13:21:37 -08:00
Anthony J. Thibault
6afe3bae5e
Copy Neuron joints into controller poses
...
This makes the accessible for controller mapping and to JavaScript.
Added 'neuronAvatar.js' as an example of reading joints from the neuron and setting them
on the avatar. NOTE: the rotations are currently in the wrong coordinate frame.
2015-12-22 17:21:33 -08:00
Andrew Meadows
aa3d1c6e4c
Merge pull request #6680 from hyperlogic/tony/windmill-anim-fix
...
ModelEntityItem: Fix for incorrect animations with preTranslations
2015-12-18 14:16:35 -08:00
Anthony J. Thibault
6b5b272cd7
Added SoftAttachmentModel class.
...
Is a subclass of Model, it overrides the updateClusterMatrices so it will pull
the actual joint matrices from a different rig override.
For the avatar soft attachment system, this override will be the Avatar::_skeletonModel rig.
This will give us the ability for an avatar to "wear" non-rigid attachments, such as clothing.
2015-12-18 09:52:11 -08:00
Anthony J. Thibault
3b1ba67a88
ModelEntityItem: Fix for incorrect animations with preTranslations
...
ModelEntities that were playing animations on models with local pivot offsets were not working correctly.
Specifically, the windmill animation in the demo domain.
We now compose a matrix containing all of the FBX's preTranslation, preRotation and postTranformations.
2015-12-16 17:08:22 -08:00
Anthony J. Thibault
30480f126b
Improved idle to walk forward transition
...
Hooked up a transition animation from idle to walk in the animation json.
Also fixed a bug in the AnimBlendLinearMove which was preventing the interpolation
into idle from being correct.
2015-12-15 17:26:17 -08:00
Anthony J. Thibault
ab85e2967a
AnimExpression: support for unary not.
2015-12-15 13:18:30 -08:00
Anthony J. Thibault
22756d168b
Changed grammar to support boolean and and or.
2015-12-15 10:35:35 -08:00
Anthony J. Thibault
2b0ed55077
Merge branch 'master' into tony/anim-expressions
2015-12-15 10:35:19 -08:00
Anthony J. Thibault
3f0cdb3c02
Merge branch 'master' into tony/js-avatar-default-pose
2015-12-14 11:19:24 -08:00
Atlante45
d3224bfde3
More warning fixes
2015-12-11 16:03:44 -08:00
Atlante45
da63357254
More warning fixes
2015-12-11 15:42:15 -08:00
Atlante45
ce51350b65
Fix warnings on windows 64bit
2015-12-11 15:42:15 -08:00
Howard Stearns
dfec222c81
Report animation triggers to normal javascript animationStateHandlers, and update away.js as an example.
2015-12-10 20:39:01 -08:00
Anthony J. Thibault
652ce5501f
Expose Avatar default pose to JavaScript
...
New JavaScript API to get the avatar's default pose.
MyAvatar.getDefaultJointRotation(index);
MyAvatar.getDefaultJointTranslation(index);
See `examples/tPose.js` for example usage
2015-12-10 13:57:31 -08:00
Seth Alves
f99812a903
adjust method names to fit convention
2015-12-07 14:31:08 -08:00
Anthony J. Thibault
fd4ed29405
MyAvatar.clearJointData bug fix
...
MyAvatar.setJointRotation() now works properly after MyAvatar.clearJointData()
2015-12-07 09:03:40 -08:00
Seth Alves
a948ae5f19
children of avatar joints might be right, now
2015-12-06 10:48:00 -08:00
Anthony J. Thibault
7abfc93ff9
Avatar::getJointRotation and getJointTranslation is thread-safe
...
It can be called from script with minimal blocking,
because it inspects a copy of the joint values from the Rig, which is updated atomically.
This copy occurs in Rig::updateAnimations()
2015-12-04 16:16:17 -08:00