Commit graph

384 commits

Author SHA1 Message Date
Andrew Meadows
be9a572fb0 fix grab motion glitch on long-ping connections 2016-05-04 16:50:42 -07:00
Andrew Meadows
2bd83764e7 remove some debug cruft 2016-04-22 09:38:43 -07:00
Andrew Meadows
872622c6f7 fix acceleration of for server-side kinematics 2016-04-22 09:38:43 -07:00
Andrew Meadows
a3c66d8c91 reduce number of updates for fast-moving objects 2016-04-22 09:38:43 -07:00
Andrew Meadows
a79f49a5cd don't stop slow kinematic objs when sending updates 2016-04-22 09:38:43 -07:00
Andrew Meadows
ad045bc439 remove second-order term from kinematic motion 2016-04-22 09:38:43 -07:00
Andrew Meadows
3639ffe53e optimize kinematic motion math 2016-04-22 09:38:43 -07:00
Andrew Meadows
bb59860cfe update Aabb's of static objects when they move 2016-04-14 11:18:10 -07:00
Andrew Meadows
dcf28937cf cleanup cached Physics::sessionUUID 2016-04-14 11:18:10 -07:00
Seth Alves
43f735dd21 avoid loop where bullet moves an entity and then an entity tells bullet that it has moved. 2016-04-09 22:18:43 -07:00
Seth Alves
af05b97c1e put back accidently deleted line. cleanups 2016-04-04 17:31:59 -07:00
Seth Alves
d814d7b35d merge from upstream 2016-04-04 16:32:49 -07:00
Seth Alves
69bb0ebd74 Revert "faster kinematic motion for entities" 2016-04-04 16:11:54 -07:00
Seth Alves
b8587e0711 update collision shapes of entities which are children of avatars 2016-04-04 16:06:53 -07:00
Andrew Meadows
25fbf926df CollisionWorld only updates _active_ Aabbs
we manually set/clear active state of static objects
  that need their Aabbs updated
also fixing a bug when starting kinematic motion
2016-04-01 13:14:03 -07:00
Andrew Meadows
3f52d237ed adding Bullet profiler instances for better stats 2016-04-01 13:14:03 -07:00
Andrew Meadows
4ae94c0611 fine tuning for when to make simulation bid 2016-03-09 13:06:34 -08:00
Andrew Meadows
9157ff6eda more correct notion of desired simulation priority 2016-03-09 11:02:50 -08:00
Andrew Meadows
99a1310711 change properties at 127 priority, grab at 128 2016-03-08 22:17:44 -08:00
Andrew Meadows
b4edfe2390 no expiry for simulation ownership 2016-02-25 12:07:20 -08:00
Seth Alves
6a646f1c24 put isMoving back and change all uses to isMovingRelativeToParent 2016-02-10 19:01:41 -08:00
Seth Alves
d5f3447fbc when updating queryAACubes for children, use the lastEdited from the parent's properties 2016-02-08 16:22:41 -08:00
Seth Alves
eb1c159c7e only setLastEdited on properties to be sent 2016-02-08 15:16:04 -08:00
Seth Alves
5b5ddebb1a set last-edited when updating a child's queryAACube 2016-02-08 15:09:51 -08:00
Andrew Meadows
2da46ff26a server-side release ownership 2016-02-04 13:26:07 -08:00
Andrew Meadows
e51edaa117 update some comments 2016-02-04 13:26:06 -08:00
Seth Alves
b6af8ee0cc Merge branch 'master' of github.com:highfidelity/hifi into avatar-updates-query-cube 2016-01-22 11:46:17 -08:00
Seth Alves
872a00d518 entities that are children shouldn't (at this point) be dynamic. 2016-01-21 15:53:47 -08:00
Andrew Meadows
a92c512c17 move collision group/mask calculus into EntityItem 2016-01-19 19:52:08 -08:00
Andrew Meadows
7fb145e819 namechange ignoreForCollisions --> collisionless 2016-01-19 09:06:17 -08:00
Andrew Meadows
952f5b23f6 namechange collisionsWillMove --> dynamic 2016-01-15 15:21:25 -08:00
Andrew Meadows
8b420adbc8 namechange MotionType to PhysicsMotionType 2016-01-15 15:21:25 -08:00
U-GAPOS\andrew
0126684a96 collisionMask shouldn't override ignoreForCollisions 2016-01-13 16:58:34 -08:00
Andrew Meadows
6c49d81475 collision mask bit reinterpretation
also cache sessionID in static methods inside PhysicsEngine
2016-01-12 15:08:52 -08:00
Andrew Meadows
502921e877 more consistency for collision group values 2016-01-12 15:08:52 -08:00
Andrew Meadows
c9b125612c fix bugs 2016-01-12 15:08:52 -08:00
Andrew Meadows
e1ba4ff0a8 add CollisionMask entity property 2016-01-12 15:08:52 -08:00
Andrew Meadows
36e19b43c9 add some comments; specify const and overrides 2016-01-07 10:19:46 -08:00
Andrew Meadows
6a642bdcf8 fix misusage of smart-pointers 2016-01-07 10:19:46 -08:00
Andrew Meadows
6eb177091b overhaul of MotionState cleanup
Moved MotionState deletes out of PhysicsEngine.
EntityMotionStates are deleted by the PhysicsEntitySimulation.
AvatarMotionStates are deleted in the Avatar dtor.
2016-01-07 10:19:46 -08:00
Seth Alves
96f506a98d code review 2016-01-05 07:27:27 -08:00
Seth Alves
c84fa5f821 cleanups 2015-12-21 14:45:18 -08:00
Seth Alves
701f99d28e only send a queryAACube for entities to entity-server 2015-12-18 16:28:11 -08:00
Seth Alves
688448fe41 more queryAABox experimenting 2015-12-17 16:18:41 -08:00
Seth Alves
473212e5b7 try to be more coherent about queryAABox meaning 2015-12-17 14:29:41 -08:00
Seth Alves
b83579e6e5 include queryAABox in physics-induced sends 2015-12-16 17:25:49 -08:00
Seth Alves
6eae98fb28 merge from upstream 2015-12-02 14:38:26 -08:00
Andrew Meadows
ab6367ff4e remove debug option for disabling physics updates 2015-12-01 11:13:01 -08:00
Seth Alves
4add3e2e91 rework worldToLocal, start on allowing scripts entity position/rotation to always be in world space 2015-11-30 09:41:15 -08:00
Seth Alves
ca75802b9c unmangle merge 2015-11-26 06:43:28 -08:00
Andrew Meadows
e26081e981 always update physics properties when they change
and move activation check logic to MotionState
2015-11-24 10:20:19 -08:00
Seth Alves
f013f95e9b merge from upstream 2015-11-21 08:43:00 -08:00
Seth Alves
919ea5f1a0 send action updates even if we aren't the simulation owner 2015-11-13 12:37:07 -08:00
Seth Alves
7979fb38cf don't always send actiondata along with other physics related properties 2015-11-13 09:25:17 -08:00
Seth Alves
ed8a604e13 adjust how the decision to send action changes over the wire is made 2015-11-12 17:36:45 -08:00
Seth Alves
756b382a75 adjust how the decision to send action changes over the wire is made 2015-11-12 17:12:20 -08:00
Seth Alves
6f83f32ecc adjust how the decision to send action changes over the wire is made 2015-11-12 16:27:54 -08:00
Seth Alves
d7be1699a7 adjust how the decision to send action changes over the wire is made 2015-11-12 15:27:10 -08:00
Seth Alves
a8cd891e48 adjust how the decision to send action changes over the wire is made 2015-11-12 14:19:23 -08:00
Seth Alves
2e635bd936 cleanups 2015-11-12 11:14:25 -08:00
Seth Alves
93da3ed5bd if our simulation-bid priority matches the remote one, don't bid. 2015-11-12 11:03:34 -08:00
Seth Alves
774e2ab6d6 adjust how EntityMotionState updates its idea of what the server knows about an entity 2015-11-10 15:13:07 -08:00
Seth Alves
97fec5b814 adjust how EntityMotionState updates its idea of what the server knows about an entity 2015-11-10 15:09:53 -08:00
Seth Alves
df5d161721 adjust how EntityMotionState updates its idea of what the server knows about an entity 2015-11-10 15:02:17 -08:00
Seth Alves
e067195dfe adjust how EntityMotionState updates its idea of what the server knows about an entity 2015-11-10 14:42:40 -08:00
Seth Alves
82bd506086 adjust how EntityMotionState updates its idea of what the server knows about an entity 2015-11-10 14:32:57 -08:00
Seth Alves
4ed8a1e5d1 changes to send an update to entity-server when AvatarActionHold releases an entity 2015-11-06 09:25:53 -08:00
Seth Alves
3ac0fef1ea merge from upstream 2015-11-01 15:22:57 -08:00
Seth Alves
cf83ca22bb change how kinematic objects get data back to entity when an action is active 2015-10-30 15:30:54 -07:00
Seth Alves
f3c61a823e try harder to get children flags right when something moves. added worldToLocal methods 2015-10-23 16:58:09 -07:00
Seth Alves
6f30a3c178 new method -- ObjectMotionState::getBodyLinearVelocityGTSigma 2015-10-19 13:56:30 -07:00
Seth Alves
113321184d if model RegistrationPoint doesn't match entityItem's, update it 2015-10-19 12:21:26 -07:00
Seth Alves
46e5bf0435 take entity-server clock-skew into account when handling action expiration times 2015-10-19 11:59:03 -07:00
Seth Alves
2bdcb256d8 try another way of fixing held object snagging at slow velocity 2015-10-19 10:26:37 -07:00
Seth Alves
26dcaeb056 try another way of fixing held object snagging at slow velocity 2015-10-19 10:10:43 -07:00
Seth Alves
fbe3cb9511 try another way of fixing held object snagging at slow velocity 2015-10-19 09:56:51 -07:00
Seth Alves
742e48b0c8 try another way of fixing held object snagging at slow velocity 2015-10-19 09:48:34 -07:00
Seth Alves
b18bb1e076 Merge pull request #6084 from AndrewMeadows/physics-cleanup
move DIRTY_FLAGS out of EntityItem namespace
2015-10-16 07:22:40 -07:00
Andrew Meadows
fa17b77d70 move DIRTY_FLAGS out of EntityItem namespace 2015-10-15 09:34:09 -07:00
Seth Alves
742cc0f511 rename a function 2015-10-14 06:17:55 -07:00
Seth Alves
8b72f6e7c6 tweak 2015-10-13 13:50:43 -07:00
Seth Alves
54eac099b9 tweak 2015-10-13 12:52:53 -07:00
Seth Alves
83780296de don't send physical property updates if there's an action on the object 2015-10-13 12:12:57 -07:00
Atlante45
bcd148cb87 Construct entity properties at definition 2015-10-09 12:23:19 -07:00
Andrew Meadows
ef7e908675 allow dynamic objects to be set collisionless 2015-10-01 08:56:04 -07:00
Brad Davis
9b81842850 Merge branch 'master' into homer
Conflicts:
	assignment-client/src/octree/OctreeSendThread.cpp
	interface/src/Application.cpp
	libraries/entities-renderer/src/EntityTreeRenderer.cpp
	libraries/entities/src/EntityItem.cpp
	libraries/entities/src/EntityTree.cpp
	libraries/entities/src/EntityTreeElement.cpp
	libraries/entities/src/EntityTreeElement.h
	libraries/entities/src/EntityTreeHeadlessViewer.cpp
	libraries/entities/src/RecurseOctreeToMapOperator.cpp
	libraries/octree/src/Octree.h
	libraries/physics/src/EntityMotionState.cpp
2015-09-11 16:31:18 -07:00
Brad Davis
aa989c3687 Fixing some entity race condition crashes 2015-09-10 20:53:17 -07:00
Seth Alves
31fcd55d47 octree uses shared pointers 2015-09-08 11:59:48 -07:00
Seth Alves
6db0442fda allow for asynchronous building of collision shape 2015-08-21 10:48:26 -07:00
Stephen Birarda
821c16cbc4 resolve conflicts on merge with uptream/master 2015-07-14 09:52:20 -07:00
Seth Alves
85f206d49d if an action is updating its own arguments, cause updates to go out over network 2015-07-09 14:13:01 -07:00
Stephen Birarda
1b4e333c49 Merge pull request #3 from birarda/atp
initial networking API changes for new protocol
2015-07-09 16:51:37 -04:00
Andrew Meadows
46bca30698 MotionState reports zero velocity for slow objects
This reduces the number of updates for an Entity that is effectively
at rest due to a balance between some spring action and gravity, but
nevertheless has a slight non-zero velocity at the end of each
simulation step.
2015-07-09 11:34:27 -07:00
Stephen Birarda
74940a2132 replace lingering PacketTypes in old format 2015-07-08 10:18:13 -07:00
Seth Alves
5e2f7204b4 responses to code review 2015-07-01 10:29:42 -07:00
Seth Alves
a356cbf620 remove commented code 2015-07-01 07:33:46 -07:00
Seth Alves
505332c367 include action data among physics initiated network updates from interface to entity-server 2015-06-30 10:19:03 -07:00
Seth Alves
1d122060a6 merge andrew's sim-ownership branch 2015-06-29 09:50:38 -07:00
Andrew Meadows
4d4b97fe59 add priority promotion to reduce volunteer races
also fix priority inheritance from chained collisions
2015-06-26 22:30:06 -07:00
Andrew Meadows
e18506c77f promote volunteer priority
also remove some cruft
change uint8_t to be quint8
2015-06-26 22:00:43 -07:00
Andrew Meadows
d6c69e8fe6 pack terse update parameters near each other
also don't constantly resend ownership data
2015-06-26 22:00:43 -07:00
Andrew Meadows
40f6ecd936 fix crash for dereference null pointer 2015-06-26 21:58:40 -07:00
Andrew Meadows
44d3074561 remove debug code 2015-06-26 21:58:03 -07:00
Andrew Meadows
12fc18092b SimulationOwner as one property 2015-06-26 21:58:03 -07:00
Andrew Meadows
cf74dbe1dc partial progress toward sim ownership negotiations
works well for just a few objects but fails for piles
committing some debug stuff that will have to be torn out later
2015-06-26 21:57:04 -07:00
Andrew Meadows
a33c350385 improved forcing of simulator ownership bid 2015-06-26 21:57:04 -07:00
Andrew Meadows
8510110324 increase sim priority when flagged for ownership 2015-06-26 21:57:04 -07:00
Andrew Meadows
2579247c34 claim ownership faster for scripted manipulations 2015-06-26 21:57:04 -07:00
Andrew Meadows
7c793c6397 accept simulation release from entity-server 2015-06-26 21:57:04 -07:00
Andrew Meadows
d0ac3e4514 more work on simulator priority
scripts that edit terse update data try to assert priority
physics simulation tries to assert "volunteer" priority
max priority rules are applied in entity server
2015-06-26 21:57:04 -07:00
Seth Alves
f5f1d0829c Merge branch 'physics-lock-entity-tree' of github.com:sethalves/hifi into actions-over-wire 2015-06-26 07:20:51 -07:00
Seth Alves
015498a6e0 move function up so this builds in non-debug mode 2015-06-26 07:20:22 -07:00
Seth Alves
2682c4720d fix alt-branch of ifdef 2015-06-26 07:04:10 -07:00
Seth Alves
a0d77c061c lock the entity tree during physics operations that access then entity tree. if the simulation and entity-tree are both going to be locked, be sure to lock the entity tree first (and unlock it last), because this is what the network-reading thread does 2015-06-26 07:00:28 -07:00
Seth Alves
4849e2922e quiet valgrind 2015-06-22 14:21:25 -07:00
Philip Rosedale
61a2196a30 Reduce error tolerances for ballistic prediction that trigger updating the server 2015-06-18 13:21:37 -07:00
Andrew Meadows
8d41960cc3 reset simulation bid counters on object activation 2015-06-10 12:40:14 -07:00
Seth Alves
c5143cdfa0 Merge pull request #5027 from AndrewMeadows/isentropic
cleanup around sending all "terse update" data whenever some of it changes
2015-06-05 10:41:06 -07:00
Seth Alves
edb3622c85 Merge pull request #5037 from AndrewMeadows/inertia
collision groups for physical objects
2015-06-05 10:26:28 -07:00
Andrew Meadows
8e61a10bcf compute collision group for entity 2015-06-03 14:22:48 -07:00
Andrew Meadows
ec0b4a956a move collision group consts to shared lib 2015-06-03 14:13:51 -07:00
Andrew Meadows
7b6cc59d30 basic support for collision groups 2015-06-03 11:40:48 -07:00
Howard Stearns
c036b5fd4b Actually commit the changes this time! 2015-06-03 10:19:28 -07:00
Andrew Meadows
2400f5c000 update ALL parameters of remote physics simulation 2015-06-01 09:02:59 -07:00
Andrew Meadows
aba539928d fix grab glitches and failure to own simulation 2015-05-27 18:05:59 -07:00
Andrew Meadows
16e5710325 Merge pull request #4954 from ZappoMan/entitysmartpointers
EnitityItem smart pointers
2015-05-26 14:05:03 -07:00
ZappoMan
8b78fc4190 EnitityItem smart pointers 2015-05-22 17:57:50 -07:00
Andrew Meadows
461d08c0a9 merge upstream/master into andrew/bispinor 2015-05-22 11:35:02 -07:00
Andrew Meadows
0431e8da36 put avatar body in right spot, and give it mass 2015-05-22 11:08:56 -07:00
Andrew Meadows
2e3973dfdd impl AvatarMotionState::set/getWorldTransform() 2015-05-21 15:34:30 -07:00
Andrew Meadows
67f5d0773d some list management of AvatarMotionStates 2015-05-21 14:40:47 -07:00
Seth Alves
4a59dc24c5 split entity-add and entity-edit messages 2015-05-20 14:52:03 -07:00
Seth Alves
a769cfdaf2 client decides on new entity-ids, keep EntityItemID class 2015-05-20 10:42:19 -07:00
Seth Alves
f9d46b0cb5 interface decides on entityIDs rather than bouncing a temporary id through the entity server 2015-05-19 14:25:23 -07:00
Andrew Meadows
c631f85bf9 cleanup of simulation ownership/update logic 2015-05-14 08:43:54 -07:00
Andrew Meadows
fb34a5ba84 renaming and cleanup 2015-05-13 08:44:10 -07:00
Andrew Meadows
4872a565c9 bid for simulation ownership 2015-05-12 21:46:52 -07:00
Andrew Meadows
e89471e7d6 enable non-moving update when obj is active 2015-05-08 15:41:00 -07:00
Andrew Meadows
ada48bcb70 fix for glitchy physics updates 2015-05-08 09:06:31 -07:00
Andrew Meadows
1879a67804 cleanup 2015-05-07 14:42:09 -07:00
Seth Alves
0347af9682 minor cleanup 2015-05-07 14:03:50 -07:00
Andrew Meadows
47f978b86e merge 2015-05-07 10:31:27 -07:00
Andrew Meadows
070140440d fix crash bug when invalid entity ptr accessed 2015-05-07 10:30:22 -07:00
Seth Alves
867fe18472 put some code back now that entity-server is doing simple simulation again. don't draw blue physics-enabled dot unless debug menu-item is checked 2015-05-07 10:11:36 -07:00
Seth Alves
fe14202f51 add getName passthrough to ObjecdtMotionState, don't compute model shapes until the model has been simulated 2015-05-07 09:53:39 -07:00
Seth Alves
5ac8558168 flash yellow box when transmitting an edit packet 2015-05-06 17:03:27 -07:00
Seth Alves
cc5f2ee451 in isMovingVsServer look at entity velocity only 2015-05-06 16:26:27 -07:00
Seth Alves
ba6f6d19cc disable updateServerPhysicsVariables 2015-05-06 16:20:16 -07:00
Seth Alves
630f1ce9d9 isMovingVsServer function 2015-05-06 16:13:07 -07:00
Seth Alves
b0ccabe38e update a motionstate's idea of what the entity-server thinks when an incoming update packet arrives 2015-05-06 16:05:05 -07:00