Commit graph

960 commits

Author SHA1 Message Date
Brad Hefta-Gaub
04dab65b59 Merge pull request #7727 from ZappoMan/supportLargeClockSkew
support for larger than 35 minute clock skew
2016-04-23 08:42:38 -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
afcf6d68a7 move deactivation thresholds to shared header 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
8cbec06616 fix bug where kinematic objs pop on first step 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
771727890c more finely grained Bullet profiling 2016-04-22 09:38:43 -07:00
Brad Hefta-Gaub
5244274ae4 fix warning 2016-04-20 19:06:31 -07:00
Brad Hefta-Gaub
31f9d592e0 support for larger than 35 minute clock skew 2016-04-20 18:42:00 -07:00
Anthony J. Thibault
0b7a5c4df8 CharacterController: leak fix for btRigidBody and it's shape 2016-04-15 15:05:54 -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
7ea81f3937 add and fix comments 2016-04-03 19:15:01 -07:00
Andrew Meadows
20914df330 fix warning about signed/unsigned comparison 2016-04-01 13:31:14 -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
ac5c055a1e don't verify simulated bit when adding to delete list 2016-03-24 21:12:22 -07:00
Andrew Meadows
ecfe198e35 patch btCompoundShape memory leak 2016-03-23 14:39:49 -07:00
Andrew Meadows
119ef24d5d cleanup ShapeManager API and fix bitrot in tests 2016-03-23 14:39:49 -07:00
Anthony J. Thibault
4a78300607 MyAvatar: Allow user to raise hands directly overhead.
Previously we were using a infinitely tall vertical cylinder
to push hand IK targets out of the body, this had the
side-effect of preventing the hands from being raised over
the head.  Now, we collide against the same 3d capsule
used by the physics system for avatar collisions.
2016-03-10 10:20:17 -08: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
Seth Alves
dcb720a832 fix polyvox hull when registration changes. 2016-03-06 14:09:45 -08:00
Seth Alves
59804a0f54 cleanups 2016-03-06 12:59:41 -08:00
Seth Alves
5241dc5394 this seems to be working now. more cleanups to come 2016-03-06 12:59:33 -08:00
Andrew Meadows
b4edfe2390 no expiry for simulation ownership 2016-02-25 12:07:20 -08:00
Anthony J. Thibault
73ac47724a Rig: Prevent the hand IK targets from entering the body.
Use a 2d circle/circle intersection test to keep the hands outside of the body.
2016-02-17 16:23:18 -08:00
Andrew Meadows
2b91a31919 check for nullptr to avoid crashes 2016-02-11 13:53:01 -08:00
Chris Collins
a4afa03fe5 Merge pull request #7077 from sethalves/clean-up-grab-signaling
Clean up grab signaling + various fixes
2016-02-11 10:20:56 -08:00
Seth Alves
6a646f1c24 put isMoving back and change all uses to isMovingRelativeToParent 2016-02-10 19:01:41 -08:00
Andrew Meadows
ac60917b54 sigh... protect againt null MotionStates 2016-02-10 17:58:38 -08:00
Andrew Meadows
fed03edde3 manually removing contact manifolds was a bad idea 2016-02-10 17:58:38 -08:00
Andrew Meadows
532f0683e8 remove all contact info before removing objects 2016-02-10 17:58:38 -08:00
Andrew Meadows
84fb983da7 don't forget to remove from _outgoingChanges 2016-02-10 10:36:35 -08:00
Andrew Meadows
4bcb7b1ba9 more correct profiling 2016-02-10 10:36:34 -08:00
Andrew Meadows
9b467e94da constify and explicit override 2016-02-10 10:36:34 -08:00
Seth Alves
43592fd699 Merge pull request #7048 from hyperlogic/tony/avatar-on-moving-platform
Better avatar animation when attached to a moving entity
2016-02-09 14:30:02 -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
Anthony J. Thibault
97bcc54360 CharacterController: separate target velocity from parent velocity.
Also, disable damping on the rigidBody used by the CharacterController.
2016-02-08 16:01:36 -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
Brad Hefta-Gaub
3f0ebf7732 Merge pull request #7031 from AndrewMeadows/simulation-ownership
server can clear simulation ownership
2016-02-06 19:19:39 -08:00
Anthony J. Thibault
f13e31c7fc CharacterController: removed unnecessary code. 2016-02-05 10:53:58 -08:00
Anthony J. Thibault
8ca8550f26 MyAvatar: Standing Takeoff and In-Air Animations
Now there are two sets of of jump takeoff and in-air animations.
* Run - Used when the character jumps or falls with a small forward velocity.
* Standing - Used when the character jumps or falls in-place or backward.

CharacterController
* increased takeoff duration to 250 ms
* increased takeoff to fly duration to 1100 ms
* added standing jump and in-air animations
* added 250 milisecond delay between ground and hover, to prevent going into hover when walking over cracks.
* take-off to in-air transitions now use the new snapshotPrev interp type for a smoother tweening.
2016-02-04 17:56:07 -08:00
Andrew Meadows
2da46ff26a server-side release ownership 2016-02-04 13:26:07 -08:00
Andrew Meadows
91a2f86482 update some comments 2016-02-04 13:26:06 -08:00
Andrew Meadows
e51edaa117 update some comments 2016-02-04 13:26:06 -08:00
Andrew Meadows
861082964e Merge pull request #7017 from hyperlogic/tony/fly
MyAvatar: Improved Jump / InAir / Fly behavior
2016-02-03 12:22:30 -08:00
Stephen Birarda
93530fca72 fix the last of the current override warnings for OS X 2016-02-03 11:08:41 -08:00
Anthony J. Thibault
fff603e4e2 Removed comment 2016-02-03 10:21:27 -08:00
Anthony J. Thibault
6cc3b2b47f Fixed unused variable warnings on OSX and Linux 2016-02-02 15:04:28 -08:00
Anthony J. Thibault
c4e1509aa2 CharacterController: better debug support of internal state machine
Head is no longer visible when flying fast, in first-person HMD mode.
2016-02-02 11:26:18 -08:00
Anthony J. Thibault
8b5cf3e49a CharacterController: refined state machine. 2016-02-02 11:26:17 -08:00
Anthony J. Thibault
47f3ce3786 CharacterController jump is more reliable. 2016-02-02 11:26:16 -08:00
Anthony J. Thibault
2936811484 Added takeoff animation, WIP
Character controller still has some jump/in-air bugs.
2016-02-02 11:26:15 -08:00
Anthony J. Thibault
61c55ebf6c Updated character controller with a state enumeration
Also, adjusted checkForSupport logic such that very slanted walls are not considered support.
2016-02-02 11:26:15 -08:00
Anthony J. Thibault
e9fd439ffd Added inAir animations 2016-02-02 11:23:46 -08:00
Andrew Meadows
7b5c221ceb Merge pull request #6956 from hyperlogic/tony/velocity-fix
MyAvatar: copy body velocity + hmd follow velocity onto avatar
2016-01-27 14:59:46 -08:00
Anthony J. Thibault
c771c925c8 MyAvatar: copy body velocity + hmd follow velocity onto avatar
This was inadvertently removed in a previous PR.

https://github.com/highfidelity/hifi/pull/6895

Also, renamed Velocity stat to Speed.
2016-01-27 11:20:32 -08:00
Seth Alves
1cc0aa18bb Merge branch 'master' of github.com:highfidelity/hifi into avatar-updates-query-cube 2016-01-26 13:31:07 -08:00
Anthony J. Thibault
bc9621baab CharacterController: Improve ground support detection
In addition to the existing line probe ground check, also check if the bottom sphere of the capsule is contact with any geometry before going into hover mode.
This should prevent going into the fly animation when standing or walking on collision shapes with small gaps between elements.
2016-01-25 21:54:35 -08:00
Andrew Meadows
86162094c1 Merge pull request #6895 from hyperlogic/tony/hmd-recenter-on-rotation
MyAvatar: Recenter when the head turns away from the hips
2016-01-22 14:07:40 -08:00
Andrew Meadows
200676ac68 Merge pull request #6896 from AndrewMeadows/another-crash-fix
fix crash when deleting entities quickly
2016-01-22 14:04:46 -08:00
Anthony J. Thibault
8bfa80d5fc Merge remote-tracking branch 'upstream/master' into tony/hmd-recenter-on-rotation 2016-01-22 13:37:43 -08:00
Anthony J. Thibault
61b760038a Address feedback from code review 2016-01-22 11:54:28 -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
7a3401a8d7 Merge pull request #6867 from AndrewMeadows/collision-group-prep
cleanup in preparation for smarter collision grouping
2016-01-22 11:45:42 -08:00
Andrew Meadows
d8fb61e820 fix crash when deleting entities quickly 2016-01-22 10:25:10 -08:00
Anthony J. Thibault
ca8a832818 CharacterController: added hard limit to follow displacement
To prevent tunneling when the rigid body cannot reach it's target due to being blocked by a wall or some other obstacle.

Also, added unit tests for physics/BulletUtil rotateVector and clampLength functions.
2016-01-21 17:27:45 -08:00
Brad Hefta-Gaub
1a98ab3fba Merge pull request #6877 from AndrewMeadows/crash-fix
fix interface crash when deleting lots of objects at once
2016-01-21 16:49:21 -08:00
Anthony J. Thibault
a91c181a89 MyAvatar: Recenter when the head turns away from the hips
Compute HMD facing moving average.
When the moving average diverges from the hips by more then 45 degrees, recenter the body.

Also, the follow code has been changed, instead of a follow velocity being passed to the CharacterController
a desired target is passed.  The CharacterController homes toward it's target based on the time remaining.
Any follow deltas applied to move the avatar's position closer to it's target is stored and re-applied
to the bodySensorMatrix.  This centralizes the moving/homing code to one place, the CharacterContoller.

A new FollowHelper class was also introduced, it groups together the data and logic necessary to perform the
re-centering/follow procedure.  This "hopefully" makes it easier to maintain.
2016-01-21 16:38:42 -08:00
Seth Alves
872a00d518 entities that are children shouldn't (at this point) be dynamic. 2016-01-21 15:53:47 -08:00
Leonardo Murillo
098b7a4ff3 Merge pull request #6870 from birarda/console
Your Stack Manager is now a Server Console
2016-01-21 14:31:34 -06:00
Andrew Meadows
e77189fb1b keep reference to removed entity until next frame 2016-01-20 17:09:37 -08:00
Andrew Meadows
a92c512c17 move collision group/mask calculus into EntityItem 2016-01-19 19:52:08 -08:00
Stephen Birarda
8bc063e758 Merge branch 'master' of https://github.com/highfidelity/hifi into console 2016-01-19 16:21:19 -08:00
Seth Alves
09dd3e2a56 merge from upstream, respond to code review 2016-01-19 14:38:22 -08:00
Andrew Meadows
7fb145e819 namechange ignoreForCollisions --> collisionless 2016-01-19 09:06:17 -08:00
Stephen Birarda
275fa1c5c7 fix for override warnings with clang on OS X 2016-01-15 15:41:34 -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
Andrew Meadows
b9352d3eaa prevent nan inside spring action 2016-01-15 08:44:52 -08:00
Andrew Meadows
72928fdbd6 fix problem where grab stops on slow movement 2016-01-14 10:42:27 -08:00
U-GAPOS\andrew
0126684a96 collisionMask shouldn't override ignoreForCollisions 2016-01-13 16:58:34 -08:00
Andrew Meadows
6a5a74700f activate sprung objects when action strong enough 2016-01-12 15:11:27 -08:00
Andrew Meadows
2288d96868 fix CharacterController ray cast for floor 2016-01-12 15:11:27 -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
Seth Alves
bc538a0f7d Merge pull request #6756 from AndrewMeadows/physics-cleanup-003
more correct management of MotionState pointers
2016-01-07 11:04:28 -08:00
Seth Alves
cf9af462b5 replace some logging with an assert 2016-01-07 10:21:39 -08:00
Andrew Meadows
42711e5bad remove unused variable 2016-01-07 10:20:03 -08:00
Andrew Meadows
36e19b43c9 add some comments; specify const and overrides 2016-01-07 10:19:46 -08:00
Andrew Meadows
4f29156da1 fixing asserts for EntityItem delete pipeline 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
Andrew Meadows
8886f48c78 minor cleanup 2016-01-07 10:19:46 -08:00
Andrew Meadows
f5d24a87ca remove entities from physics before we delete them 2016-01-07 10:19:46 -08:00
Andrew Meadows
b34df211df cleanup API for removal from EntitySimulation 2016-01-07 10:19:46 -08:00
Andrew Meadows
4208380d1c namechange 2016-01-07 10:19:46 -08:00
Seth Alves
b873d92469 try harder to ensure that a held object is active in bullet 2016-01-06 14:12:58 -08:00
Seth Alves
cd82383d33 Merge branch 'master' of github.com:highfidelity/hifi into improve-grab-action-reliability 2016-01-05 11:13:38 -08:00
Seth Alves
96f506a98d code review 2016-01-05 07:27:27 -08:00
Seth Alves
f5bc58f606 back out off-brand change 2016-01-03 08:00:31 -08:00
Seth Alves
2c21092808 be more careful about locking 2016-01-03 07:59:49 -08:00
Seth Alves
1d9f3097da trying to track down why equips fail after a few minutes 2015-12-21 15:16:55 -08:00
Seth Alves
c84fa5f821 cleanups 2015-12-21 14:45:18 -08:00
Seth Alves
1d9a81d5d4 Merge branch 'master' of github.com:highfidelity/hifi into near-grab-via-parenting 2015-12-21 09:14:37 -08:00
Seth Alves
d71cecbc61 Merge pull request #6675 from AndrewMeadows/crash-fix
fix crash when visiting new domain with gun in hand
2015-12-20 06:24:44 -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
Andrew Meadows
ff83f8fc37 fix crash mode when leaving domain with handgun 2015-12-16 15:11:47 -08:00
Seth Alves
d3c57821c0 call a method on actions before each physics simulation step. use this to attempt to dejitter held objects 2015-12-16 14:00:04 -08:00
Atlante45
ce51350b65 Fix warnings on windows 64bit 2015-12-11 15:42:15 -08:00
Atlante45
a07d7494f0 More OS X warning cleanup 2015-12-11 14:20:36 -08:00
Andrew Meadows
9e99bff250 fix avatar upward drift after shape change 2015-12-09 18:09:55 -08:00
Andrew Meadows
8c109fd623 move raw bullet code from interface to physics lib 2015-12-08 17:21:43 -08:00
Atlante45
1d498af76e Merge branch 'master' of https://github.com/highfidelity/hifi into baseball 2015-12-04 15:18:25 -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
Stephen Birarda
2acfbd0f8f revert accidental CCD change 2015-11-30 15:52:03 -08:00
Stephen Birarda
f07314f4ef resolve conflicts on merge with huffman/baseball 2015-11-30 13:34:36 -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
527408c7c1 Merge pull request #6292 from huffman/physics-continuous-collision-detection
Physics continuous collision detection
2015-11-25 15:45:18 -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
Andrew Meadows
5135c9dded whitespace cleanup 2015-11-24 10:20:19 -08:00
Seth Alves
d4937071e1 rather than activating rigid body and forcing non-static on deserialize, just force non-static 2015-11-23 12:17:15 -08:00
Seth Alves
6f19093cb9 if an entity with an action has a motion-type of static, flag it so it gets updated in bullet 2015-11-23 10:03:35 -08:00
Seth Alves
f013f95e9b merge from upstream 2015-11-21 08:43:00 -08:00
Ryan Huffman
510189dfbc Update CCD motion threshold 2015-11-17 15:08:05 -08:00
Ryan Huffman
5154fbc8c5 Merge branch 'master' of https://github.com/highfidelity/hifi into baseball 2015-11-16 12:23:26 -08:00
Seth Alves
b0d24be58f add a way to get a list of all actions of a certain type from an entity. hold actions average their positional targets. 2015-11-13 16:02:39 -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