Commit graph

577 commits

Author SHA1 Message Date
Zach Pomerantz
948af75f8a Transfer loaded resources with smart ptrs to avoid shutdown deadlock 2016-04-20 13:00:35 -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