Commit graph

872 commits

Author SHA1 Message Date
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
Anthony J. Thibault
a1c32f8c44 Merge branch 'master' into tony/improved-avatar-mixer-precision 2016-05-23 10:24:52 -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
Atlante45
0878d87ac7 remove some unnecessary dependencies 2016-05-14 14:50:02 -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