Commit graph

1618 commits

Author SHA1 Message Date
Anthony Thibault
335c60e6b8 Reduce the glitches of far away animating avatars
Currently, the avatars that are further then 10 meters away have a
very aggressive 15 degree rotation threshold, used to reduce the
amount of rotation joint changes sent over the network.

This PR tunes both the distances and rotation thresholds used for
this LOD culling.
2018-10-05 17:29:25 -07:00
Stephen Birarda
82170a66ed avoid backwards seek for skipped trait deletes 2018-10-05 15:07:54 -07:00
Stephen Birarda
88f76ac760 suppress traits larger than INT16_MAX bytes 2018-10-05 09:46:55 -07:00
David Rowe
539c280281 Fill in missing JSDoc stubs in AvatarList and AvatarManager 2018-10-05 15:13:13 +13:00
Simon Walton
0ca112f7b9 Restore missing abs() to quaternion dot-product
See https://github.com/highfidelity/hifi/pull/14138
2018-10-04 16:40:44 -07:00
John Conklin II
84178faee3
Merge pull request #14137 from hyperlogic/bug-fix/glitchy-movement-for-avatars
Bug fix for rotation culling in AvatarData::toByteArray()
2018-10-04 13:12:28 -07:00
luiscuenca
bb98457d09 Fix avatars transit on domain enter 2018-10-03 16:23:09 -07:00
Anthony Thibault
c0ae95f853 Bug fix for rotation culling in AvatarData::toByteArray()
The commit 5a0de0f103 inadvertently introduced a regression in how the AvatarMixer and clients encode AvatarData packets.
When encoding packets that with the cullSmallChanges flag set to true, we only include rotations that have changed significantly from the previous packet.
A bug was introduced that incorrectly preformed the comparison to detect changed rotations, this needs to handle the case when
two quaternions are almost equal but have negative signs.  Previously, this was preformed with an absolute value after the 4-component dot product.
In commit 5a0de0f103, this absolute value was removed, causing the culling to happen much more frequently.

This PR re-introduces that absolute value.
2018-10-03 12:54:49 -07:00
Sam Gondelman
5b6e7b2566
Merge branch 'master' into scriptvec3 2018-10-02 08:58:04 -07:00
Seth Alves
834699fa12 Move grab pseudo-properties (userData) into first-class EntityItemProperties. 2018-10-02 08:54:12 -07:00
Brad Hefta-Gaub
6290b56383
Merge pull request #14079 from luiscuenca/simpleAvatarTransit
Simple avatar transit
2018-10-01 16:24:46 -07:00
Simon Walton
4534b87ea0 Fix error passing rvalue ref as lvalue 2018-09-28 18:24:59 -07:00
Simon Walton
18c1371321 Process multiple avatars in an AvatarIdentity message 2018-09-28 17:53:06 -07:00
Simon Walton
1e79329e83 Access joint data via C pointer instead of operator[]
QVector::detach() was showing up in the linux profiles - it's
related to the copy-on-write capability. Const QVectors
don't use it though.
Also a bug fix for the minimum joint space needed.
2018-09-26 14:23:52 -07:00
John Conklin II
0de433c7c7
Merge pull request #14018 from birarda/bug/avatar-hash-map-deadlock-master
fix for deadlock in other avatar entity removal from tree
2018-09-26 09:58:26 -07:00
Simon Walton
13890f1d16 Use local ID in place of UUID in a couple more cases 2018-09-26 09:47:26 -07:00
Simon Walton
91187ad7eb Merge remote-tracking branch 'origin/avatar-mixer-improvements' into avatar-mixer-improvements 2018-09-25 12:10:01 -07:00
Simon Walton
f95ab1b040 Clean-up & other small changes 2018-09-25 12:07:59 -07:00
Simon Walton
07bdaeede7 Split avatar joint-data across multiple packets if necessary 2018-09-24 18:23:49 -07:00
Simon Walton
d5977612a1
Merge branch 'master' into avatar-mixer-improvements 2018-09-24 13:29:45 -07:00
Simon Walton
82b81c9076 Limit no. of joints sent per avatar to prevent lock-up
With this the avatar mixer will sent the full bit-vector
but only the first 111 actual joints.
2018-09-24 11:54:03 -07:00
luiscuenca
012cd207b3 No data sent during basic transit 2018-09-24 11:39:10 -07:00
Stephen Birarda
b31837168d fix bad lock, optimize some operations, clarify comment 2018-09-24 11:27:20 -07:00
luiscuenca
82b14b6e9b Merge branch 'master' of https://github.com/highfidelity/hifi into smoothTeleport 2018-09-22 05:47:05 -07:00
Simon Walton
f2e69d5c81 Make default bubble-box AvatarData property for efficiency
Also a use of getClientGlobalPosition(), etc
2018-09-20 17:37:39 -07:00
Andrew Meadows
cf85c617a2 tweak avatar update priority coefs for load tests 2018-09-20 09:56:50 -07:00
Simon Walton
7bba4d4bad Change priorities in the correct place 2018-09-19 18:38:20 -07:00
Simon Walton
f1b7097edb Priority experiment 2018-09-19 15:32:56 -07:00
Simon Walton
04c47943ba Handle small packet space correctly 2018-09-19 13:45:08 -07:00
Simon Walton
c88a713ef8 Use Local ID for last time & sequence #
Also try to fix size_t warnings on gcc
2018-09-19 12:05:06 -07:00
Stephen Birarda
3a7785d10f fix for deadlock in other avatar entity removal 2018-09-18 17:52:24 -07:00
Simon Walton
5d91396e91 Fixes for client & other clean-up
Handle grab-joints better; fix packet size calc;
remove dead code; other improvements.
2018-09-18 17:49:23 -07:00
Simon Walton
0c7dee730c Pack partial avatar data in bulk packets using space available
Keep a single packet in-hand and send when full rather than
a packet list.
2018-09-18 10:25:59 -07:00
luiscuenca
ff319ebd95 Bypass position updates from mixer 2018-09-17 09:47:22 -07:00
Simon Walton
ca300db410 Send only avatar data that will fit in packet (WIP) 2018-09-14 18:24:08 -07:00
John Conklin II
65ef04ae75
Merge pull request #13937 from luiscuenca/stt_teleport_wip
Safe Teleport Target
2018-09-14 15:11:18 -07:00
SamGondelman
c522d1bc93 merge with master 2018-09-14 00:57:13 -07:00
luiscuenca
c5669ef1f5 better property names 2018-09-13 15:22:18 -07:00
luiscuenca
ceccc6d6ec make getCollisionCapsule thread safe 2018-09-13 14:49:35 -07:00
John Conklin II
b675e6cc6b
Merge pull request #13894 from SimonWalton-HiFi/avatar-mixer-scaling
Performance improvements for Avatar Mixer
2018-09-13 13:43:18 -07:00
Stephen Birarda
1789d51d6e Revert "cycle avatar entity IDs for new avatar mixer"
This reverts commit 20912349a4.
2018-09-12 12:22:07 -07:00
Stephen Birarda
6d3e6a661f Revert "XOR incoming trait instance IDs for other avatars"
This reverts commit 9b3d9dd0f3.
2018-09-12 12:20:31 -07:00
Stephen Birarda
4b93f9f5cd Revert "use different XORed instance ID for replicas"
This reverts commit a37a19da1e.
2018-09-12 12:20:03 -07:00
Simon Walton
7136698c6b Move default pose flags out of joint-positions condition 2018-09-12 10:49:26 -07:00
Simon Walton
0d72e3808c Small changes per review 2018-09-12 10:31:26 -07:00
Stephen Birarda
2c056e5b22
Merge pull request #13912 from birarda/bug/agent-clear-avatars
handle agent avatar clear on avatar mixer disconnect
2018-09-11 16:34:15 -07:00
Stephen Birarda
a50e55b83a use more efficient iterate and clear for removal 2018-09-10 17:06:57 -07:00
Simon Walton
d12376187c
Merge branch 'master' into avatar-mixer-scaling 2018-09-10 10:15:49 -07:00
Stephen Birarda
adac872a11 clear other avatars in agent on avatar mixer disconnect 2018-09-07 15:04:14 -07:00
SamGondelman
32e2a244a1 detailed profile range for avatar unpacking 2018-09-07 11:44:35 -07:00
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