Commit graph

1410 commits

Author SHA1 Message Date
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
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
David Rowe
08dc9b133f Docs to JSDoc review 2018-04-26 21:10:28 +12: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
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
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
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
Zach Fox
2daa30f125 Merge branch 'master' of https://github.com/highfidelity/hifi into commerce_extendedCerts_1 2018-02-20 12:41:12 -08:00
SamGondelman
b189433855 merge 2018-02-15 15:50:36 -08:00
SamGondelman
2d754edf74 CR 2018-02-15 15:48:41 -08:00
Zach Fox
8072372822 Lots of changes 2018-02-15 13:27:13 -08:00
Sam Gondelman
36a74eaeee
Merge branch 'master' into decals 2018-02-15 11:02:49 -08:00
SamGondelman
324eefc914 remove fresnel, add unlit, fix overlays, cleanup 2018-02-14 17:02:07 -08:00
SamGondelman
9e8aa1898c warnings, load material from URL, shapeID -> parentMaterialID 2018-02-12 12:50:09 -08:00
David Back
dc92250b1a change var names 2018-02-09 17:37:53 -08:00
David Back
ff0b632978 get avatars in range 2018-02-09 17:37:30 -08:00
SamGondelman
5337377ef5 Merge remote-tracking branch 'upstream/master' into decals 2018-02-09 14:40:20 -08:00
SamGondelman
84cd0e1529 wip live material swapping on model entities, model overlays, avatars,
and albedo swap on shape entities
2018-02-09 12:00:08 -08:00
Seth Alves
5e16623c81 allow overlay children to follow avatar from one domain to another 2018-02-08 17:17:04 -08:00
MiladNazeri
3585bead96
Merge pull request #12037 from humbletim/Leopoly_Phase1_004_RayPick-Changes
Leopoly_Phase1_004_RayPick-Changes
2018-01-29 14:02:38 -08:00
Sam Gateau
7fe4f8480a
Merge pull request #12172 from highfidelity/android
Android updates
2018-01-23 14:41:35 -08:00
humbletim
65455e7b50 Merge remote-tracking branch 'upstream/master' into Leopoly_Phase1_004_RayPick-Changes 2018-01-23 14:57:33 -05:00
Brad Davis
8ae0b09ea2 Merge remote-tracking branch 'upstream/master' into android 2018-01-22 15:07:30 -08:00
Anthony J. Thibault
c13c9f301c Take defaultPoseFlag section into account when computing byteArraySize. 2018-01-22 14:57:09 -08:00
Anthony J. Thibault
52f1803ea8 code review feedback 2018-01-22 09:55:39 -08:00
Anthony J. Thibault
cd4d9255bd Added defaultPoseFlags to avatar protocol
Change rotationSet to rotationIsDefaultPose for JointData
Also for translation.  Fixed all code to flip boolean value.
Created EntityJointData so that the ModelEntity stuff doesn't need to change.
2018-01-19 15:34:27 -08:00
Brad Davis
cbb2d9d854 Merge remote-tracking branch 'upstream/master' into android 2018-01-17 17:51:39 -08:00
Zach Fox
1d747bc0e4 Merge branch 'master' of https://github.com/highfidelity/hifi into commerce_sendMoney1 2018-01-17 11:56:00 -08:00
Brad Davis
6a06bf405a Merge remote-tracking branch 'upstream/master' into android 2018-01-16 18:24:44 -08:00
Brad Davis
58530c595a Pre-merge cleanup 2018-01-14 19:48:12 -08:00
Zach Fox
1e608b13b2 Show username when admin (this probably isn't the way to get username 2018-01-11 14:45:43 -08:00
Brad Davis
97593bc4d8 Fixing compiled resource access 2018-01-10 17:18:12 -08:00
Atlante45
776a2e8373 Fix concurrent access crash in avatar mixer 2018-01-09 11:24:34 -08:00
humbletim
a146b778f7 support additional .extraInfo for ray intersections 2017-12-21 12:35:13 -05:00
Anthony J. Thibault
542af47e9e Fix for hand controller avatar scaling.
* Added getDomainMaxScale() and getDomainMinScale() to JS api.
* Updated scaleAvatar controller module to use this to prevent scaling past the limits.
* Made sure that getDomainMaxScale() getDomainMinScale() and getUnscaledEyeHeight are thread safe,
  so that they can be invoked on the script thread.
* Added signals to Model class that can be used to let observers know when the Rig has finished initializing it's skeleton.
  and also when the skeleton is no longer valid.  These hooks are used to cache the unscaled eye height of the avatar.
2017-12-07 17:08:13 -08:00
Anthony J. Thibault
b5ffda6911 const fix 2017-12-07 10:09:09 -08:00
Anthony J. Thibault
095bedcd3f code review feedback 2017-12-07 10:08:18 -08:00