Commit graph

1314 commits

Author SHA1 Message Date
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
Anthony J. Thibault
ce47f83288 Prevent deadlock if idle is called during rendering
This extraordinary event can occur if a MessageBox is popped up by the opengl driver.

* removed AvatarData::avatarLock
* removed AvatarUpdate

This code was left over from an earlier avatar threading experiment.

Removed AvatarData avatarLock and AvatarUpdate class
2016-03-21 15:11:15 -07:00
Andrew Meadows
0a00436700 Merge pull request #7411 from ZappoMan/fixBlenderCrashRedux
Fix blender crash redux
2016-03-21 15:04:22 -07:00
Brad Hefta-Gaub
492e71345a Revert "Revert "Fix ModelBlender crash""
This reverts commit f274cdcc7f.
2016-03-21 11:42:25 -07:00
Brad Hefta-Gaub
f274cdcc7f Revert "Fix ModelBlender crash" 2016-03-21 10:47:31 -07:00
Anthony J. Thibault
d218ca4960 openvr: fix for crash on exit
Before this fix, a script could call into HMD.getHUDLookAtPosition2D() while the app was shutting down, which in turn would call
getHeadPose() on the currently active display plugin.  This call could cause a crash within the openvr plugin, because the SDK was either shutdown, or in the process of shutting down on the main thread.

This fixes this by spliting the previous DisplayPlugin::getHeadPose(int) into two parts:

* updateHeadPose(int) which is only called once a frame and only by the main thread.
* getHeadPose() which is thread-safe and will return a cached copy of the hmd pose sampled by the last updateHeadPose.
2016-03-18 12:26:11 -07:00
Brad Hefta-Gaub
917c4644a5 make SkeletonModel be shared_ptr friendly as well 2016-03-17 18:03:49 -07:00
Brad Hefta-Gaub
7483b8546b remove FaceModel, make Model support shared_from_this() so we can ave shared and weak pointers to it 2016-03-17 17:05:35 -07:00
Brad Hefta-Gaub
11e88f965d Merge pull request #7347 from hyperlogic/tony/prevent-roll-in-goto-location
MyAvatar: prevent roll and pitch in avatar via snapshot url.
2016-03-14 18:58:49 -07:00
Anthony Thibault
1e94d9bdf5 interface/src/avatar: cppcheck fixes 2016-03-13 18:56:15 -07:00
Anthony Thibault
b921ac7757 MyAvatar: prevent roll and pitch in avatar via snapshot url. 2016-03-13 11:32:48 -07:00
Anthony Thibault
ab390f7d2e Merge branch 'master' into tony/smooth-hands 2016-03-11 10:06:31 -08:00
Anthony J. Thibault
5eeb4ca594 Fix one frame lag controller lag/jitter
Move userInputMapper->update() after inputPlugin->pluginUpdate().
2016-03-11 09:28:25 -08:00
Anthony J. Thibault
ab19d3e5a2 Moved animation after physics, hand poses are in world frame.
There are still some debug hacks enabled so I can test in the vive room.
2016-03-10 20:44:35 -08:00
Anthony J. Thibault
807d31743c Removed Hand, HandData & PalmData
Instead, we just store two controller::Poses in MyAvatar.
Existing behavior and scripting APIs have been preserved.

The hand controller debug drawing is slightly different, but still works.
2016-03-10 19:33:31 -08:00
Anthony J. Thibault
886457939d Merge branch 'master' into tony/wrong-way-overlay 2016-03-09 16:50:18 -08:00
Anthony Thibault
5df616be37 OpenVR: More usable UI Sphere overlay location
Also, added a debug option to display SensorToWorld matrix in Developer > Avatar menu.
2016-03-09 16:24:08 -08:00
Anthony J. Thibault
0d62b10a8f Added Mat4 support to script
Also, hooked up MyAvatar.sensorToWorldMatrix access to script.
2016-03-07 16:16:14 -08:00
Philip Rosedale
7c765f3d5a Merge pull request #7258 from hyperlogic/tony/better-lean-detection
MyAvatar: use a box instead of a sphere for horizontal re-centering
2016-03-07 15:05:10 -08:00
Chris Collins
7850ca3576 Merge pull request #7227 from hyperlogic/tony/eye-look-at-fixes
Avatar eye look at fixes for HMD and desktop
2016-03-07 11:50:16 -08:00
Anthony Thibault
2cbb41fd38 MyAvatar: bug fix for forward/backward lean detection 2016-03-07 10:11:22 -08:00
Anthony J. Thibault
aefeff2493 MyAvatar: Use a box instead of a sphere for horizontal re-centering 2016-03-07 09:50:38 -08:00
Anthony Thibault
0de19d13c4 MyAvatar: open up horizontal leaning threshold 2016-03-04 15:28:38 -08:00
Anthony Thibault
37ba0ecd9f MyAvatar: prevent face from being visible when crouching
Overall, this should fix many of the issues with the head being visible when it shouldn't.
2016-03-04 11:48:55 -08:00
Anthony J. Thibault
dc456cbdbe MyAvatar: dropped vertical recenter limit. 2016-03-04 11:15:11 -08:00
Anthony J. Thibault
6e80665107 MyAvatar: reduced rotation re-center threshold to 30 degrees
Also, warning fix for Linux.
2016-03-01 17:45:16 -08:00
Anthony J. Thibault
2dfc517d14 MyAvatar: re-center vertically, on x & z drive keys 2016-03-01 16:45:36 -08:00
Anthony J. Thibault
be446f4e96 MyAvatar: separate rotation, horizontal and vertical HMD follow 2016-03-01 15:38:02 -08:00
Anthony J. Thibault
506e46faee MyAvatar: fix for missing include 2016-03-01 11:21:14 -08:00
Anthony J. Thibault
babf48ac57 MyAvatar: take IPD scale into account when computing corrected eye lookAt 2016-03-01 11:17:03 -08:00
Anthony J. Thibault
3cde972174 Rig: issue warnings for missing joints
Also, Removed Rig::computeEyesInRigFrame, it was causing warnings because it was looking up
Eye and Head joints for all models, not just avatars.
2016-03-01 11:07:22 -08:00
Anthony J. Thibault
99bd0f3d13 MyAvatar: fixes for eye look at
Users in desktop mode should now see the eyes change focus between the left eye, right eye and the mouth.
Users in mirror mode, or third person camera, should more accurately determine which avatar to look at.
2016-02-29 16:49:35 -08:00
howard-stearns
d8fe55ddc5 Proper default for snapTurn preference (and new name so as to update old
users).
2016-02-25 13:06:34 -08:00
Zach Pomerantz
3c4ab077be Init validOrientation for myAvatar calc 2016-02-24 13:16:45 -08:00
Brad Hefta-Gaub
2a18127a01 Merge pull request #7171 from jherico/avatar_qml_location
Allow avatar positioning from QML
2016-02-24 11:37:12 -08:00
Anthony J. Thibault
8f27424de7 MyAvatar: bug fix for avatar leaning 2016-02-23 14:30:51 -08:00
Brad Davis
2258a9cad9 Allow avatar positioning from QML 2016-02-23 12:16:41 -08:00
howard-stearns
20406a5a14 Remove comfortMode menu item, but add a Settings for snapTurn within MyAvatar. 2016-02-15 13:26:40 -08:00
Anthony J. Thibault
111ed65bf8 Controller Pose values are relative to Avatar.
Pass a InputCalibrationData to each inputPlugin and inputDevice.
This contains the most up sensorToWorldMatrix, avatarMat and hmdSensorMatrix.
Each input plugin can use this data to transform it's poses into Avatar space
before sending it up the chain.

This fixes a bug in the handControllerGrab.js script that relied on the hand controller
rotation/positions being in the avatar frame.
2016-02-11 17:18:01 -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
Anthony J. Thibault
2b10fea006 SpatiallyNestable: warn on failure. 2016-02-09 14:03:39 -08:00
Anthony J. Thibault
072172b1a2 SpatiallyNestable: now with velocity support!
Moved velocity and angularVelocity into the SpatiallyNestable base class.

Entity velocity and angularVelocity properties are now relative to their parent, similar to the way position and orientation work for entities.

MyAvatar rig animations now use SpatiallyNestable to convert velocity into local frame to drive the animation state machine.
2016-02-08 19:43:23 -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
7f2b822796 only setLastEdited on properties to be sent 2016-02-08 15:15:49 -08:00
Seth Alves
3030944ca1 set last-edited when updating a child's queryAACube 2016-02-08 15:09:11 -08:00
Anthony Thibault
c4f9a4805c MyAvatar: moving platform support
* pass sum of desired and parent velocity onto avatar's character controller.
* pass local position and velocity to Rig for animation purposes.
2016-02-07 14:07:40 -08:00
Babiuch, Ryan Nicholas
aab98db812 Merge branch 'master' of github.com:highfidelity/hifi 2016-02-05 12:49:38 -06:00
Babiuch, Ryan Nicholas
dca7ff967c Conform to coding standard. 2016-02-04 08:26:56 -06:00
Anthony J. Thibault
d2068678f4 MyAvatar: bumped up size of head, w.r.t. head cauterization.
This is to avoid some issues where face is visible when looking straight down.
Specifically, with the Albert avatar.
2016-02-03 16:08:11 -08:00
Anthony J. Thibault
027a2166f5 MyAvatar: Use head to turn while flying in HMD mode 2016-02-03 15:44:06 -08:00
Babiuch, Ryan Nicholas
d7951f4300 Merge branch 'master' of github.com:highfidelity/hifi 2016-02-03 14:52:08 -06:00
Babiuch, Ryan Nicholas
3d727d76c2 Merge branch 'master' of github.com:highfidelity/hifi 2016-02-03 13:39:13 -06: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
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
Andrew Meadows
e394f64540 Merge pull request #6991 from seefo/master
Added camera sensitivity dialog preferences
2016-02-02 08:22:45 -08:00
Brad Hefta-Gaub
711787a997 Merge pull request #6981 from howard-stearns/animate-iff-visible-with-step2-billboard-removal
Animate iff visible with step2 billboard removal
2016-02-01 13:54:25 -08:00
Babiuch, Ryan Nicholas
47f7d55e2c Working energy usage for entity manipulation.
- Working example in examples/example/ui/MyEnergyBar.js
2016-02-01 08:32:52 -06:00
Seefo
07043d537f Fixed Ubuntu warnings 2016-01-29 21:11:44 -05:00
Seefo
77050b13dc Adjusted default pitch/yaw speed 2016-01-29 19:41:34 -05:00
Seefo
ffa6687af3 Added setting dialogs for camera pitch and yaw 2016-01-29 19:34:57 -05:00
David Rowe
e07baf916b Fixed a typo noticed in passing 2016-01-30 12:30:21 +13:00
David Rowe
d2cdbebc94 Store avatar location after a teleport 2016-01-30 12:26:50 +13:00
howard-stearns
9601b65269 Merge branch 'master' of https://github.com/highfidelity/hifi into animate-iff-visible 2016-01-29 11:40:13 -08:00
howard-stearns
1225e50581 One round of billboard shredding. Server/wire/AvatarData have not been
touched.
2016-01-27 16:15:43 -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
James B. Pollack
86b2a67f72 Merge pull request #6891 from sethalves/avatar-updates-query-cube
Avatar updates query cube
2016-01-27 13:04:03 -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
Seth Alves
1fefe0fa0e when an avatar moves a child entity around, it has to invoke MovingEntitiesOperator to keep the local octree up-to-date 2016-01-26 13:30:55 -08:00