Commit graph

67 commits

Author SHA1 Message Date
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
d774dc2060 WIP Only use conical frustums on the server 2018-05-03 18:19:29 -07:00
Anthony J. Thibault
0469eafbe4 Switch between dualQuats and matrix skinning based on model entity scale factor. 2018-02-22 18:35:16 -08:00
Andrew Meadows
3d3bfcf7a3 check dirty flags when harvesting physics results 2018-01-18 17:43:22 -08:00
samcake
771c64fc97 Working on the selection highlight js interface 2017-11-15 18:21:07 -08:00
Anthony J. Thibault
09c61deda8 Fixes for Vive puck calibration 2017-09-20 15:41:49 -07:00
Brad Davis
8130a91b8c Cleanup entity dependencies 2017-06-27 19:15:49 -07:00
Brad Davis
2d0bbf70ae Migrate core avatar rendering functionality to library 2017-05-04 14:08:59 -07:00
Anthony J. Thibault
dc19f37726 input/controller routing thru skeleton model and rig. 2017-04-25 15:04:47 -07:00
Triplelexx
b7980569cc change all references of IDENTITY_FRONT to IDENTITY_FORWARD 2017-03-21 22:13:33 +00:00
Ken Cooke
0bababf1f5 Safe replacement of glm_mat4_mul() for unaligned arguments instead of __m128 2017-03-04 14:53:07 -08:00
Anthony J. Thibault
bcd31e3d99 Adjust size and offset of grab balls to better align with hand controllers.
(cherry picked from commit d97a8c2e7eace2494d3142e8187022a33aedc060)
2016-10-19 15:59:26 -07:00
Brad Davis
ecfe56085d GLM update and GLI integration 2016-09-09 10:18:15 -07:00
Brad Davis
21d2c977a3 Remove roll from cursor in HMD 2016-06-28 18:30:07 -07:00
Anthony J. Thibault
818d1f4601 Added six byte quaternion compression routines & tests 2016-05-16 17:48:54 -07:00
Andrew Meadows
4d7efbc43f faster isNaN() and friends 2016-04-14 11:18:10 -07:00
Seth Alves
69bb0ebd74 Revert "faster kinematic motion for entities" 2016-04-04 16:11:54 -07:00
Andrew Meadows
e1602b57fa faster isNaN checks 2016-04-01 13:14:03 -07:00
Anthony J. Thibault
5eeb4ca594 Fix one frame lag controller lag/jitter
Move userInputMapper->update() after inputPlugin->pluginUpdate().
2016-03-11 09:28:25 -08:00
Anthony J. Thibault
0d62b10a8f Added Mat4 support to script
Also, hooked up MyAvatar.sensorToWorldMatrix access to script.
2016-03-07 16:16:14 -08:00
Anthony J. Thibault
111ed65bf8 Controller Pose values are relative to Avatar.
Pass a InputCalibrationData to each inputPlugin and inputDevice.
This contains the most up sensorToWorldMatrix, avatarMat and hmdSensorMatrix.
Each input plugin can use this data to transform it's poses into Avatar space
before sending it up the chain.

This fixes a bug in the handControllerGrab.js script that relied on the hand controller
rotation/positions being in the avatar frame.
2016-02-11 17:18:01 -08:00
Anthony J. Thibault
8bfa80d5fc Merge remote-tracking branch 'upstream/master' into tony/hmd-recenter-on-rotation 2016-01-22 13:37:43 -08:00
Seth Alves
2633cb1f27 rename NaN functions for vec3 and quat 2016-01-22 11:54:24 -08:00
Seth Alves
a9cf836cb0 added isVec3NaN and isQuatNaN functions 2016-01-22 11:13:55 -08:00
Anthony J. Thibault
a91c181a89 MyAvatar: Recenter when the head turns away from the hips
Compute HMD facing moving average.
When the moving average diverges from the hips by more then 45 degrees, recenter the body.

Also, the follow code has been changed, instead of a follow velocity being passed to the CharacterController
a desired target is passed.  The CharacterController homes toward it's target based on the time remaining.
Any follow deltas applied to move the avatar's position closer to it's target is stored and re-applied
to the bodySensorMatrix.  This centralizes the moving/homing code to one place, the CharacterContoller.

A new FollowHelper class was also introduced, it groups together the data and logic necessary to perform the
re-centering/follow procedure.  This "hopefully" makes it easier to maintain.
2016-01-21 16:38:42 -08:00
Anthony J. Thibault
2b0ed55077 Merge branch 'master' into tony/anim-expressions 2015-12-15 10:35:19 -08:00
Atlante45
1d513cfbba Merge branch 'master' of https://github.com/highfidelity/hifi into particle 2015-12-09 15:09:19 -08:00
Atlante45
bd23a4137e Move toGlm to GLMHelpers 2015-12-03 15:01:17 -08:00
Anthony J. Thibault
710ce7e639 Merge branch 'master' into tony/anim-expressions 2015-12-03 09:56:28 -08:00
Anthony J. Thibault
14189ac909 Move Y_180 flip rotation out of Rig
This Y_180 flip is defined in skeletonModel not in the rig.
This is important if we wish to use the Rig for both Avatars (180 flip) and Entity models (no 180 flip).

We can hide this 180 flip from script, if we wish, by including it in all the accessors to and from
MyAvatar -> skeletalModel -> Rig.

Added Quaternions::Y_180 to GLMHelpers.
2015-11-23 19:31:27 -08:00
Anthony J. Thibault
54408a9c87 AnimVars are now in avatar/rig space
This makes it much simpler for code out side of the rig to manipulate AnimVars

* Removed mat4 type from AnimVars
* AnimVariantMap now has a _rigToGeometryTransform matrix
  used to transform positions and rotations into the correct coordinate frame.
* Moved AnimPose code to extract a quat from a scaled matrix into GLMHelpers
2015-11-20 18:29:17 -08:00
Atlante45
118d05d824 Use a clearer function 2015-11-11 17:24:50 -08:00
Anthony J. Thibault
04d8a598da First step toward evaluation
* added OpCodes
* added first parser rules
* removed mat4 support from AnimVariantMap
2015-11-04 16:56:34 -08:00
Anthony J. Thibault
5cd2786c1d First pass at Rig timeScaling and blending between slow, walk and run. 2015-10-20 16:37:05 -07:00
Seth Alves
ddeed8b4ee code review 2015-09-29 06:51:24 -07:00
Seth Alves
50dd8eba45 Relay joint translations across network. Apply animation's root-joint translation to avatar. 2015-09-26 11:40:39 -07:00
David Rowe
d063f3488d Back out fromSpherical code addition 2015-09-24 19:14:26 -07:00
David Rowe
12e2cf3ce9 Emit in all directions from a point or the surface of a spheroid 2015-09-17 17:14:35 -07:00
Anthony J. Thibault
3716d5612b Merge branch 'master' into ajt/new-anim-system 2015-09-03 19:20:06 -07:00
Brad Davis
8dc3905767 Add common vector constants to JS, add some missing quaternion functionality 2015-09-03 11:51:35 -07:00
Brad Davis
08e4fe2dc2 Revert "Add common vector constants to JS" 2015-08-28 16:26:56 -07:00
Brad Davis
2aa1976b5d Add common vector constants to JS, add some missing quaternionin functionality 2015-08-28 13:05:39 -07:00
Anthony J. Thibault
b7a9b54628 Better AnimDebugDraw rendering 2015-08-26 16:42:08 -07:00
Anthony J. Thibault
46c1e008bc Merge branch 'master' into ajt/new-anim-system 2015-08-26 10:37:39 -07:00
Brad Davis
d311e4f2ea Fixing problems reported by static analysis tool 2015-08-25 19:18:55 -07:00
Anthony J. Thibault
fa5256eefd Merge branch 'master' into ajt/new-anim-system 2015-08-24 14:32:28 -07:00
Brad Davis
ccc4a59992 Cleanup and PR comments 2015-08-08 13:54:37 -07:00
Anthony J. Thibault
b8bae7cc3f Debug rendering of MyAvatar’s skeletonModel skeleton 2015-08-04 18:14:47 -07:00
Anthony J. Thibault
f5dee717a1 Added fbx loading via animation cache.
* added AnimPose::copyFromNetworkAnim() which
  should, re-map bone ids to match the current
  skeleton, and fill in missing bones with bind
  pose frames.
* added ability to set a skeleton on a node.
  I might need to add a recursive version of this.
* it compiles!
* tests run!
2015-08-04 18:14:46 -07:00
SamGondelman
a4cbb7f412 const references in glmhelpers 2015-07-20 17:30:23 -07:00