Commit graph

453 commits

Author SHA1 Message Date
Anthony J. Thibault
6ae5c540fd SkeletonModel: coding standard fix
Replaced glm::vec3(0) with glm::vec3().
2015-10-28 11:09:24 -07:00
Anthony J. Thibault
ae8938cadc Fix for local eye tracking in AnimGraph
Also moved Rig::updateAnimations() now occurs after
Rig::updateFromHeadParameters() and Rig::updateFromHandParameters().
This should remove a frame of lag for head and hand IK targets.

Rig::updateFromEyeParameters() occurs after Rig::updateAnimations().
But now the eye JointStates are re-computed, this is the actual
fix for the local eye tracking issue.
2015-10-27 18:30:35 -07:00
Brad Hefta-Gaub
65eae35433 a little more cleanup 2015-10-27 17:09:43 -07:00
Brad Hefta-Gaub
5a42991e0c first pass at cleaning up MyAvatars use of PalmData 2015-10-27 13:51:42 -07:00
Howard Stearns
9fd61907f5 Call back to Javascript asynchronously, so that we don't block and the script's engine doesn't have thread conflicts. 2015-10-21 20:50:07 -07:00
Howard Stearns
574a51e831 Use cleaner interface. 2015-10-20 17:02:16 -07:00
Seth Alves
4903db45b1 give other avatars an anim-skeleton 2015-10-15 14:21:06 -07:00
Andrew Meadows
224fc55033 put IK targets in skeleton's model-frame 2015-10-06 16:49:29 -07:00
Anthony J. Thibault
c0be32d359 Fix for model offset when using Rig Animations. 2015-10-02 11:40:46 -07:00
Anthony J. Thibault
fc7b6dee84 Merge branch 'master' into transmit-joint-translation 2015-10-02 11:40:33 -07:00
Anthony J. Thibault
a1b54945d6 Compute the model offset in the rig, using the bind pose of the hips. 2015-10-02 10:34:34 -07:00
Andrew Meadows
09ac01a5e7 remove cruft from old verlet avatar simulation 2015-10-01 13:44:50 -07:00
Seth Alves
4179e4aa74 merge from upstream 2015-09-28 15:28:10 -07:00
Anthony J. Thibault
5a24a020ca Fix for HMD rotation sticking between 2d & HMD mode
The main fix for this was to set the JointState animation priority to 3.0
The secondary fix was only noticed when we changed the animation priority
Basically, the debugRendering was using the JointStates after they were
manipulated by SkeletonModel to 'relax' them toward thier default pose for
IK purposes.
2015-09-27 17:44:54 -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
Anthony J. Thibault
20d784ba39 Threshold based walking while in HMD.
This is a blend of the previous 'sitting' and 'standing' HMD modes.
Basically, when you move your head within a small range (20cm) your
avatar will lean appropriately, however when you cross that threshold
your body will move underneath you, re-centering your head above the body.

While this occurs the avatar should play the appropriate walking animations.
2015-09-24 17:54:32 -07:00
Anthony J. Thibault
6b47373bcb Fix for precision error in AnimPose(glm::mat4) constructor.
Really the culprit is GLMHelpers extractRotation().
I have a separate unit test that demonstrates the bug.
2015-09-23 15:38:56 -07:00
Anthony J. Thibault
a9848cd157 Merge branch 'master' into tony/lean-threshold 2015-09-23 10:54:12 -07:00
Anthony J. Thibault
9ce43a57f1 Better head IK when in an HMD.
Because the current IK system doesn't quite handle what we need
for the head and neck IK, we do it procedurally in the rig, and
manually set both neck and head IK targets.
2015-09-22 19:58:21 -07:00
Andrew Meadows
2edffaf91a remove unused variables 2015-09-22 17:20:13 -07:00
Bradley Austin Davis
e12e4ece34 Fixing lighting and atmosphere 2015-09-21 13:51:08 -07:00
Bradley Austin Davis
e024d23366 Instancing work, second pass 2015-09-21 13:27:02 -07:00
Anthony J. Thibault
44eb448cbe Hooked up isTalking flag to Rig and AnimGraph. 2015-09-18 18:05:51 -07:00
Anthony J. Thibault
f13c839f4a Removed comment 2015-09-15 15:19:11 -07:00
Anthony J. Thibault
1948829ca8 Improved state machine for right hand.
The hand state machine has the following features

* There's a idle to point animation, followed by a looping point hold state.
* There's a point to idle animation.
* The grab state is composed of a linear blend between an open and closed pose.

Additionally the C++ code will ramp on the left and right hand overlays,
This allows the fingers to be animated normally when the user is not actively
pointing or grabbing.
2015-09-15 15:09:08 -07:00
Anthony J. Thibault
90f46ba2c8 Added hand state machines to AnimGraph.
* Application: Forward trigger values to the MyAvatar's PalmData
* SkeletonModel: Pass PalmData to Rig via updateRigFromHandData() this is more explicit then
  the Rig::inverseKinematics methods.
* AnimNodeLoader & AnimOverlay: add support for LeftHand and RightHand bone sets
* Rig::updateRigFromHandData() read the triggers and set stateMachine trigger vars
* avatar.json - udpated with new hand state machine with temporary animations
2015-09-14 18:54:12 -07:00
Anthony J. Thibault
7996a02bd8 Added head target to AnimGraph IK node.
* In HMD mode head orientation and position is set.
* When not in HMD only orientation is set, position should
  default to the underlying pose position.
2015-09-11 09:48:48 -07:00
Howard Stearns
bcf16e52af Merge branch 'master' of https://github.com/highfidelity/hifi into animGraph-cleanup 2015-09-09 16:04:15 -07:00
Howard Stearns
c1d68e058e Reduce interconnection between AnimGraph and SkeletonModel by removing init and having MyAvatar:initAnimGraph go directly to rig (just like destroyAnimGraph does). 2015-09-09 15:02:11 -07:00
Howard Stearns
5572840133 Convert isHMD reference. 2015-09-09 10:39:36 -07:00
Howard Stearns
73a5714d66 Merge branch 'master' of https://github.com/highfidelity/hifi into decouple-avatar-updates 2015-09-09 10:37:11 -07:00
Howard Stearns
f818ac2b74 Merge pull request #5744 from hyperlogic/tony/enable-lean-flag
Added a flag to enable and disable lean.
2015-09-09 10:18:12 -07:00
Andrew Meadows
614c0be59a HACK so legless avatars don't drag their knuckles 2015-09-08 17:09:37 -07:00
Anthony J. Thibault
387d50c217 Added a flag to enable and disable lean.
This should help improve our idle and walk animations, because
animation on the "lean" joint was being lost, even when we did
not require procedural leaning.
2015-09-08 16:35:06 -07:00
Andrew Meadows
281e4f21fc fix avatar bounding capsule calculations 2015-09-08 15:03:12 -07:00
Howard Stearns
27f4bca0a4 Cleanup: This appears to be complete and working -- EXCEPT for loading animations on the update thread!
Until I figure that out, the answer is to turn off Developer->Avatar->"Enable Avatar Update Threading", run through forward/back/left/right/strafeLeft/strafeRight, and then turn "Enable Avatar Update Threading" back on.
2015-09-08 14:49:58 -07:00
Howard Stearns
0065c64b31 Snapshot of no-judder, before cleanup. 2015-09-07 09:57:05 -07:00
Howard Stearns
d3106de7c1 Merge branch 'master' of https://github.com/highfidelity/hifi into decouple-avatar-updates 2015-09-04 14:32:58 -07:00
Anthony J. Thibault
5882ec02d0 Merge branch 'master' into ajt/new-anim-system 2015-09-04 11:05:29 -07:00
Andrew Meadows
16dfc39f5f fix collision shape of avatars 2015-09-03 18:22:35 -07:00
Howard Stearns
32eb51d0fa Merge branch 'master' of https://github.com/highfidelity/hifi into decouple-avatar-updates 2015-09-03 13:55:57 -07:00
Anthony J. Thibault
de31b92fd5 Merge branch 'master' into ajt/new-anim-system 2015-09-02 17:53:56 -07:00
Howard Stearns
389e752b6e Merge pull request #5695 from AndrewMeadows/dysprosium
avoid bad joints when computing avatar bounding capsule
2015-09-02 15:58:42 -07:00
Andrew Meadows
992bd5c9d2 fix sixense and vive rotation readings for palms 2015-09-02 11:37:36 -07:00
Andrew Meadows
eb78b39bea fix typo that broke build and remove warning 2015-09-02 11:31:05 -07:00
Anthony J. Thibault
d151474446 Merge branch 'master' into ajt/new-anim-system 2015-09-02 10:00:36 -07:00
Anthony J. Thibault
7b4cb8655c First pass integration of new anim system into rig. 2015-09-01 17:57:01 -07:00
Howard Stearns
8cf71f285d Merge branch 'master' of https://github.com/highfidelity/hifi into decouple-avatar-updates 2015-09-01 16:03:40 -07:00
Andrew Meadows
a7d57d7c60 cleanup whitespace 2015-09-01 14:31:47 -07:00
Andrew Meadows
4a7a384c65 avoid bad joints when computing bounding capsule 2015-09-01 14:12:14 -07:00
Andrew Meadows
7410baedf0 merge highfidelity/master into andrew/copernicium
Conflicts:
	interface/src/avatar/SkeletonModel.cpp
	libraries/animation/src/Rig.cpp
	libraries/animation/src/Rig.h
2015-09-01 11:08:01 -07:00
Andrew Meadows
bdcc68ce36 fix bug: allow IK to iterate more than once
also changed name of parentTransform to be rootTransform
for more correctness
2015-09-01 09:51:14 -07:00
Andrew Meadows
bb63267e30 fix hand IK rotations or all models 2015-09-01 09:45:14 -07:00
Andrew Meadows
d3f06af892 remove PhysicsEntity class 2015-08-27 18:22:12 -07:00
Howard Stearns
8e3d8cd31c Merge branch 'master' of https://github.com/highfidelity/hifi into decouple-avatar-updates 2015-08-26 16:08:42 -07:00
Howard Stearns
475331a97d Sprinkle locks everywhere. 2015-08-26 16:08:07 -07:00
Seth Alves
d2eb3108d5 Merge pull request #5644 from howard-stearns/eye-correction-application
eye correction correction
2015-08-26 14:46:48 -07:00
Howard Stearns
2ed6900c7e Clear the brush, clear the cobwebs, and set the other orientations now that we're clear on what coordinate system we're in. 2015-08-25 09:55:04 -07:00
Brad Davis
380b0cb23c Removing tabs from our javascript and C++ 2015-08-24 15:26:46 -07:00
Howard Stearns
476ca36460 final 2015-08-24 15:01:01 -07:00
Howard Stearns
484db87abc Set head pitch before making downstream eye corrections. 2015-08-24 11:10:29 -07:00
Howard Stearns
941b966dc7 Force eyeball update even when not looking at me. 2015-08-17 11:57:08 -07:00
Howard Stearns
eeeaa8050d Fix the rush jobs, so gustavo can build build for me... 2015-08-14 18:58:49 -07:00
Howard Stearns
d28c555a79 Synchronize eye joint and debugging vectors when the other avatar is looking at me. 2015-08-14 16:47:34 -07:00
Brad Hefta-Gaub
b726769f15 Merge pull request #5402 from highfidelity/plugins
New plugins architecture
2015-08-11 11:11:27 -07:00
Brad Davis
19d31938d3 Merge remote-tracking branch 'upstream/master' into plugins 2015-08-10 21:25:35 -07:00
David Rowe
2c1ba9b6b1 Fix avatar lean forwards and sideways per HMD movements 2015-08-10 21:25:18 -07:00
Howard Stearns
964d04d24f Restore correct space for eye joint rotations.
Also, do not correct for camera position on my avatar. (That will be done by zero or one receivers.)
2015-08-10 12:34:01 -07:00
Bradley Austin Davis
fb2c84484e Merge remote-tracking branch 'upstream/master' into plugins 2015-08-07 15:26:43 -07:00
Seth Alves
b1e69537f3 Merge pull request #5524 from howard-stearns/cleanup-jointstate
Clean Up JointState
2015-08-07 13:50:02 -07:00
Howard Stearns
a840a17106 Change name originalRotation defaultRotation. 2015-08-06 19:45:58 -07:00
Howard Stearns
42cc34cd64 JointState has our own copy of any ivars we want from FBXJoint, instead of keeping a reference to the fbx. 2015-08-06 16:54:09 -07:00
Bradley Austin Davis
7e60aee1bf Merge branch 'master' into plugins
Conflicts:
	interface/src/Application.cpp
	interface/src/Application.h
	interface/src/avatar/Head.cpp
	interface/src/avatar/MyAvatar.cpp
	interface/src/avatar/MyAvatar.h
	interface/src/avatar/SkeletonModel.cpp
	interface/src/avatar/SkeletonModel.h
	interface/src/devices/3DConnexionClient.cpp
	interface/src/ui/overlays/Overlays.cpp
2015-08-06 11:03:37 -07:00
Brad Davis
9215ea8894 Merge pull request #5516 from Atlante45/warnings
Fix warning and remove unused headers
2015-08-05 19:12:09 -07:00
Atlante45
3dc8bd47ae Fix warning and remove unused headers 2015-08-05 16:46:44 -07:00
Howard Stearns
ca6d798aa5 Don't try to animate other people's avatars! 2015-08-05 15:59:22 -07:00
Sam Gondelman
513c652ab3 merge from master and attempt to fix connexion conflicts 2015-08-05 12:42:39 -07:00
Sam Gateau
34183b9ddf COmmenting the remove of the glLIneWidth and demoving dead code 2015-08-04 12:36:35 -07:00
Sam Gateau
d07ab353fc remove glLineWidth completely because it s not available anymore for wide lines in core 2015-08-04 11:57:20 -07:00
Seth Alves
c1f777e18f move setHandPosition from SkeletonModel to AvatarRig. Tell Rig::initJointStates joint-indexes for hands and elbows and shoulders 2015-07-30 18:39:01 -07:00
Anthony J. Thibault
7a10b31dd9 Clear translation on root joint.
Also, delete/rename all instances of updateJointState except for the one in Rig
and derived classes.
2015-07-30 15:04:27 -07:00
Brad Davis
f7a2513f26 Merge remote-tracking branch 'upstream/master' into plugins
Conflicts:
	interface/CMakeLists.txt
	interface/src/Application.cpp
	interface/src/Menu.cpp
	interface/src/Menu.h
	interface/src/avatar/MyAvatar.h
	tests/ui/src/main.cpp
2015-07-30 12:55:22 -07:00
Howard Stearns
4e7d191fb1 Merge branch 'master' of https://github.com/highfidelity/hifi into rig 2015-07-29 18:53:38 -07:00
Anthony J. Thibault
c2934bdb5d Fix avatar head, eye and torso twist.
* Updated SkeletionModel::updateRig to explicitly pass a set of HeadParameters
  to the rig to do procedural animation.
* Moved torso lean procedural animation from SkeletonModel into Rig.
* Moved eye tracking procedural animation from HeadModel into Rig.
* Moved neck procedural animation from HeadModel into Rig.
2015-07-29 17:35:29 -07:00
Howard Stearns
838711e526 Remove avatar->shift hips for idle animations.
See https://app.asana.com/0/32622044445063/43127903156601
2015-07-29 15:27:50 -07:00
Anthony J. Thibault
b06485c266 Remove cauterize code from Rig and move it back into Model.
* cauterize code is used as at render time and is not dependent on
  the jointStates.
* MyAvatar now initialize the bone set used for cauterization and
  makes the decision to perform cauterization or not in preRender.
2015-07-28 17:45:33 -07:00
Howard Stearns
4754615159 Fix NPC animations. 2015-07-28 12:34:10 -07:00
Howard Stearns
1bb734aec0 Kill warnings. 2015-07-27 15:26:03 -07:00
Howard Stearns
ef52c0703f Merge pull request #8 from AndrewMeadows/cadmium
remove unused legacy Shapes from Model and friends
2015-07-27 13:20:41 -07:00
Howard Stearns
8196770ed3 Wiring, including avatar position/velocity/orientation data, and an enableRig setting so that we don't break stuff unless turned on. 2015-07-27 12:58:43 -07:00
Andrew Meadows
81831975b5 remove legacy CapsuleShape from SkeletonModel 2015-07-27 12:27:17 -07:00
Andrew Meadows
73ac941230 remove unused legacy Shapes from Model and friends 2015-07-27 11:15:33 -07:00
Andrew Meadows
1bf49d72f1 Merge branch 'rig' of github.com:howard-stearns/hifi into bromine
Conflicts:
	interface/src/avatar/SkeletonModel.cpp
2015-07-24 10:06:02 -07:00
Andrew Meadows
f40feba36d Merge remote-tracking branch 'andrew/boron' into bromine
Conflicts:
	interface/src/avatar/Hand.cpp
	interface/src/avatar/Hand.h
	interface/src/avatar/SkeletonModel.cpp
2015-07-23 15:29:53 -07:00
Seth Alves
1e19e46aa6 Merge branch 'master' of github.com:highfidelity/hifi into rig 2015-07-23 15:14:19 -07:00
Seth Alves
33c97a1833 get rid of _firstPersonSkeletonModel in MyAvatar. add flag in Rig for joints being dirty so Model knows when to recompute meshes 2015-07-23 15:14:10 -07:00
Bradley Austin Davis
901dd77f05 Merge remote-tracking branch 'upstream/master' into plugins 2015-07-23 18:11:25 -04:00
samcake
805e7326e0 Merge pull request #5396 from ZappoMan/deadCodeRemoval
remove non-batch versions of GeometryCache renderXYZ() methods
2015-07-23 11:11:35 -07:00
Bradley Austin Davis
1db4162371 Merge branch 'master' into plugins 2015-07-23 13:42:03 -04:00
Seth Alves
57eb798d63 Merge branch 'master' of github.com:highfidelity/hifi into rig 2015-07-23 09:46:41 -07:00