Commit graph

921 commits

Author SHA1 Message Date
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
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
Ryan Huffman
7c5f0bb620 Update RADIUS_MOTION_THRESHOLD_MULTIPLIER 2015-11-10 08:51:22 -08:00
Ryan Huffman
7694958b20 Merge branch 'master' of https://github.com/highfidelity/hifi into physics-continuous-collision-detection 2015-11-09 15:22:26 -08:00
Atlante45
6a53021818 Merge branch 'master' of https://github.com/highfidelity/hifi into baseball 2015-11-09 13:23:31 -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
Atlante45
55894f2eee Merge branch 'master' of https://github.com/highfidelity/hifi into baseball 2015-11-03 17:46:24 -08:00
Seth Alves
ffb0317a50 Merge branch 'master' of github.com:highfidelity/hifi into parents 2015-11-03 16:53:00 -08:00
Ryan Huffman
c0a7da0b88 Add comment to ObjectMotionState::updateCCDConfiguration 2015-11-03 11:22:15 -08:00
Ryan Huffman
b410604475 Add comments to updateCCDConfiguration 2015-11-03 11:18:38 -08:00
Ryan Huffman
b75e053e9d Add automatic CCD activation to the physics engine 2015-11-03 11:01:51 -08:00
Ryan Huffman
f4531759be Merge branch 'master' of https://github.com/highfidelity/hifi into baseball 2015-11-02 12:27:08 -08:00
Seth Alves
3ac0fef1ea merge from upstream 2015-11-01 15:22:57 -08:00
Howard Stearns
79f05c63e5 Merge branch 'master' of https://github.com/highfidelity/hifi into dont-use-other-avatar-sounds 2015-10-31 11:23:18 -07:00
Seth Alves
944f0965c0 some refactoring and a bug fix -- grab script can throw things again 2015-10-30 16:35:50 -07: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
Andrew Meadows
f652e983a9 flag kinematic objs when changed in stepSimulation() 2015-10-30 14:53:29 -07:00
Howard Stearns
28246c1951 Merge branch 'master' of https://github.com/highfidelity/hifi into dont-use-other-avatar-sounds 2015-10-30 13:21:56 -07:00
Clément Brisset
317674c89a Merge branch 'grab' of https://github.com/sethalves/hifi 2015-10-30 11:13:56 -07:00
Seth Alves
93503d0a21 make kinematic grab set entities kinematic in bullet and update entity position 2015-10-30 11:03:13 -07:00
Brad Hefta-Gaub
126f68114b Merge pull request #6241 from huffman/fix-physics-substep-warning
Fix warning in ThreadSafeDynamicsWorld
2015-10-30 09:37:55 -07:00
Ryan Huffman
84869c512b Fix mis-renamed method names 2015-10-30 09:30:22 -07:00
Ryan Huffman
7a4787a79c Rename stepSimulation to stepSimulationWithSubstepCallback to fix warning 2015-10-30 09:21:13 -07:00
Brad Hefta-Gaub
a149a2dd60 fix some warnings 2015-10-30 00:19:14 -07:00
Howard Stearns
c2873ef720 Merge branch 'master' of https://github.com/highfidelity/hifi into dont-use-other-avatar-sounds 2015-10-29 22:17:31 -07:00
Clément Brisset
e818028043 Merge branch 'master' of https://github.com/highfidelity/hifi 2015-10-29 15:53:44 -07:00
Andrew Meadows
0c5b4115ed Merge pull request #6221 from huffman/physics-substep-fix
Physics substep fix
2015-10-29 12:39:15 -07:00
Howard Stearns
308fd0cf7e Merge branch 'master' of https://github.com/highfidelity/hifi into dont-use-other-avatar-sounds 2015-10-29 11:14:31 -07:00
Ryan Huffman
49877c2dff Move _hasOutgoingChanges in onSubStep to previous location 2015-10-29 10:19:18 -07:00
Andrew Meadows
f9012d5051 Merge pull request #6187 from sethalves/fix-actions-ttl
fix actions bug
2015-10-29 09:30:21 -07:00
Howard Stearns
8e83943efd Don't play other avatar's collision sounds.
https://app.asana.com/0/32622044445063/61104546898252
2015-10-28 15:43:36 -07:00
Andrew Meadows
afec2a9771 fix whitespace 2015-10-28 09:42:55 -07:00