Commit graph

1618 commits

Author SHA1 Message Date
Simon Walton
3dc993c841 Fix small error in translation delta 2018-09-07 09:46:21 -07:00
Simon Walton
741d4ba998
Merge branch 'master' into avatar-mixer-scaling 2018-09-07 09:30:39 -07:00
SamGondelman
ed7f993c0d avatar mixer and manager perf improvements and cleanup 2018-09-06 16:57:20 -07:00
Andrew Meadows
92210f28b5 cleanup and use correct avatar bounding box 2018-09-06 16:33:30 -07:00
Andrew Meadows
021146e4f0 minor tweak to default avatar-update sort coefficients 2018-09-06 15:33:52 -07:00
Simon Walton
e1aba52c23 Revert to statics for priority sort weights; update defaults from Andrew 2018-09-06 12:09:44 -07:00
SamGondelman
589e88af4a Merge remote-tracking branch 'upstream/master' into scriptvec3 2018-09-04 17:54:45 -07:00
SamGondelman
9b75c7e07f trying to separate colors and vectors 2018-09-04 17:20:05 -07:00
Simon Walton
058115b791 Add guard for sentJointDataOut 2018-09-04 10:38:18 -07:00
Simon Walton
c2ea05b026 Merge remote-tracking branch 'upstream/master' into avatar-mixer-scaling 2018-09-04 09:31:05 -07:00
Simon Walton
11a563cb38 Don't use temp vector for outgoing joint status - doesn't seem to be necessary 2018-08-31 17:40:57 -07:00
Simon Walton
cf5f81ab95 Don't memcpy quaternions as we don't use same component order on wire! 2018-08-31 17:04:23 -07:00
Stephen Birarda
a37a19da1e use different XORed instance ID for replicas 2018-08-31 16:59:24 -07:00
Stephen Birarda
9b3d9dd0f3 XOR incoming trait instance IDs for other avatars 2018-08-31 16:56:22 -07:00
Stephen Birarda
20912349a4 cycle avatar entity IDs for new avatar mixer 2018-08-31 16:53:58 -07:00
Stephen Birarda
48680329ec mark trait instances needing to be sent on mixer reconnect 2018-08-31 16:53:53 -07:00
Simon Walton
5a0de0f103 Small fixes for joint logic 2018-08-31 16:45:39 -07:00
Simon Walton
2da5338574 Fix couple of gcc issues 2018-08-31 15:24:51 -07:00
Simon Walton
e1d51a6c42 Avatar serializing: use memcpy where possible, take copy of joint data to avoid holding lock, etc 2018-08-31 15:06:33 -07:00
Sam Gateau
12ec56875e
Merge pull request #13867 from SamGondelman/recurse
findRayIntersection/findParabolaIntersection performance improvements
2018-08-30 09:49:16 -07:00
Sam Gateau
d9d23e7fcf
Merge pull request #13877 from luiscuenca/multiplyOtherAvatars
Create N replicas of each other-avatar on the client side
2018-08-28 09:02:13 -07:00
luiscuenca
c19bd8968a Fix mixer crash 2018-08-27 16:48:47 -07:00
Sam Gondelman
6730635931
Merge branch 'master' into scriptvec3 2018-08-27 10:43:52 -07:00
luiscuenca
8ede6f1cd0 Fix removing my avatar and code standards 2018-08-27 06:55:52 -07:00
luiscuenca
ddbadf5a69 change to Test API 2018-08-24 11:59:46 -07:00
SamGondelman
3d048c77ba Merge remote-tracking branch 'upstream/master' into recurse 2018-08-24 11:39:05 -07:00
luiscuenca
5654acf5bf Fix warnings 2018-08-24 09:24:58 -07:00
luiscuenca
1fd0d7da94 Create API call 2018-08-23 18:03:27 -07:00
luiscuenca
3d959ca7ee Refactoring and cleaning 2018-08-23 15:52:42 -07:00
SamGondelman
283c0c0311 s i m p l i f y 2018-08-23 11:47:56 -07:00
John Conklin II
1320a34a18
Merge pull request #13841 from luiscuenca/noAttachmentsToJSON
Don't include old attachment data on new avatar recordings
2018-08-23 10:51:33 -07:00
luiscuenca
e3ad5adcae first approach vertical alignment 2018-08-23 06:49:35 -07:00
SamGondelman
c474f38860 force coarse picking, sort avatars 2018-08-22 18:07:16 -07:00
luiscuenca
b3d127c953 Fix flickering 2018-08-22 14:31:34 -07:00
luiscuenca
5a5aa2f5b9 Remove proxy line 2018-08-22 09:13:27 -07:00
luiscuenca
5f4903f884 Record entities 2018-08-22 08:53:51 -07:00
Stephen Birarda
8226ffb916 fix ref to instances vector for instance erase 2018-08-21 11:57:21 -07:00
Stephen Birarda
8c58ae4e60 fix insert of second trait instance 2018-08-21 11:56:28 -07:00
Stephen Birarda
25ed166f07 fix logic for initial send of deleted trait instance 2018-08-21 11:49:48 -07:00
Stephen Birarda
3e2d4dc696 fixes and improvments addressing CR comments 2018-08-21 10:53:52 -07:00
Stephen Birarda
4875738a05 always add to detached, flag update on full replace 2018-08-21 10:32:05 -07:00
Stephen Birarda
99f532a20e always check added avatar entities once in updateAvatarEntities 2018-08-21 10:32:05 -07:00
Stephen Birarda
eda84d2816 flag deleted avatar entities when replacing full map 2018-08-21 10:32:05 -07:00
Stephen Birarda
cd05d9335a remove debug of entity json document 2018-08-21 10:32:05 -07:00
Stephen Birarda
f0ba61ff05 add missing local ID, reset client processed trait versions 2018-08-21 10:32:05 -07:00
Stephen Birarda
6c204b682d include trait bytes written in over budget calculation 2018-08-21 10:32:05 -07:00
Stephen Birarda
e33f349d53 fix flagging for avatar entity update/delete 2018-08-21 10:32:05 -07:00
Stephen Birarda
0f03764c97 create missing avatar when processing traits 2018-08-21 10:31:15 -07:00
Stephen Birarda
1158ec8d50 improve change avoidance after avatar url override 2018-08-21 10:31:15 -07:00
Stephen Birarda
de6fe43dda ensure joint mapping is processed for current FST url 2018-08-21 10:31:15 -07:00
Stephen Birarda
a56e9b0860 allow agent to create and get avatar entities from script 2018-08-21 10:31:15 -07:00
Stephen Birarda
e6b419d283 add instanced traits and migrate avatar entities 2018-08-21 10:31:15 -07:00
Stephen Birarda
ea7c0e923a make client traits handler a unique ptr in AvatarData 2018-08-21 10:31:15 -07:00
Stephen Birarda
a0df68f32f move skeleton model URL emit to AvatarData 2018-08-21 10:31:14 -07:00
Stephen Birarda
be7eb57205 handle whitelist avatar URL override via traits 2018-08-21 10:31:14 -07:00
Stephen Birarda
a80d19a44a remove skeleton from identity, handle in clients 2018-08-21 10:31:14 -07:00
Stephen Birarda
26a1f03314 send traits in bulk to avatar mixer client 2018-08-21 10:31:14 -07:00
Stephen Birarda
ac835650b7 add skeleton trait sending to Agent, queuing in AvatarMixer 2018-08-21 10:31:14 -07:00
Stephen Birarda
486557e28a initial trait packet sending on skeleton URL change 2018-08-21 10:31:14 -07:00
luiscuenca
8bd9bf39b6 Fix json load 2018-08-20 14:31:03 -07:00
luiscuenca
dc0fbcca59 Include avatar entities on recordings 2018-08-20 13:10:36 -07:00
luiscuenca
c564119edc Keep attachments when playing back recordings 2018-08-20 11:58:19 -07:00
Sam Gondelman
f0986a7f5a Merge branch 'master' into scriptvec3 2018-08-20 10:56:45 -07:00
luiscuenca
50cc68c63e Recording app doesn't record old attachments 2018-08-19 12:43:06 -07:00
John Conklin II
1edf1b4337
Merge pull request #13555 from SamGondelman/destroy
Trying to fix dependency shutdown
2018-08-16 13:14:58 -07:00
Seth Alves
527b27da96 pseudo-joints for far-grab positions 2018-08-14 08:55:20 -07:00
Seth Alves
0a5c96ecc1
Merge pull request #13792 from luiscuenca/attachmentsAPImgr
Attachments API returns avatar entities
2018-08-13 14:21:13 -07:00
luiscuenca
dd93055d89 Convert and load attachments when rig is ready 2018-08-10 16:15:30 -07:00
Wayne Chen
769e7eab03 removing domainLimitedScale property and changing read property of scale 2018-08-09 17:38:58 -07:00
Wayne Chen
d533e3b341 adding domainLimitedScale property 2018-08-09 17:29:13 -07:00
luiscuenca
8c121a531d Turn attachments into avatar entities 2018-08-09 10:35:15 -07:00
SamGondelman
1ba28de5b6 try to fix nodelist not getting destroyed 2018-08-01 17:52:27 -07:00
SamGondelman
2ca217eb4a merge with master 2018-07-30 17:43:15 -07:00
SamGondelman
318ef907b8 parabola/polyvox, fixing some bugs 2018-07-24 10:08:35 -07:00
SamGondelman
956c1511b6 Merge remote-tracking branch 'upstream/master' into parabolic 2018-07-19 15:23:25 -07:00
SamGondelman
9929529f30 vec3 conversion 2018-07-11 14:18:22 -07:00
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
SamGondelman
90091d11e4 parabola picks, started implementing math 2018-07-03 09:47:31 -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
Thijs Wenker
90b77030d5 MyAvatar.hasScriptedBlendshapes property 2018-03-07 02:55:47 +01: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