Commit graph

1331 commits

Author SHA1 Message Date
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
Anthony J. Thibault
3cee3cbb5a Avatar Developer Menu: added animation debug options
This options are for for developers only and might help debug animation related issues.

* Enable Inverse Kinematics: this can be toggled to disable IK for the avatar.
* Enable Anim Pre and Post Rotations: this option can be used to use FBX pre-rotations from source avatar animations, instead of the current default, which is to use them from the source model.
  This only effects FBX files loaded by the animation system, it does not affect changing model orientations via JavaScript.
2016-01-25 18:52:13 -08:00
Brad Hefta-Gaub
0c64d45c18 Merge pull request #6909 from hyperlogic/tony/fly
MyAvatar: fly animation
2016-01-22 17:04:53 -08:00
Anthony J. Thibault
7af20e90c8 Hooked up fly animation to json and Rig 2016-01-22 13:47:09 -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
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
2e1727610e MyAvatar updates the entity-server about queryAACubes of children entities 2016-01-21 15:52:59 -08:00
Brad Davis
b8109af196 Ignite the atmosphere 2016-01-21 15:15:15 -08:00
Brad Hefta-Gaub
6b76cf484d fix issues with HMD lookout 2D, and cleanup 2016-01-14 08:48:55 -08:00
Anthony J. Thibault
031f59b7b5 Support for adding soft attachments from script.
Also, bug fixes for setting MyAvatar.attachmentData property.
2016-01-07 16:12:36 -08:00
Andrew Meadows
b8b113844f reduced avatar max fly speed from 300 to 30 2016-01-06 11:22:58 -08:00
Anthony J. Thibault
9ea6079c64 Merge branch 'master' into tony/get-palm-thread-safe 2016-01-05 10:16:52 -08:00
Anthony J. Thibault
e7f3f549a5 Avatar getPalm* methods are thread-safe and non-blocking
Uses newly added ThreadSafeValue template class.
2015-12-29 15:10:38 -08:00
Anthony J. Thibault
c2dd00375d Merge branch 'master' into tony/soft-attachments 2015-12-29 13:21:37 -08:00
Anthony J. Thibault
1618e0a92f Network, Preferences and UI support for soft attachments
Added an isSoft field to the AttachmentData which is edited
by the Attachment Dialog Menu, sent over the network via
AvatarData identity packets and saved in the Interface.ini preferences.

AvatarData and AvatarBulkData version number has been bumped.

Changed Avatar attachment collections to use smart pointers to models
instead of raw ones.  Removed _unusedAttachmentModels.
I don't think the caching was worth the added code complexity.
2015-12-18 13:32:09 -08:00
Andrew Meadows
d6541e9ee7 angular velocity is a vector, not a quaternion 2015-12-18 11:06:58 -08:00
Andrew Meadows
0e1e5db7eb only need one animateScaleChanges() implementation 2015-12-15 18:18:08 -08:00
Andrew Meadows
cd1e3810ca set the scale of avatar on login, don't animate 2015-12-15 18:18:08 -08:00
Andrew Meadows
e9f52b1211 properly scale avatar collision shape 2015-12-15 18:18:08 -08:00
Brad Hefta-Gaub
7d43504c0c Merge pull request #6615 from hyperlogic/tony/js-avatar-default-pose
Expose Avatar default pose to JavaScript
2015-12-15 14:27:53 -08:00
samcake
571ccb3c20 cleaning up the code 2015-12-14 17:14:45 -08:00
samcake
ed2d45d0b6 HMD Mirror looks correct 2015-12-14 16:18:44 -08:00
Anthony J. Thibault
3f0cdb3c02 Merge branch 'master' into tony/js-avatar-default-pose 2015-12-14 11:19:24 -08:00
samcake
2aad26154e THis should fix the mirror and the skybox issue 2015-12-14 10:24:51 -08:00
samcake
1ddbc15df4 Exploring how to solve the mirror fullscreen bug 2015-12-11 17:47:33 -08:00
Brad Hefta-Gaub
a1a3c4470c reload own avatar on Content Reload 2015-12-11 11:02:16 -08:00
Anthony J. Thibault
652ce5501f Expose Avatar default pose to JavaScript
New JavaScript API to get the avatar's default pose.

   MyAvatar.getDefaultJointRotation(index);
   MyAvatar.getDefaultJointTranslation(index);

See `examples/tPose.js` for example usage
2015-12-10 13:57:31 -08:00
Seth Alves
8ca6c7acc3 Merge pull request #6611 from Atlante45/attachments
Fix Attachments jitter
2015-12-10 11:46:19 -08:00
Atlante45
739e184b52 Fix attachments jitter 2015-12-10 11:19:11 -08:00
Andrew Meadows
8c109fd623 move raw bullet code from interface to physics lib 2015-12-08 17:21:43 -08:00
Leonardo Murillo
25494ec867 Merge pull request #6562 from Atlante45/baseball
Baseball
2015-12-07 14:11:21 -08:00
Anthony J. Thibault
fd4ed29405 MyAvatar.clearJointData bug fix
MyAvatar.setJointRotation() now works properly after MyAvatar.clearJointData()
2015-12-07 09:03:40 -08:00
Atlante45
1d498af76e Merge branch 'master' of https://github.com/highfidelity/hifi into baseball 2015-12-04 15:18:25 -08:00
Brad Hefta-Gaub
f71d2d00d2 Merge pull request #6548 from jherico/threaded_present
Threaded present
2015-12-04 13:42:09 -08:00
Howard Stearns
a0a4f7d177 Merge branch 'master' of https://github.com/highfidelity/hifi into fix-anim-graph-preference-change 2015-12-04 11:08:44 -08:00
Brad Davis
b9ace94ff1 Prototyping threaded present 2015-12-04 10:28:16 -08:00
Howard Stearns
187c213f41 reset skeleton 2015-12-03 16:42:57 -08:00
howard-stearns
1b42c5a172 Make MyAvatar.get/setAnimGraphUrl take a url(!), and make setting it
actually do something.
2015-12-03 16:16:01 -08:00
Seth Alves
6eae98fb28 merge from upstream 2015-12-02 14:38:26 -08:00
Anthony J. Thibault
0b05a341a8 MyAvatar::reset() improvements
Body should not orient under the HMD body without changing the HMD view point.
It's more predictable and less likely to make you sick.
It also should reset the height of the character to cancel out squatting, if the HMD position is low.
2015-12-02 10:18:02 -08:00
Anthony J. Thibault
99065f10fa Avatar Warning fixes on linux 2015-12-01 18:12:01 -08:00
Atlante45
083205916f Merge branch 'master' of https://github.com/highfidelity/hifi into baseball 2015-11-30 18:25:53 -08:00
Seth Alves
b7ebe5b92b merge from upstream 2015-11-30 16:59:52 -08:00
Stephen Birarda
4573e5c59e resolve conflicts on merge with upstream/master 2015-11-30 13:32:38 -08:00
Seth Alves
ca75802b9c unmangle merge 2015-11-26 06:43:28 -08:00
Anthony J. Thibault
549a8f7130 Fix for avatars with no eyes
For example:

https://hifi-public.s3.amazonaws.com/ozan/avatars/hifi_team/howard/howard.fst
https://hifi-public.s3.amazonaws.com/ozan/avatars/hifi_team/tony/tony.fst
2015-11-25 17:24:55 -08:00
Anthony J. Thibault
868cf83b48 Fix for attachments and MyAvatar::getDefaultEyePosition() 2015-11-25 10:07:29 -08:00
Anthony J. Thibault
f120e10ff4 Merge branch 'master' into tony/remove-joint-states 2015-11-24 15:00:05 -08:00
Brad Davis
5c2b980a45 Fixing avatar facial blendshapes and attachments in recordings 2015-11-23 22:36:07 -08:00
Anthony J. Thibault
14189ac909 Move Y_180 flip rotation out of Rig
This Y_180 flip is defined in skeletonModel not in the rig.
This is important if we wish to use the Rig for both Avatars (180 flip) and Entity models (no 180 flip).

We can hide this 180 flip from script, if we wish, by including it in all the accessors to and from
MyAvatar -> skeletalModel -> Rig.

Added Quaternions::Y_180 to GLMHelpers.
2015-11-23 19:31:27 -08:00
Seth Alves
ba30e01664 include global position in avatar-mixer protocol so server knows where avatars are in world-space 2015-11-23 14:12:49 -08:00
Brad Davis
64ba5b4f14 Cleaning up old recording files 2015-11-23 09:42:34 -08:00
Anthony J. Thibault
821264a031 Merge branch 'master' of github.com:highfidelity/hifi into tony/remove-joint-states 2015-11-22 16:15:03 -08:00
Anthony J. Thibault
fe683edb66 Avatar Debug Draw Default Pose now works 2015-11-21 10:53:24 -08:00
Anthony J. Thibault
6cfd831a5a Menu: Added Developer > Avatar > Debug Draw Position
Also renamed "Debug Draw Bind Pose" to "Debug Draw Default Pose"
2015-11-21 09:50:56 -08:00
Seth Alves
f013f95e9b merge from upstream 2015-11-21 08:43:00 -08:00
Anthony J. Thibault
54408a9c87 AnimVars are now in avatar/rig space
This makes it much simpler for code out side of the rig to manipulate AnimVars

* Removed mat4 type from AnimVars
* AnimVariantMap now has a _rigToGeometryTransform matrix
  used to transform positions and rotations into the correct coordinate frame.
* Moved AnimPose code to extract a quat from a scaled matrix into GLMHelpers
2015-11-20 18:29:17 -08:00
Anthony J. Thibault
30087ef0bd Removed dead code 2015-11-20 14:37:53 -08:00
Anthony J. Thibault
a77ea8da43 Removed JointStates! You won't be missed. 2015-11-20 14:15:37 -08:00
Clément Brisset
f4b0492b33 Merge pull request #6436 from birarda/ghost-avatar
fix for ghosted avatars thanks to check/add race
2015-11-20 11:41:20 -08:00
Anthony J. Thibault
a4116e633a Removed last consumer of JointState class
Removed option to render IK constraints used by old animation system
2015-11-20 11:26:54 -08:00
Anthony J. Thibault
ad4b8e0001 Avatar transmission fixes, moved JointData into shared
* Moved JointData into shared library
* added methods to the rig to copy into and out of JointData
* JointData translations must be in meters this is so the
  fixed point compression wont overflow, also, it's a
  consistent wire format.
2015-11-20 10:24:24 -08:00
Stephen Birarda
22f5d4df6d change signature of copy return 2015-11-19 16:25:33 -08:00
Stephen Birarda
6398a922c6 leverage COW for AvatarHash 2015-11-19 15:43:29 -08:00
Anthony J. Thibault
982e2c06a9 Rig: Switched over to use AnimPoses instead of JointStates
* fixed debug rendering
* improved jointState/animPose diff detection code.
2015-11-19 12:14:04 -08:00
U-GAPOS\andrew
b7f501c0b3 use glm::quat_cast instead of extractRotation() 2015-11-19 10:42:53 -08:00
Anthony J. Thibault
721da29432 WIP checkpoint
* No longer normalizing scale in AnimSkeleton and AnimClip
  This means graph is animating in 'geometry' coordinates
  before unit scale is even applied.  This is necessary to
  properly work with both Avatar based models and ModelEntity
  based models

Many things are broken.
  * debug rendering (translations are x100)
  * IK hand targets
  * follow cam
  * I did not even dare to try HMD mode
2015-11-18 18:47:33 -08:00
Brad Davis
5b8047ded4 Make recording and playback work in interface, playback in agent 2015-11-18 14:04:45 -08:00
Anthony J. Thibault
b481d7c73d Merge branch 'master' into tony/remove-joint-states 2015-11-18 09:38:21 -08:00
Anthony J. Thibault
e93b5c5838 Bug fixes for avatars with no eyes
Changed default eye position to 1.9 meters because
the hifi_team avatars are 2.0 meters tall.

Also, prevent array access with negative indices when eye bones are missing.

ಠ_ಠ
2015-11-17 14:02:27 -08:00
Brad Davis
cb26fc67fc Move recording interface back to float/seconds 2015-11-16 14:44:22 -08:00
Howard Stearns
35f7a1cf10 Merge pull request #6391 from AndrewMeadows/sisyphus7
simplify MyAvatar::deriveBodyFromHMDSensor() take 2
2015-11-16 13:55:22 -08:00
U-GAPOS\andrew
df05a9c8aa fix bug: bodySensorMatrix constantly reset when walking 2015-11-16 12:02:16 -08:00
Seth Alves
36af315e5d Merge pull request #6383 from birarda/goodbye-packet
send a hopeful disconnect packet from ACs and Interface
2015-11-16 11:28:48 -08:00
Anthony J. Thibault
55adedcec8 Merge branch 'master' into tony/remove-joint-states 2015-11-16 11:22:44 -08:00
U-GAPOS\andrew
049fe4abee minor cleanup 2015-11-13 17:42:12 -08:00
samcake
8c21ac144e Fixing review comments 2015-11-13 16:45:19 -08:00
U-GAPOS\andrew
6733767d8b use animation state to compute bodyInSensorFrame 2015-11-13 16:39:40 -08:00
Stephen Birarda
e263453acb Merge branch 'master' of https://github.com/highfidelity/hifi into baseball 2015-11-13 14:48:26 -08:00
U-GAPOS\andrew
91bc7ca062 cleanup start/stop logic for HMD follow 2015-11-13 14:04:36 -08:00
Stephen Birarda
d932ba74fd remove the avatar kill packet from Interface 2015-11-12 17:58:12 -08:00
samcake
1fd37b51a2 trying to get somewhere.... 2015-11-12 17:54:35 -08:00
Brad Davis
ee1545f649 Cleaning up clip and transform 2015-11-12 11:48:47 -08:00
Stephen Birarda
ef778c554c Merge branch 'master' of https://github.com/highfidelity/hifi into baseball 2015-11-12 10:40:51 -08:00
Brad Davis
f521be10fe Avatar recording work in progress 2015-11-12 00:33:38 -08:00
Anthony J. Thibault
e698d3c1e8 Isolate JointStates within the Rig class
Except for SkeletalModel::computeBounds() JointStates are now completly
encapsulated by the Rig.  Now we can start using AnimPoses instead and
in parallel with the JointState implementation. Then we can assert that
they are identical, before removing JointStates.

This check in has many comments with the AJT tag.
Each one of these cases will need to be revisitied and fixed.
In particular // AJT: LEGACY will be used to enclose all code
in the Rig which manipulates the _jointState QVector.
2015-11-11 18:23:58 -08:00
Anthony J. Thibault
11440f92f4 Removed rig animations
* Deleted AnimationHandle class
* Removed enableAnimGraph and anableRigAnimations from Menu.
* Removed *some* references to old IK system.
  But it is still used when computing collision bounding volumes
2015-11-11 15:32:57 -08:00
Anthony J. Thibault
533773d1cd Removed animationHandles section from Avatar prefs 2015-11-11 13:21:37 -08:00
Anthony J. Thibault
56e96ed24c Merge branch 'master' into tony/script-start-stop-anim 2015-11-11 11:33:24 -08:00
Anthony J. Thibault
936c55a94e New MyAvatar animation JS interface
JavaScript changes:

* removed MyAvatar.playAnimation
* removed MyAvatar.stopAnimation
* removed MyAVatar.getGetAnimationDetails
* removed MyAvatar.startAnimationByRole
* removed MyAvatar.stopAnimationByRole
* removed MyAVatar.getGetAnimationDetailsByRole
* removed MyAVatar.clearJointPriorities

* added MyAvatar.overrideAnimation(url, fps, loop, firstFrame, lastFrame)
* added MyAvatar.restoreAnimation()
* added MyAvatar.getAnimationRoles()
* added MyAvatar.overrideRoleAnimation(role, url, fps, loop, firstFrame, lastFrame)
* added MyAvatar.restoreRoleAnimation(role)
* added MyAvatar.prefetchAnimation(url)

* update kneel.js with new api.
* added theBird.js to test role override api.

C++ changes:

* Added getParent() and replaceChild() to AnimNode
* Added findByName() and traverse() to AnimNode
* Changed AnimStateMachine to hold nodes by childIndex instead of smart pointer.
  This allows script to replace nodes dynamically via overrideRoleAnimation
2015-11-10 16:34:38 -08:00
Atlante45
ddf82c35e1 Merge branch 'master' of https://github.com/highfidelity/hifi into baseball 2015-11-10 14:18:49 -08:00
samcake
d3d5d3a19e Removing useless code 2015-11-10 12:02:20 -08:00
Anthony J. Thibault
eacc2cae0c WIP checkpoint 2015-11-09 18:36:23 -08:00
Anthony J. Thibault
af2b3bb9d5 MyAvatar: removed priority, hold and maskedJoints from playAnimation js call 2015-11-09 16:56:49 -08:00
Stephen Birarda
b42dea4555 Merge branch 'master' of https://github.com/Atlante45/hifi into baseball 2015-11-09 14:38:24 -08:00
Atlante45
767a7a7f1e Fix warnings on OS X 2015-11-09 14:26:23 -08:00
Atlante45
55c6706f76 Merge branch 'master' of https://github.com/highfidelity/hifi into baseball 2015-11-06 13:31:39 -08:00
Atlante45
ffafd3194e Recording audio fixes 2015-11-05 16:46:59 -08:00
Seth Alves
4ab727c47c Merge branch 'master' of github.com:highfidelity/hifi into parents 2015-11-04 13:57:59 -08:00
Atlante45
d9cd986db2 Merge branch 'master' of https://github.com/highfidelity/hifi into baseball 2015-11-04 11:26:16 -08:00
Anthony Thibault
275b248547 Merge pull request #6302 from AndrewMeadows/fix-avatar-drift
fix slow drift of avatar when wearing HMD
2015-11-04 11:19:45 -08:00
samcake
ce5e89ce66 removing the pulsing mechanism in MyAvatar and making a new stadnard.json mapping file 2015-11-04 10:53:53 -08:00
U-GAPOS\andrew
9de5721a48 set _hmdFollowVelocity to zero when done following 2015-11-04 10:23:55 -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
U-GAPOS\andrew
d544b7a645 fix bug: avatar can't walking when HMD at rest 2015-11-03 13:59:15 -08:00
Seth Alves
dba9eb7046 merge from upstream 2015-11-03 13:35:17 -08:00
Andrew Meadows
e160e2a7ae the minimal fix 2015-11-03 11:37:30 -08:00
Andrew Meadows
12ff9734e0 init _bodySensorMatrix in ctor 2015-11-03 11:26:49 -08:00
Stephen Birarda
bbf5991f9a resolve conflicts on merge with huffman/baseball 2015-11-02 14:14:36 -08:00
Stephen Birarda
017cee6961 make shouldRenderLocally do the right thing 2015-11-02 11:59:09 -08:00
U-GAPOS\andrew
a77f888f15 more correct HMD offset correction velocity 2015-11-02 11:29:17 -08:00
U-GAPOS\andrew
a545d770d8 fix bug preventing avatar motion in 2D mode 2015-11-02 11:07:43 -08:00
Andrew Meadows
9799693135 remove extra whitespace 2015-11-02 11:07:41 -08:00
Andrew Meadows
fd557c4e52 route HMD-following through the physics simulation 2015-11-02 11:07:40 -08:00
Seth Alves
3ac0fef1ea merge from upstream 2015-11-01 15:22:57 -08:00
Brad Davis
ccbae81dad Merge branch 'master' into HEAD
Conflicts:
	interface/src/avatar/SkeletonModel.cpp
2015-10-29 10:24:38 -07:00
Seth Alves
ac1055c3e0 Merge pull request #6214 from howard-stearns/goToPosition
Don't go to wrong position on startup/teleport.
2015-10-29 10:15:26 -07:00
Seth Alves
10717dc364 Merge pull request #6154 from howard-stearns/safe-avatar-list-access
Safe avatar list access
2015-10-29 10:12:34 -07:00
howard-stearns
62e56d3f13 Don't go to wrong position on startup/teleport.
This fixes one cause of being in the wrong place.
https://app.asana.com/0/32622044445063/61787931469907
2015-10-28 16:44:53 -07:00
Brad Davis
3c1a0930da Merge remote-tracking branch 'upstream/master' into HEAD
Conflicts:
	interface/src/avatar/MyAvatar.h
	libraries/script-engine/src/ScriptEngine.cpp
	libraries/script-engine/src/ScriptEngine.h
2015-10-28 13:38:22 -07:00
Howard Stearns
367175b8a6 Reduce lock time. 2015-10-28 10:49:19 -07:00
Brad Hefta-Gaub
19743c1f39 gak, build busters and more CR feedback 2015-10-27 16:16:03 -07:00
Brad Hefta-Gaub
eb19364129 CR feedback 2015-10-27 15:56:27 -07:00
Andrew Meadows
e35596428c cleanup comment 2015-10-27 14:43:18 -07:00
Brad Hefta-Gaub
5a42991e0c first pass at cleaning up MyAvatars use of PalmData 2015-10-27 13:51:42 -07:00
Andrew Meadows
8b285fd228 recover follow HMD behavior 2015-10-27 13:51:40 -07:00
Andrew Meadows
43aac813da more prep for shifting avatar during HMD motion 2015-10-27 13:15:38 -07:00
Andrew Meadows
a1f1e50431 split CharacterController btw phys and interface 2015-10-27 13:15:38 -07:00
Howard Stearns
7b0b77f4d1 getAvatarHash => withAvatarHash 2015-10-23 16:57:27 -07:00
Brad Hefta-Gaub
f90844449d fix angular velocity 2015-10-23 13:16:05 -07:00
Brad Hefta-Gaub
4a58eeb810 expose deltaRotation as part of MyAvatar.xxxHandPose 2015-10-23 12:14:33 -07:00
Brad Hefta-Gaub
71dfff7c35 first cut at adding MyAvatar.xxxHandPose 2015-10-23 12:00:40 -07:00
Brad Davis
afcec347ff Wiring yaw action to avatar 2015-10-21 21:35:19 -07:00
Brad Davis
044a28212d Wiring step yaw to the avatar 2015-10-21 20:44:38 -07:00
Brad Hefta-Gaub
68a2985b7a add tip position as well 2015-10-21 17:14:48 -07:00
Brad Hefta-Gaub
a3900a954b expose MyAvatar.leftHandePosition and MyAvatar.rightHandPosition to JS 2015-10-21 17:03:54 -07:00
Seth Alves
a78f2a9577 have avatar make use of SpatiallyNestable 2015-10-18 09:48:46 -07:00
Seth Alves
275e77d29e remove old-style avatar referentials 2015-10-18 07:51:00 -07:00
Seth Alves
c96f7562f2 Merge branch 'master' of github.com:highfidelity/hifi into groundwork-for-hold-action-changes 2015-10-15 09:28:57 -07:00
Thijs Wenker
8111432088 Merge branch 'master' of https://github.com/worklist/hifi into JS_Rotation_FIX 2015-10-15 14:50:20 +02:00
Seth Alves
698a4001a8 Merge branch 'master' of github.com:highfidelity/hifi into hold-action-changes 2015-10-14 06:18:02 -07:00
Anthony J. Thibault
1c1221597d Merge branch 'master' into tony/turn-hips-while-moving 2015-10-13 18:38:27 -07:00
Anthony J. Thibault
e484a904a2 Rotate the avatar to align with the HMD while moving
MyAvatar: refactored updateFromHMDSensorMatrix() a bit by splitting it into several methods, because
it was getting quite large and becoming hard to follow.

* beginStraighteningLean() - can be called when we would like to trigger a re-centering action.
* shouldBeginStraighteningLean() - contains some of the logic to decide if we should begin a re-centering action.
  for now it encapulates the capsule check.
* processStraighteningLean() - performs the actual re-centering calculation.

New code was added to MyAvatar::updateFromHMDSensorMatrix() to trigger re-centering when the avatar speed rises
over a threshold.

Secondly the Rig::computeMotionAnimationState() state machine for animGraph added a state change hysteresis
of 100ms.  This hysteresis should help smooth over two issues.

1) When the delta position is 0, because the physics timestep was not evaluated.
2) During re-centering due to desired motion, the avatar velocity can fluctuate causing undesired animation state fluctuation.
2015-10-13 17:36:00 -07:00
Andrew Meadows
073b019458 Merge pull request #6072 from howard-stearns/skip-some-reload-recenter-on-startup
Don't reload/recenter some avatar data on startup
2015-10-13 17:08:00 -07:00
Brad Hefta-Gaub
8a2e23cae4 CR feedback 2015-10-13 16:20:52 -07:00
Brad Hefta-Gaub
ad96d76921 implement comfort mode hack 2015-10-13 15:06:11 -07:00
Howard Stearns
93e908a592 Don't reload/recenter some avatar data on startup, when we don't necessarilly have all the required data initialized. 2015-10-13 12:15:13 -07:00
Seth Alves
7c52849740 change how hold action works 2015-10-13 11:36:58 -07:00
Howard Stearns
6cbeb6e7c3 Fix my bug, introduced in PR#6012, in which startup position goto got
cancelled out.
2015-10-12 15:40:16 -07:00
Thijs Wenker
7d3b300037 Fix set avatar rotations from scripts (different tread) 2015-10-11 14:51:12 +02:00
Anthony J. Thibault
0c489e3afd MyAvatar: Rename new instance variable after merge. 2015-10-09 14:46:05 -07:00
Anthony J. Thibault
b5ba621f78 Merge branch 'master' into tony/hmd-rest-detection 2015-10-09 14:36:18 -07:00
Howard Stearns
652376db8a Kill the stuff we can't do yet. 2015-10-08 21:44:45 -07:00
Howard Stearns
bd0d1eaef6 Merge branch 'master' of https://github.com/highfidelity/hifi into align-body-to-head-on-reset 2015-10-07 18:35:52 -07:00
Thijs Wenker
ad5a6fac62 - applying of new qApp accessing method.
- Some magic constant replacements with Helper "glm::vec3(matrix[3])" -> "extractTranslation(matrix)"
2015-10-07 15:10:40 +02:00
Howard Stearns
1fc305ca6b Update HMD-derived avatar stuff during reset, update position under head, and remove unused vars. 2015-10-06 20:51:53 -07:00
Anthony J. Thibault
2dabe69341 When HMD is at rest, re-center the body under the avatar.
This should help the case when a user avatar is stuck in an
uncomfortable pose for a long period of time.  If they stop
moving their head, the body should recenter itself and
appear more natural.

Added an AtRestDetector class.  That tracks the average and variance
of both position and rotation (quaternion logarithms), then
detects when the variance falls under a threshold.

Also, renamed variables with the straighting prefix to straightening.
2015-10-06 20:37:51 -07:00
Brad Davis
028935f831 Removing deprecated function usage 2015-10-06 20:36:55 -07:00
Brad Davis
19fb4e92a6 Enabling programmatic access to the IPD scale
Conflicts:
	interface/src/Application.cpp
	interface/src/avatar/MyAvatar.cpp
	interface/src/scripting/HMDScriptingInterface.cpp
	interface/src/scripting/HMDScriptingInterface.h
2015-10-06 19:08:17 -07:00
Howard Stearns
db955d894f Align avatar body to head on reset. 2015-10-06 14:52:53 -07:00
Atlante45
e9b7125894 Misc cleanup 2015-10-06 13:56:26 -07:00
Atlante45
5e9425d9eb Fix view frustum preference 2015-10-06 13:56:25 -07:00
Atlante45
35e2f8cd89 Removed _myAvatar from Application 2015-10-06 13:56:25 -07:00
Atlante45
34bba28775 More header cleanup 2015-10-06 13:56:22 -07:00
Atlante45
cf3b33a96b Replace Application::getInstance() with qApp 2015-10-06 13:56:19 -07:00
Brad Davis
8090bc8e8d Revert "Enabling programmatic access to the IPD scale" 2015-10-06 10:16:42 -07:00
Brad Davis
725ed26ac2 Enabling programmatic access to the IPD scale 2015-10-04 16:55:49 -07:00
Anthony J. Thibault
fa864d29f9 Merge branch 'master' into transmit-joint-translation 2015-10-01 16:55:24 -07:00
Anthony J. Thibault
d993d39718 Bug fix for deriveBodyFromHMDSensor calculations
The calculation that determined where the body position relative to the HMD
was incorrect, one of the components was in the wrong coordinate frame.

Now use the skeleton's bind pose to compute the proper avatar offsets for the eyes, neck and hips.
Use these offsets to calculate where the hips should be given a specific hmd position and orientation.

Also, added a bug fix for Rig, which would cause a -1 index deference when an avatar was missing
certain named joints, such as, "LeftEye", "Neck" and "Head".
2015-09-30 16:28:33 -07:00
Seth Alves
58d98d3ce4 Merge pull request #5932 from howard-stearns/default-animation-and-quieter
Set default animation and quiet state logging
2015-09-29 16:12:28 -07:00
Seth Alves
d554eb8db9 avatar collisions are off during a grab 2015-09-29 15:09:25 -07:00
Seth Alves
d0a1e206ca Merge branch 'master' of github.com:highfidelity/hifi into transmit-joint-translation 2015-09-29 13:55:13 -07:00
Howard Stearns
745a59af1c Default animation is anim graph.
Remove state change logging from animation graph state machine.
2015-09-29 12:48:57 -07:00
Anthony J. Thibault
c51ce79205 Updated comment on MyAvatar::updateFromHMDSensorMatrix() 2015-09-28 15:30:21 -07:00
Anthony J. Thibault
e32eb38c3b Fix for Oculus timewarp judder introduced by 20d784ba39
Moved myAvatar->updateFromHMDSensorMatrix from Application::update
back into Application::paintGL, so it occurs between
displayPlugin->preRender() and displayPlugin->display().

We should render with the most up-to-date camera position as possible,
and sample it at the same frequency as the display rate.
2015-09-28 14:38:03 -07:00
Seth Alves
50dd8eba45 Relay joint translations across network. Apply animation's root-joint translation to avatar. 2015-09-26 11:40:39 -07:00
Anthony J. Thibault
fc9b270951 Merge branch 'master' into tony/gangsta-lean 2015-09-25 11:36:58 -07:00
Anthony J. Thibault
474c847ef1 Updated constants and units. 2015-09-24 18:00:59 -07:00
Anthony J. Thibault
20d784ba39 Threshold based walking while in HMD.
This is a blend of the previous 'sitting' and 'standing' HMD modes.
Basically, when you move your head within a small range (20cm) your
avatar will lean appropriately, however when you cross that threshold
your body will move underneath you, re-centering your head above the body.

While this occurs the avatar should play the appropriate walking animations.
2015-09-24 17:54:32 -07:00
Howard Stearns
266c69fc70 Disable the old-school Rig::inverseKinematics during reset. 2015-09-24 15:33:52 -07:00
Howard Stearns
426ccabba7 Merge branch 'master' of https://github.com/highfidelity/hifi into apostrophe 2015-09-24 14:19:58 -07:00