Commit graph

1441 commits

Author SHA1 Message Date
John Conklin II
e6801c303a
Merge pull request #13432 from SimonWalton-HiFi/avatar-identity-request
Implement AvatarRequestIdentity and use if interface gets unknown avatar data
2018-07-09 10:07:19 -07:00
Simon Walton
607a898c32 Transmit a maximum number of identity requests before giving up 2018-07-06 15:16:13 -07:00
Simon Walton
ec67b8ad56 Address reviewer comments 2018-07-03 15:31:34 -07:00
luiscuenca
24d03ace4c Changes from CR and decreased looking at angle to mitigate freaky eyes 2018-06-29 14:34:17 -07:00
luiscuenca
2264425f9f Fix eyelid behaviour 2018-06-28 16:41:39 -07:00
Simon Walton
269d803812 New approach to tracking no-identity duration 2018-06-22 16:42:37 -07:00
Simon Walton
6796af4b6a Move sendAvatarIdentityRequest() to a more logical location 2018-06-21 15:00:51 -07:00
SamGondelman
8f411ad6c8 CR 2018-06-20 16:13:10 -07:00
Simon Walton
d638bdd986 First pass at requesting ID for unknown data
Keep list of AvatarData that was created from a
data packet without a matching ID. If items get
old enough send an ID request and remove them.
2018-06-20 12:21:39 -07:00
Anthony J. Thibault
042f902d2e Merge branch 'master' into scriptedBlendshapesFaceFlags 2018-06-11 17:13:30 -07:00
SamGondelman
a7d75b121f fix avatarHash crash 2018-06-08 11:20:41 -07:00
amantley
dabcd4c234 fixed bracket spacing in HeadData.h 2018-06-08 10:19:33 -07:00
amantley
22f2583556 removed debug print statement in AvatarData.cpp 2018-06-07 16:17:33 -07:00
amantley
836c3da858 cleaned up white space and removed extra declaration of hadAudioEnabledFaceMovement 2018-06-07 15:11:57 -07:00
amantley
97831e61f0 removed stray comments 2018-06-07 12:54:46 -07:00
amantley
6a11ddc349 removed print statements and removed the setting of procedural head variables in avatarData.cpp 2018-06-06 17:50:50 -07:00
amantley
dca93ca61f fixed setatone16 function to return the correct result for additional flags 2018-06-06 16:44:12 -07:00
amantley
0c879d85b5 added print statements and removed summed coeff from avatarData.cpp 2018-06-05 17:33:32 -07:00
amantley
95bf5ce464 Merge remote-tracking branch 'origin/scriptedBlendshapes' into scriptedBlendshapes
syncing with remote repo
2018-06-05 13:34:34 -07:00
amantley
61592cdada completed first try at all changes for scripted blendshapes 2018-06-04 16:37:47 -07:00
Angus Antley
beaea7abe6 changed max face tracker info size to reflect summed coeff 2018-06-02 14:39:30 +01:00
amantley
2879eeb687 added flags for procedural face movement AvatarData.cpp toByteArray and parseDataFromBuffer 2018-06-01 17:18:48 -07:00
amantley
3bda5bf6a0 added MyAvatar.hasProceduralBlinkFaceMovement and MyAvatar.hasProceduralEyeFaceMovement properties to MyAvatar.h and cpp and HeadData.h 2018-05-31 17:58:37 -07:00
amantley
7cc5e96f2d Merge remote-tracking branch 'upstream/master' into feat/hasScriptedBlendshapes
merging hifi master to update the branch
2018-05-31 10:35:31 -07:00
David Rowe
ebeee51581 Update image links 2018-05-23 17:20:24 +12:00
David Rowe
6d4f704279 Regularize some JSDoc usage 2018-05-21 09:32:10 +12:00
David Rowe
f629022b8c AvatarList API JSDoc stubs 2018-05-16 10:16:13 +12:00
David Rowe
fdeb0e3305 Avatar API JSDoc stubs 2018-05-16 09:20:54 +12:00
Thijs Wenker
bfe210da75 Merge branch 'master' of github.com:highfidelity/hifi into feat/hasScriptedBlendshapes 2018-05-15 16:48:51 +02:00
Clement
da9fb9c751 Fix non self-sufficient headers 2018-05-04 16:26:41 -07:00
Clement
7fe16f82fb Move variables to Agent.cpp 2018-05-03 17:08:17 -07:00
Clement
83a438eb22 Set avatar view packets on their own timer 2018-05-01 18:10:55 -07:00
Thijs Wenker
20b9e44844 Merge branch 'master' of github.com:highfidelity/hifi into feat/hasScriptedBlendshapes 2018-04-26 22:37:15 +02:00
David Rowe
08dc9b133f Docs to JSDoc review 2018-04-26 21:10:28 +12:00
Thijs Wenker
8b7a07577c Merge branch 'master' of git@github.com:highfidelity/hifi.git into feat/hasScriptedBlendshapes 2018-04-26 03:09:44 +02:00
MiladNazeri
0f87e53902
Merge pull request #12963 from MiladNazeri/docs/DocsToJSDocsUpdate
Docs/docs to js docs update
2018-04-25 12:26:19 -07:00
David Rowe
cae9447ac5 Doc review 2018-04-25 15:09:47 +12:00
milad nazeri
23d07fa292 fixed spacing issue 2018-04-24 13:14:55 -07:00
Thijs Wenker
b0187ecfd3 add MyAvatar.hasAudioEnabledFaceMovement API property which is enabled by default 2018-04-24 19:24:23 +02:00
milad nazeri
1121fe8da0 fix tabs 2018-04-23 21:47:53 -07:00
David Rowe
98f43b6a70 Interim JSDoc for MyAvatar - stubs for remainder 2018-04-24 10:47:33 +12:00
Thijs Wenker
3764ee4a06 Merge branch 'master' of github.com:highfidelity/hifi into feat/hasScriptedBlendshapes 2018-04-24 00:36:28 +02:00
David Rowe
719062dd9f Interim JSDoc for MyAvatar - first pass 2018-04-24 09:10:59 +12: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
Stephen Birarda
95c172f418 Merge branch 'stable' of github.com:highfidelity/hifi into merge-back-stable-66 2018-04-17 15:34:46 -07:00
Anthony J. Thibault
c29bf51226 Fix for avatar glitches, head and legs folding into chest.
As a form of compression, when encoding avatar data we only send joints that have changed significantly from the previous packet.
Also, if a joint has the same value as the avatar's default pose, we don't send the full value, instead we mark it with a single bit.

This particular issue is caused by an interaction between the default value flag and the joint changed culling.

When connecting to a domain for the first time, it's possible that a I-frame or 'full' packet will not be sent for several seconds.
In this case, the AvatarMixer has no previous history for values that have not changed recently.
This causes the AvatarMixer to broadcast incorrect values to other clients.
Keep in mind that the AvatarMixer does not have access to the avatar FBX file, so it cannot make an educated guess for this value and uses zero values instead.
(0, 0, 0) for translation and (0, 0, 0, 1) for rotation.

When a translation value of zero is received for the lower legs it will cause the legs to fold into the avatar's chest.

Also, we've uncovered a bug where sometimes values were not sent to the AvatarMixer even when the value was previously default.
This would also exhibit the same issue where zero translation values would be sent.

I've done three things to help mitigate this issue.

1) On first connect to a new AvatarMixer, the Avatar now sends a 'full' packet.
2) When a joint rotation or translation changes from the default value, we transmit it.  No questions asked.
3) Once a SkeletonModel has finished loading we initialize the avatar's _jointData with the proper
   translations from the default pose.  This will help the case where a client receives a non default value, but has no previous history.

(cherry picked from commit 94efdf76a6454f316985f95d6a221adb24788d66)
2018-04-16 14:58:33 -07:00
Thijs Wenker
22e7f80356 Merge branch 'master' of github.com:highfidelity/hifi into feat/hasScriptedBlendshapes 2018-04-13 23:33:02 +02:00
Anthony J. Thibault
da319b9af6 Changed version constants into a enum class, to fix macosx warnings. 2018-04-12 15:09:01 -07:00
Anthony J. Thibault
568af7a072 Fix for avatar recording playback on avatars with many joints
Before this fix, playback of avatar recording frames could overflow the maximum UDP packet size (MTU).
This is playback of a recording was causing all the rotations and translations to be transmitted,
even if the translations were not any different then the avatar default pose.

This explicitly records the rotationIsDefaultPose and translationIsDefaultPose in the recording stream.
This does not break backwards compatibility.
However, it does require new recordings for avatars with large numbers of bones.
2018-04-12 11:24:26 -07:00