Commit graph

1684 commits

Author SHA1 Message Date
trent
49881b5ea2 Actually the full set of changes. Kids: don't forget to pop your stash. 2017-05-02 13:55:32 -04:00
trent
8f34ec4c7f Iteration on the snap-turn smoothing based on feedback from Andrew. Also additional cleanup. 2017-05-02 13:41:34 -04:00
trent
6317857e3d Merge branch 'master' of https://github.com/highfidelity/hifi into feature/snap-turn-smoothing-21270 2017-05-02 12:11:39 -04:00
Seth Alves
a75544a9fb Merge pull request #10319 from hyperlogic/feature/head-standard-action
Head, Hips and Chest IK can now be controlled from Controller inputs
2017-05-01 13:03:23 -07:00
trent
4d7eeed343 Marking MyAvatar's rotation as dirty if smoothing is going down. 2017-05-01 15:21:25 -04:00
trent
773563850c Merge hifi/master with my branch, fixed merge issue. 2017-05-01 13:23:02 -04:00
Anthony J. Thibault
0c09823f67 clang warning fixes, unused variables... 2017-05-01 09:10:31 -07:00
Brad Davis
2b43a1989f Moving face and eye trackers out of interface 2017-04-28 23:28:17 -07:00
Brad Davis
5e1bc0d908 Remove faceshift 2017-04-28 16:34:54 -07:00
Anthony J. Thibault
2120e63e3a Merge branch 'master' into feature/head-standard-action 2017-04-27 17:51:13 -07:00
Anthony J. Thibault
764f6c69ea Head input action will override the HMD for IK. 2017-04-27 17:39:25 -07:00
trent
53f47c132f Avatar snap-turn rotation smoothing (sent out from the local client outward). 2017-04-27 16:12:25 -04:00
ZappoMan
834a447d62 remove debugging code 2017-04-26 18:36:44 -07:00
Anthony J. Thibault
ef43ff4b99 Add default pose matrices to InputCalibrationData structure 2017-04-26 11:55:24 -07:00
Seth Alves
23592f4a53 get rid of _trackedHeadPosition
(cherry picked from commit e909938b232e11400832ae7dd29de16968967668)
2017-04-25 11:03:43 -07:00
Seth Alves
0cd2863df4 start on routing HMD position and rotation through controller interface
(cherry picked from commit bca5241bae7674ff7e41c037d84bb78e5152046a)
2017-04-25 11:01:52 -07:00
ZappoMan
382645ddd0 more cleanup 2017-04-24 18:01:54 -07:00
ZappoMan
c9aad6b762 new approach to the tpose fix, as well as other improvements 2017-04-24 17:36:05 -07:00
Andrew Meadows
31bfc98b87 use const reference for ScenePointer when possible 2017-04-18 11:52:22 -07:00
Andrew Meadows
a3682a1a0e cleanup includes in Avatar.cpp and remove cruft 2017-04-18 11:52:21 -07:00
Andrew Meadows
5a458c9923 remove last qApp usage from Avatar class 2017-04-18 11:52:21 -07:00
Andrew Meadows
685a01482c remove Camera argument from Avatar::render() 2017-04-18 11:52:21 -07:00
Andrew Meadows
fbacbd74f7 pass shared pointers by ref in Avatar::render() 2017-04-18 11:52:21 -07:00
Andrew Meadows
1137bd1436 pull qApp spaghetti out of Avatar class
some ends of spaghetti get pushed into AvatarManger class
split Camera class into Camera base and FancyCamera derivation
Application::getCamera() returns Camera by refence instead of pointer
2017-04-18 11:52:21 -07:00
Zach Fox
6569de697d Merge pull request #10187 from zfox23/fix/getAvatar_Fix
Fix FB3999; Fix crashes caused by getAvatar() design bug
2017-04-11 11:17:48 -07:00
Stephen Birarda
4ed22ad7ac move audio loudness to AvatarData, change AvatarData to ScriptOwnership 2017-04-10 22:15:44 -07:00
Andrew Meadows
662c34c266 fix avatar scale animation and avatar render debug 2017-04-07 11:06:16 -07:00
ZappoMan
53c439ffba add foot IK targets as actions 2017-03-30 19:11:16 -07:00
Anthony J. Thibault
49a95089d1 Remove hacks for debug rendering of IK targets
A AnimContext class was introduced.  This context is passed into every node during evaluation/overlay.
It holds non-animVar "global" data passed from the application.

(cherry picked from commit a028d3ba58)
2017-03-24 16:27:27 -07:00
Anthony J. Thibault
dd17b2e2f3 Added developer option to draw IK targets in world.
(cherry picked from commit 7e7803c648)
2017-03-24 16:20:52 -07:00
Triplelexx
fd312f6bf8 rename fronts to forwards 2017-03-22 18:49:34 +00:00
Triplelexx
b7980569cc change all references of IDENTITY_FRONT to IDENTITY_FORWARD 2017-03-21 22:13:33 +00:00
Brad Hefta-Gaub
af790d8474 Merge pull request #9875 from birarda/bug/spin-strafe
fix double snap turn strafing
2017-03-20 10:08:05 -07:00
Atlante45
698791295a Expose DriveKeys enum to JS 2017-03-16 20:03:27 -07:00
Atlante45
5a1ce4bb05 CR 2017-03-16 17:46:47 -07:00
Atlante45
9155cc6334 Fix windows warnings 2017-03-16 17:44:56 -07:00
Atlante45
42316e713d CR drive keys 2017-03-16 16:24:52 -07:00
Atlante45
7517f224a8 Add MyAvatar drive keys capture capability 2017-03-16 15:44:17 -07:00
Stephen Birarda
1fe02477b0 fix LX behaviour in snap/advanced/basic 2017-03-14 14:21:21 -07:00
Thijs Wenker
b54d6cb0e1 stop avatar controller while playing back a recording, which makes it not collide anymore 2017-03-08 00:07:49 +01:00
Clément Brisset
7f9437dcc5 Merge pull request #9690 from Atlante45/feat/sit
Add hips pinning / Sit script
2017-02-28 10:41:22 -08:00
Atlante45
9ce10742ec Move avatar not joint 2017-02-27 16:38:57 -08:00
Atlante45
e9316d30d0 More IK smoothing experimentation 2017-02-27 16:38:56 -08:00
Atlante45
cbaaaa21c6 Use head orientation for sitting 2017-02-27 16:38:56 -08:00
Atlante45
e503542b6a Fix transform computation 2017-02-27 16:38:55 -08:00
Atlante45
8c232b5abb Initialize max offset to infinity 2017-02-27 16:38:55 -08:00
Atlante45
187cd0d5cf Get IK error and stand up based on it 2017-02-27 16:38:55 -08:00
Atlante45
7132969083 Add hips pinning capability to MyAvatar 2017-02-27 16:38:54 -08:00
Atlante45
6821c8621f More sit work 2017-02-27 16:38:54 -08:00
Seth Alves
a286c72b3b cleanups 2017-02-23 15:12:45 -08:00
Seth Alves
84d9af14b0 Merge branch 'master' of github.com:highfidelity/hifi into tablet-ui-tablet-is-overlay 2017-02-23 10:40:18 -08:00
Chris Collins
de84e07281 Merge pull request #9714 from thoys/fix-recorder-js-playback
Fix recorder.js playback in interface
2017-02-23 09:59:37 -08:00
Thijs Wenker
5033e7be11 CR fixes 2017-02-23 18:22:36 +01:00
Seth Alves
37004e4347 steps toward making mouse work on tablet 2017-02-23 08:11:31 -08:00
Seth Alves
1b26c3469f fix signed/unsigned joint index problem 2017-02-22 20:39:34 -08:00
Chris Collins
c967f9383a Merge pull request #9706 from ZappoMan/avatarMixerLoopImprovements
Multi-core Avatar Mixer
2017-02-22 11:20:28 -08:00
Thijs Wenker
13b2b6086f Fix recorder.js playback in interface 2017-02-21 19:47:26 +01:00
Brad Hefta-Gaub
42d916a719 fix warnings 2017-02-17 21:58:48 -08:00
Brad Hefta-Gaub
291b823cfa const cleanup and fix crash 2017-02-17 18:28:07 -08:00
Seth Alves
d7bb6f105b make tablet part IDs available through qApp 2017-02-17 15:43:20 -08:00
Chris Collins
442e8d68ef Merge pull request #9650 from kunalgosar/browserFix
Added isAway (paused) property to myAvatar
2017-02-14 11:16:07 -08:00
Kunal Gosar
c3f2f5779a fix if else syntax 2017-02-11 15:46:49 -08:00
Kunal Gosar
975d844eee syntax fix 2017-02-11 15:01:02 -08:00
Kunal Gosar
18e776bd29 emit signal only on change 2017-02-11 13:58:23 -08:00
kunalgosar
9c537726e5 Fix stuck in pause error with browsers 2017-02-10 18:13:09 -08:00
kunalgosar
691f61983a added isAway property to MyAvatar 2017-02-10 17:28:12 -08:00
Andrew Meadows
ee702f945f cleanup around when to send identityPacket 2017-02-10 13:14:20 -08:00
Seth Alves
b34341b48e Merge pull request #9631 from AndrewMeadows/workaround-avatar-update-dos
Remove avatarEntityData cruft from settings
2017-02-09 10:40:00 -08:00
Andrew Meadows
e02810458b clear old avatarEntityData when saving settings 2017-02-08 14:14:48 -08:00
Brad Hefta-Gaub
eedfc4fd38 fix various bot related bugs 2017-02-08 12:35:00 -08:00
Andrew Meadows
cc301d1c1a remove legacy empty avatarEntityData settings 2017-02-08 11:50:15 -08:00
Seth Alves
fa61bbe2a6 Merge branch 'master' of github.com:highfidelity/hifi into tablet-ui 2017-01-26 18:21:39 -08:00
ZappoMan
29fff2e556 Merge branch 'master' of https://github.com/highfidelity/hifi into tuneAvatarInfo 2017-01-23 13:09:59 -08:00
ZappoMan
292d472a59 checkpoint - got first cut at distance based rotation tolerance working 2017-01-23 13:06:29 -08:00
Seth Alves
be8bc9652b Merge branch 'master' of github.com:highfidelity/hifi into tablet-ui 2017-01-23 09:44:04 -08:00
Seth Alves
47b59ffae3 don't save tablet to Settings when logging out or switching domains 2017-01-19 14:10:48 -08:00
Andrew Meadows
bfbef91f53 re-enable cauterization of meshes for MyAvatar 2017-01-19 12:56:07 -08:00
Seth Alves
e76f1c5937 if another avatar has something hung from their camera, don't act like their camera is my camera 2017-01-17 13:28:13 -08:00
ZappoMan
c9c311e275 checkpoint for distance joints 2017-01-15 11:47:48 -08:00
ZappoMan
aed1b69ee0 make the avatar bounding box be avatar local and only change when it actually changes 2017-01-12 17:19:06 -08:00
ZappoMan
636ade9eb7 Merge branch 'master' of https://github.com/highfidelity/hifi into tuneAvatarInfo 2017-01-09 11:29:54 -08:00
Brad Davis
e5e9ab42ea Encapsulate AnimPose members for easier optimizations 2016-12-28 12:11:24 -08:00
Brad Hefta-Gaub
73bfc069da more work on only sending changes 2016-12-27 17:19:55 -08:00
Brad Hefta-Gaub
5e65e3991c CR feedback 2016-12-20 21:03:10 -08:00
Brad Hefta-Gaub
8497ad1e29 Merge branch 'master' of https://github.com/highfidelity/hifi into addViewFrustumToAvatarMixer 2016-12-15 16:42:41 -08:00
Brad Hefta-Gaub
ed19b4b592 remove compression at the per avatar data buffer for now, since it gave no benefit 2016-12-15 14:13:38 -08:00
Seth Alves
26639aac15 Merge pull request #8789 from Atlante45/fix/settings
Use JSON for application Settings
2016-12-15 07:00:46 -08:00
Brad Hefta-Gaub
2290179281 add compression and minimal data flags to AvatarData 2016-12-14 11:47:45 -08:00
Zach Fox
7030c7b0a6 Space bubble improvements (#9142)
* The space bubble around a player's avatar is now visualized. When another avatar enters a player's bubble, The bubble visualization will appear, a soft tone will play, and the "Bubble" HUD button will flash.
* The space bubble radius setting has been removed. Space bubble size now scales based on avatar scale.
* Space bubble collision detection is now more accurate and reliable.
* CTRL + N toggles the bubble.
* The "Bubble" HUD button has been moved to the proper location.
2016-12-12 14:22:54 -08:00
Anthony J. Thibault
89ae3b3d6e Revert "Merge pull request #8691 from highfidelity/out-of-body-experience"
This reverts commit efe9571ab8, reversing
changes made to 333e9ec7f4.
2016-12-05 15:18:03 -08:00
Anthony J. Thibault
49ce04e214 Revert "Merge pull request #9150 from hyperlogic/bug-fix/driving-while-flying-in-hmd"
This reverts commit a69d77ffbe, reversing
changes made to 996d3f5875.
2016-12-05 15:17:32 -08:00
Anthony J. Thibault
e8b5b56df7 Revert "Merge pull request #9151 from hyperlogic/bug-fix/reset-sensor-in-desktop-mode"
This reverts commit 119653bceb, reversing
changes made to a69d77ffbe.
2016-12-05 15:16:49 -08:00
Andrew Meadows
119653bceb Merge pull request #9151 from hyperlogic/bug-fix/reset-sensor-in-desktop-mode
Fix for reset sensors while in desktop mode.
2016-12-05 13:46:53 -08:00
Anthony J. Thibault
6d82410bc5 Fix for away.js teleporting user when in desktop mode
away.js calls MyAvatar.centerBody, however centerBody is only meaningful in HMD mode.
To guard against this, MyAvatar::centerBody is now a no-op if the application is not in HMD mode.
2016-12-05 10:53:20 -08:00
Anthony J. Thibault
349f0355ae Fix for reset sensors while in desktop mode.
Previously hitting ' a.k.a. reset sensors, would teleport you to the last
position you were in before you switched into desktop mode, or the spawn location.

This fixes that behavior but not re-centering the avatar while in desktop mode.
2016-12-05 10:42:20 -08:00
Anthony J. Thibault
a0f93dad2c Fix for driving/turning while flying in HMD mode
The internal MyAvatar:_sensorToWorldMatrix was being updated properly, however
the MyAvatar::_sensorToWorldMatrixCache was not. To fix this I've introduced
a new "mode" to updateSensorToWorldMatrix that does not change the sensorToWorldMatrix at all,
but properly copies the value to the cache and also updates hand controller poses etc.
2016-12-05 10:14:03 -08:00
Seth Alves
efe9571ab8 Merge pull request #8691 from highfidelity/out-of-body-experience
Room Scale HMD comfort features.
2016-12-01 11:09:39 -08:00
Andrew Meadows
445c730ca3 remove cruft, fix formatting and spelling 2016-12-01 10:38:13 -08:00
Atlante45
3035d43772 Merge branch 'master' of https://github.com/highfidelity/hifi into fix/settings 2016-11-21 13:05:08 -08:00
Anthony J. Thibault
38ac6fff03 Hand Controller rendering is camera relative
Basically, when using the third person camera in HMD mode.  If the controllers are shown.
They should be shown in front of the users camera, not in front of the users avatar.

To accomplish this, two new faux joint indices are introduced.
CAMERA_RELATIVE_CONTROLLER_RIGHTHAND_INDEX and CAMERA_RELATIVE_CONTROLLER_LEFTHAND_INDEX.

These joint indices can be used for Overlay parenting. (But not for entity parenting because they are not transmitted over the network).
They can also be queried for by using the MyAvatar.getAbsoluteJointRotationInObjectFrame() call.

These new indices are now used by the controllerDisplay.js for the hand controller rendering.
They are also used by system/libraries/controllers.js as the origin for hand controller grabbing and interaction lasers.
2016-11-17 11:33:12 -08:00
Andrew Meadows
a04b7ae297 fix hover-drive in HMD 2016-11-15 11:45:09 -08:00
Andrew Meadows
6bb3dd6830 Merge hifi/master into hifi/out-of-body-experience 2016-11-14 15:08:04 -08:00
Seth Alves
15c247fc5e quiet warnings 2016-11-11 06:37:22 -08:00
Stephen Birarda
020942c826 better handling for a flipped min/max scale 2016-11-10 16:50:36 -08:00
Stephen Birarda
88c63332de protect flipped min/max scale in avatar mixer settings 2016-11-10 16:21:48 -08:00
Stephen Birarda
272d0c845e add clarifying comments about target scale changes 2016-11-10 15:25:15 -08:00
Stephen Birarda
d5722c1654 fix clamping of scale and DRY it up 2016-11-10 15:03:13 -08:00
Stephen Birarda
9fdde49d14 clamp target scale changes on both ends 2016-11-10 14:54:42 -08:00
Stephen Birarda
6f442a74b1 request settings from agents and debug results 2016-11-10 14:43:15 -08:00
Stephen Birarda
77ede81fc9 limit MyAvatar scale to limits from domain settings 2016-11-10 13:27:13 -08:00
Andrew Meadows
ccdf383151 Merge hifi/master into hifi/out-of-body-experience 2016-11-07 08:24:26 -08:00
Seth Alves
f47aeae2a7 stop passing bare pointers to EntityTreeRenderer all around 2016-10-27 10:10:22 -07:00
Anthony J. Thibault
69bd4ccea2 Show hand controllers when out-of-body for more then 3/4 of a second
Without the timer, the hands can flicker in and out of visibility when lightly brushing against collision.
2016-10-24 18:16:05 -07:00
Andrew Meadows
8ecc23f62b HMD drive stops against simple walls 2016-10-24 08:26:44 -07:00
Andrew Meadows
66479808ba cleanup velocity calculation in HMD mode 2016-10-24 08:26:44 -07:00
Andrew Meadows
6f5f6d2493 adding ray shotgun scan for avatar motion
using the shotgun scan results to deterimine if slope is walkable
2016-10-17 17:58:52 -07:00
Anthony J. Thibault
81db8f7e08 Merge branch 'master' into out-of-body-experience 2016-10-13 17:27:15 -07:00
Brad Hefta-Gaub
37e58d123e Merge pull request #8793 from AndrewMeadows/recenter-above-ground2
prevent avatar from recentering below ground
2016-10-13 13:50:06 -07:00
Andrew Meadows
867fc3ccbf prevent avatar from recentering below ground 2016-10-12 13:23:44 -07:00
Anthony J. Thibault
ba4c356d7f Deadlock fix in avatar grab action.
Reverse the order we acquire the entityTree & holdActions locks, to avoid deadlocks when the network thread also acquires them.
The network thread does this when hold actions from other avatars are received.
2016-10-12 11:05:19 -07:00
Atlante45
d5429e76da Warnings fixes and cleanup 2016-10-12 10:20:19 -07:00
Andrew Meadows
ef465d4443 prevent avatar from recentering below ground 2016-10-11 16:37:29 -07:00
Anthony J. Thibault
b0c7564b60 Fix for debug assert in glm::lerp() 2016-10-05 18:06:49 -07:00
Anthony J. Thibault
aab974e6ae Merge branch 'master' into out-of-body-experience 2016-10-04 11:17:52 -07:00
Anthony J. Thibault
dcd425a165 Add an entityTree lock around the AvatarHoldAction::lateAvatarUpdate calls 2016-10-04 10:56:44 -07:00
Anthony J. Thibault
327fcc970b Remove frame lag from near grabbed physical objects.
In the game loop, physics occurs before avatar update.
Before this PR, when the avatar is moved during avatar update, near grabbed objects will not pick up this move until one frame later, when
the physics is run on the next update.

After this PR, near grabbed objects are adjusted to reflect any position or rotation change that occurred during the avatar update.
2016-10-03 16:01:54 -07:00
Anthony J. Thibault
62dc250237 removed DebugDraw calls 2016-09-27 16:48:15 -07:00
Anthony J. Thibault
961d262df1 Improved body follow behavior
* follow helper lean re-centering / reconciliation now modifies bodySensorMatrix, NOT the character controller.
* The character controller now always follows the bodySensorMatrix (in world space).

This decouples the lean re-centering velocity from the velocity used to move the character controller.
We can now independently tune these things separately.
2016-09-27 16:38:48 -07:00
Anthony J. Thibault
203ff95849 Animation tuning to reduce foot sliding.
* Navigation walk speed has been reduced
* Tuned IdleToWalk timescale and interp time to reduce foot sliding
* Tuned fwd, back and lateral characteristicSpeeds to better match the
  animations.  This reduces foot sliding when moving forward and backward.
* Reduced rig state machine hysteresis to 1/60th of a second.
2016-09-26 09:59:50 -07:00
Anthony Thibault
27e6c0f872 Added debug draw path trace for left and right feet 2016-09-24 13:01:16 -07:00
Anthony J. Thibault
f4c4b3474b capsule projection and distance tests now work for non-vertical capsules 2016-09-23 16:55:38 -07:00
Anthony J. Thibault
9567ec11af Prevent character from walking when pinned against collision.
This is fixed by using the pre-action velocity from CharacterController, which does not include any motors or follow velocity.
This pre-action velocity reflects the actual rigid body velocity after collision constraints are resolved.

This should prevent the character f
2016-09-23 15:22:52 -07:00
Anthony J. Thibault
b68dbab994 Fix for incorrect hand offset when backing into collision.
We know properly account for the offset of the head due to clamping from a small maxHipsOffset.
This means the hands should look more natural when you are out-of-body and are moving your hand controllers.
2016-09-23 11:47:44 -07:00
Anthony J. Thibault
1f7dc25f12 MyAvatar.addThrust() works again. 2016-09-21 11:48:54 -07:00
Anthony J. Thibault
4c99848f29 disable vertical re-centering behavior 2016-09-20 17:05:01 -07:00
Anthony J. Thibault
4afd60f22a Flying behavior now works again 2016-09-20 16:01:39 -07:00
Andrew Meadows
7258835f3f restore orientation from physics to Avatar 2016-09-20 09:14:11 -07:00
Andrew Meadows
59e6ca8f8d avatar follows HMD using velocity motor 2016-09-20 08:29:55 -07:00
Andrew Meadows
8dd5c9b92b fix kinematic motion for ground and hover 2016-09-20 08:29:55 -07:00
Andrew Meadows
80b970f2d9 adding MyAvatar::_canonicalScale, but not used yet 2016-09-20 08:29:55 -07:00
Andrew Meadows
e6d40e6e4d Merge pull request #8625 from hyperlogic/bug-fix/oobe-desktop-motor-fix
Fixed motor velocity
2016-09-19 17:04:54 -07:00
Anthony J. Thibault
6f0acb3826 Fixed motor velocity in HMD mode 2016-09-19 16:56:36 -07:00
Anthony J. Thibault
a028d3ba58 Remove hacks for debug rendering of IK targets
A AnimContext class was introduced.  This context is passed into every node during evaluation/overlay.
It holds non-animVar "global" data passed from the application.
2016-09-19 15:03:46 -07:00
Andrew Meadows
c77f6a7c16 Merge pull request #8614 from hyperlogic/out-of-body-experience
Turn and drive the HMD with linear velocity
2016-09-16 15:43:29 -07:00
Andrew Meadows
20418d5f58 fix hips sweep test 2016-09-15 18:39:57 -07:00
Anthony J. Thibault
c7caf9fe06 Turn and drive the HMD with linear velocity 2016-09-15 17:08:36 -07:00
Andrew Meadows
83157b573a measure max hips offset and clamp it in IK 2016-09-15 14:55:04 -07:00
Anthony J. Thibault
d51898f60d Merge branch 'out-of-body-experience' of github.com:highfidelity/hifi into out-of-body-experience 2016-09-15 14:23:38 -07:00
Andrew Meadows
821570fa76 fix Windows build and minor format/namechange 2016-09-15 09:32:03 -07:00
Andrew Meadows
f5c5c68937 adding kinematic character controller demo 2016-09-14 11:43:52 -07:00
Anthony J. Thibault
bc130eaf26 ramp support with comfort mode option 2016-09-13 16:26:10 -07:00
Anthony J. Thibault
0fde3a2d76 Fix for TRUNCATE_IK_CAPSULE globals 2016-09-13 10:26:38 -07:00
Anthony J. Thibault
362e185098 Revert "When out-of-body have your avatar face toward your HMD."
This reverts commit ffb1bae1f0.
2016-09-13 09:54:19 -07:00
Andrew Meadows
954d690b8a expose setting avatar collisionless 2016-09-12 16:24:08 -07:00
Anthony J. Thibault
ffb1bae1f0 When out-of-body have your avatar face toward your HMD. 2016-09-12 16:20:13 -07:00
Anthony J. Thibault
baee5180c1 Moved outOfBody detection into MyAvatar::FollowHelper
in preparation for different follow behavior for in-body and out-of-body.
2016-09-12 11:52:27 -07:00
Anthony J. Thibault
5e0c2286ec Use OUTOFBODY_HACK as searchable token 2016-09-12 10:58:06 -07:00
Andrew Meadows
0f248c4540 expose MyAvatar::setSensorToWorldMatrix() 2016-09-09 16:31:36 -07:00
Anthony J. Thibault
7e7803c648 Added developer option to draw IK targets in world. 2016-09-09 12:50:34 -07:00
Andrew Meadows
bc56df0be1 out-of-body with reduced recovery speeds 2016-09-08 14:31:31 -07:00
Seth Alves
dc31525794 remove some left-over code 2016-08-31 16:39:57 -07:00
Seth Alves
78f54a7f33 get rid of some jitter in equipped items. do a better job of deciding when something equipped has been torn-away 2016-08-30 14:39:11 -07:00
Seth Alves
5bda94b2ba use same data as used for drawing show-hand-targets for controller joints in MyAvatar 2016-08-30 12:39:30 -07:00
Seth Alves
9394a25a1c remove some anti-jitter code that was doing more harm than good 2016-08-26 12:47:19 -07:00
Seth Alves
9884426ad8 replace debugging aborts with asserts 2016-08-26 06:13:33 -07:00
Seth Alves
dfae5b64bd attempt to avoid jitter of held entity while walking 2016-08-25 16:42:40 -07:00
Seth Alves
39f52b3682 start on faux avatar joint that represent hand controllers 2016-08-25 10:58:23 -07:00
Anthony J. Thibault
c6ea64926c Sensor space entity support
You can do this by parenting an entity to an avatar's -2 joint index.
This will mean that the entity will follow the avatar as it moves in the world, but
will not follow the avatar's position as it moves in sensor space.  Essentially, this
gives you the ability to place objects in the user's physical room.

WebTablets now are located in this feature and no longer jitter.
2016-08-23 10:13:06 -07:00
Brad Davis
a32ab77b7d Address issues with random camera locations caused by bad HMD sensor poses 2016-08-17 15:22:30 -07:00
Atlante45
51b45f8f73 Steam invite are facing the current position 2016-08-08 15:39:25 -07:00
Seth Alves
75f9626c2d if MyAvatar simulation is cut short (due to no skeleton), still update the head position 2016-08-02 11:50:53 -07:00
Brad Hefta-Gaub
41e02276e5 Merge pull request #8297 from hyperlogic/feature/fst-anim-graph-override
Support for animGraphUrl override in FST file.
2016-07-23 13:42:46 -07:00
Anthony Thibault
2429b82b5e Support for animGraphUrl override in FST file. 2016-07-21 17:17:08 -07:00
Anthony J. Thibault
837b19ed1b fix for pushing avatar into floor when exiting away mode.
* Removed MyAvatar.reset() access from JavaScript
* Added HMD.centerUI() to JavaScript, which can be used to reset the 3D UI sphere around the current HMD orientation.
* Added MyAvatar.clearIKJOintLimitHistory() which can be used to reset any remembered IK joint limit history.
* Added MyAvatar.centerBody() which can be used to instantly re-orient the avatar's so that the hips and toes
  are facing the same direction as the current HMD orientation.

away.js now uses the above new API's instead of MyAvatar.reset()
2016-07-19 14:42:24 -07:00
Howard Stearns
81300ec127 turn hud reset behavior on by default 2016-06-18 14:35:37 -07:00
Bradley Austin Davis
175dbb8924 Merge remote-tracking branch 'upstream/master' into vive-ui 2016-06-14 09:48:56 -07:00
Chris Collins
b14f9cd312 Merge pull request #8041 from sethalves/fix-avatar-entity-locking
Fix avatar entity locking
2016-06-13 13:10:32 -07:00
Anthony J. Thibault
ccf85c1f7c Merge branch 'vive-ui' into bug-fix/hmd-ui-center-improvements 2016-06-13 09:48:58 -07:00
Anthony J. Thibault
f6ed5a1dae Bugfixes based on feedback
* When the overlay is hidden because your head is too close to the sphere,
  instead of coming back immediately, it waits until the avatar's velocity is near zero
  for a period of time.
* Hooked up jump and fly to MyAvatar::hasDriveInput()
* Added an internal state machine to OverlayConductor to manage hiding/showing transitions.
* The overlay menu state is now tied directly to the overlay, so it will change state as the
  overlay is dynamically hidden/shown from code.
* Removed slot going directly from MenuOption::Overlays directly to OverlayConductor::setEnable().
2016-06-10 18:33:40 -07:00
Brad Hefta-Gaub
3c5af56421 Merge pull request #8010 from hyperlogic/feature/hmd-lean-recenter-property
Added MyAvatar.hmdLeanRecenterEnabled property
2016-06-09 12:17:51 -07:00
Anthony J. Thibault
1aae22f5a5 Optimized MyAvatar.getCharacterControllerEnabled()
Instead of doing a blocking queued invokeMethod, it just calls into CharacterController.isEnabled() which is now thread-safe.
2016-06-09 09:35:19 -07:00
Anthony J. Thibault
5ef6847dc3 HMD re-centering while driving improvements.
Previously the HUD fading in/out would also recenter the hmd sensor and the avatar, which caused many problems including:
  * The user's view could shift vertically.
  * Your avatar would briefly go into t-pose
  * other users would see your avatar go into t-pose.

Now we now move the UI sphere instead, which results in a much smoother experience.

MyAvatar: added hasDriveInput method.

OverlayConductor:
* removed avatar and sensor reset, instead the overlay's modelTransform is changed.
* revived STANDING mode, which is active if myAvatar->getClearOverlayWhenDriving() is true and you are wearing an HMD.
* SITTING & FLAT mode should be unchanged.
* Instead of using avatar velocity to fade out/fade in the hud, We use the presense or absanse of avatar drive input.
* Additionally, we check distance to the UI sphere, and quickly recenter the hud if the users head is too close to the actual hud sphere.

CompositorHelper:
* Bug fixes for ray picks not using the modelTransform.

HmdDisplayPlugin:
* Bug fixes for rendering not using the modelTransform.
2016-06-08 18:36:36 -07:00
Seth Alves
f070708b4a _avatarEntityData is accessed by more than one thread. 2016-06-08 15:53:54 -07:00
Anthony J. Thibault
30d8ae36e8 Added MyAvatar.characterControllerEnabled property 2016-06-07 16:55:32 -07:00
Howard Stearns
38d0d28603 Merge pull request #8021 from AndrewMeadows/walk-follows-camera
camera steers avatar when walking
2016-06-07 10:43:01 -07:00
Andrew Meadows
e6844e2468 use world-UP rather than head-UP 2016-06-04 21:11:31 -07:00
Andrew Meadows
49c835b6fc use camera twist for walk steering 2016-06-04 20:53:30 -07:00
Brad Davis
39dcd1f9bd Eliminate file IO contentions for the settings 2016-06-04 17:55:30 -07:00
Anthony J. Thibault
9292a9ce0b Added MyAvatar.hmdLeanRecenterEnabled property
Used to disable the 'room-scale' avatar re-centering code.
Disabling this can prevent sliding when the avatar is supposed to be sitting or mounted on a stationary object.

Also, removed a bunch of old, unused leaning and torso twisting code.
2016-06-03 13:56:32 -07:00
howard-stearns
9ff1a695f0 Merge branch 'master' of https://github.com/highfidelity/hifi into reset-hud-on-driving 2016-05-26 13:52:23 -07:00
howard-stearns
991da9e248 fix cut-paste error in settings. 2016-05-26 09:51:55 -07:00
howard-stearns
dc7d6d470d Don't reset head when we come back. 2016-05-25 12:21:50 -07:00
howard-stearns
2accccef9e Merge branch 'reset-hud-on-driving' of https://github.com/howard-stearns/hifi into reset-hud-on-driving 2016-05-25 11:32:01 -07:00
howard-stearns
8198a1b4d1 Add preference to control behavior. 2016-05-25 11:30:45 -07:00
howard-stearns
5d806cba7f Merge branch 'master' of https://github.com/highfidelity/hifi into reset-hud-on-driving 2016-05-25 10:47:31 -07:00
Anthony J. Thibault
edfce0d5ba MyAvatar: reset fix, for both oculus and vive 2016-05-23 16:34:19 -07:00
Anthony J. Thibault
a1c32f8c44 Merge branch 'master' into tony/improved-avatar-mixer-precision 2016-05-23 10:24:52 -07:00
Seth Alves
f91a2403be merge from upstream 2016-05-20 17:07:34 -07:00
Howard Stearns
3088a84035 Just bringing the code up to date and forcing a build to see how Jenkins/osx is doing.
Merge branch 'master' of https://github.com/highfidelity/hifi into reset-hud-on-driving
2016-05-20 08:04:38 -07:00
Anthony J. Thibault
7f131e2c4f Reset avatar as well as displayPlugin when "driving" 2016-05-19 15:00:08 -07:00
Seth Alves
74520f5c92 Merge branch 'master' of github.com:highfidelity/hifi into no-fly-zones 2016-05-19 09:49:44 -07:00
Seth Alves
419c744bd4 Merge branch 'master' of github.com:highfidelity/hifi into avatar-entities-3 2016-05-19 09:49:18 -07:00
Anthony J. Thibault
0294066668 Removed pupilData and translationRadix from AvatarData packet. 2016-05-18 16:41:50 -07:00
Andrew Meadows
aa171578b7 remove cruft 2016-05-17 14:58:14 -07:00
Andrew Meadows
c64612c42b namechange keyboardMotor --> actionMotor 2016-05-17 14:46:50 -07:00
Andrew Meadows
e4cb6e2b87 order-independent CharacterController motors 2016-05-17 14:02:49 -07:00
Seth Alves
a0c3224705 Merge branch 'master' of github.com:highfidelity/hifi into no-fly-zones 2016-05-16 10:56:09 -07:00
Seth Alves
3876a8037c Merge branch 'master' of github.com:highfidelity/hifi into avatar-entities-3 2016-05-16 09:51:20 -07:00
Seth Alves
6277bf8603 if avatar is set to the default avatar file that came with the distribution, don't save that url to settings. never send a file url to the avatar-mixer. 2016-05-13 16:37:43 -07:00
Seth Alves
c9c619916c Merge branch 'master' of github.com:highfidelity/hifi into no-fly-zones 2016-05-11 19:37:57 -07:00
Seth Alves
fcd2e45d67 merge from upstream 2016-05-11 18:45:32 -07:00
Seth Alves
ac506dc4b7 where needed, copy clientOnly into properties before calling queueEditEntityMessage 2016-05-11 12:46:16 -07:00
Seth Alves
872f1b0c64 clear avatarEntity data for entities that are deleted 2016-05-10 17:48:55 -07:00
Anthony J. Thibault
80a349c65b Merge branch 'master' into tony/improved-avatar-debug-draw 2016-05-10 14:50:13 -07:00
Seth Alves
4c1f815870 Merge branch 'master' of github.com:highfidelity/hifi into avatar-entities-3 2016-05-10 10:09:40 -07:00
Brad Hefta-Gaub
d7eee98acc Merge pull request #7827 from AndrewMeadows/threadsafe-viewfrustum
resurrection of threadsafe ViewFrustum
2016-05-10 09:06:38 -07:00
Anthony J. Thibault
641e152699 Eye tracking bug fix and debug rendering improvement
* Bug fix for eye tracking in HMD, the "up" orientation of your eyes now match your head.
* DebugDraw: added drawRay method.
* Application: Renamed preRender to postUpdate
* AvatarManager: added postUpdate method that iterates over all avatars.
* MyAvatar: Renamed preRender to preDisplaySide
* MyAvatar: split preRender code into postUpdate and preDisplaySide.
* Removed "Show who is looking at me", "Render focus indicator" and "Render lookat target" debug draw.
* Split "Show Look At Vectors" into "Show My Look At Vectors" and "Show Other Look At Vectors", to make it easier to debug eye tracking.
* "Show Look at Vectors" now draws the right eye red and the left eye blue.
* Removed Avatar and MyAvatar renderBody
* Removed look at rendering from head.
* GLMHelpers: Bugfix for generateBasisVectors when up primary and secondary axis were orthogonal
2016-05-08 16:20:32 -07:00
Seth Alves
0e6d9a1eec avatar mixer can relay "client-only" entities between interfaces -- the entity server wont know about them. 2016-05-07 14:48:31 -07:00
Andrew Meadows
7d6424bdcc Head::render() was cruft 2016-05-05 18:28:27 -07:00
Andrew Meadows
71b2d647e8 add locks and explicitly copy ViewFrustums 2016-05-05 18:28:27 -07:00
Andrew Meadows
bcf2cc8074 use references not pointers for ViewFrustums
also unravelling some spaghetti:
(1) split Octree stuff out of ViewFrustum
(2) moved ViewFrustum from octree to shared lib
(3) removed some cruft
2016-05-05 18:28:27 -07:00
Atlante45
07adef9465 Fix entities collision sounds 2016-05-05 14:55:28 -07:00
Atlante45
96ee33e80e Fix avatars collision sounds 2016-05-05 14:55:28 -07:00
Brad Hefta-Gaub
49d02b802a Merge pull request #7719 from zzmp/feat/resource-prefetch
Add prefetching to exposed caches
2016-05-02 18:04:26 -07:00
Seth Alves
4feb2944ed hook up zone's ghostingAllowed flag 2016-05-01 15:27:49 -07:00
Seth Alves
ef85cc7803 hook up zone flyingAllowed flag to character controller 2016-05-01 14:47:12 -07:00
Andrew Meadows
8a691cf449 Merge pull request #7765 from hyperlogic/tony/cone-sphere-angle
Improve eye tracking when face to face
2016-04-27 16:54:07 -07:00
Zach Pomerantz
bc8a171fde Merge branch 'master' of github.com:highfidelity/hifi into feat/resource-prefetch 2016-04-27 11:55:24 -07:00
Anthony J. Thibault
71f67c99cc MyAvatar: use coneSphereAngle for eyeTracking look at targets 2016-04-26 13:43:03 -07:00
Anthony J. Thibault
b7f157f4ff Reset avatar on exit of away-mode.
Exposed MyAvatar.reset(bool) to script.
away.js now calls this on exit of away-mode.
2016-04-25 14:10:20 -07:00
Anthony J. Thibault
0c200e8c00 MyAvatar: coding convention fix for updateEyeContactTarget() 2016-04-25 09:27:43 -07:00
Anthony Thibault
0da3fb8eee Eye contact improvements
* After eyes change targets there is now a minimum 1/3rd second delay before they will again.
* Changing gaze from eye to mouth is less likely then switching between eyes.
2016-04-24 18:50:14 -07:00
Brad Hefta-Gaub
79a1e6264e Merge pull request #7714 from hyperlogic/tony/default-anims-are-local
Avatar animations are now stored locally
2016-04-22 13:44:30 -07:00
Zach Pomerantz
e3131d2098 Rm prefetchAnimation from avatar/rig 2016-04-20 20:14:15 -07:00
Anthony J. Thibault
8e5785cdf8 Avatar animations are now stored locally
Improves FTUE, by no longer going over the network to download default avatar animations.
This also includes support for relative animation urls within the animation.json
2016-04-19 16:11:14 -07:00
Zach Pomerantz
fc61f85bf9 Merge pull request #7698 from hyperlogic/tony/avatar-on-load-complete-callback
Added MyAvatar onLoadComplete Callback
2016-04-19 10:36:20 -07:00
Brad Hefta-Gaub
8eff47f922 Merge pull request #7705 from hyperlogic/tony/avatar-attachment-lag-fix
Fix for laggy avatar attachments
2016-04-19 07:15:38 -07:00
Anthony J. Thibault
279e77f523 updated comment 2016-04-18 15:18:08 -07:00
Anthony J. Thibault
544928b46e MyAvatar: fix for laggy avatar attachments 2016-04-18 14:51:33 -07:00
Anthony J. Thibault
dc92ccc2b2 MyAvatar: Removed unnecessary slot. 2016-04-18 13:19:49 -07:00
Anthony J. Thibault
1682598be7 Added onLoadComplete signal to MyAvatar
This can be used in javaScript to detect when the model has finished loading because the url has changed or the model has been reset.
2016-04-18 11:37:02 -07:00
Brad Davis
f3e5306f90 Working on an automated performance test 2016-04-17 10:20:00 -07:00
Anthony J. Thibault
93a5bdd79a Prevent avatar rotation due to HMD head turning in third-person camera.
Also, fix one frame glitch during snap turning, by updating the sensorToWorld matrix
after the MyAvatar::updateOrientation rotates the avatar, but before we perform IK.
2016-04-08 15:27:43 -07:00
Seth Alves
537c6fa3c6 fix indentation 2016-03-29 15:39:42 -07:00
Seth Alves
9d8e01f2a5 lock entity-tree before moving entity-children of avatars 2016-03-29 15:01:23 -07:00
Zach Pomerantz
c5e5195db1 Merge branch 'master' of github.com:highfidelity/hifi into feat/geocaching 2016-03-25 12:07:00 -07:00
Anthony J. Thibault
6a5a443eff Avatar: Eye-tracking works again
This replaces the calculation of the Head left and right eye positions used for eye tracking.
Which was inadvertently removed in this commit 7483b8546b
2016-03-24 18:07:46 -07:00
Zach Pomerantz
3e9e083df5 Update users of NetworkGeometry 2016-03-24 11:35:41 -07:00
Anthony J. Thibault
df187499ff MyAvatar: fix jitter in hands when moving
Store hand controller positions within the avatar in sensor space, not world space.
Before IK the sensorToWorld matrix is updated to reflect the world space motion of the
character controller during physics.  This ensures the IK hand targets move properly with the character.
2016-03-22 19:19:52 -07:00
Anthony J. Thibault
7cab8f63fb Merge branch 'master' of github.com:highfidelity/hifi into tony/no-locks-no-problem 2016-03-21 16:03:33 -07:00