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