Commit graph

453 commits

Author SHA1 Message Date
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
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
Andrew Meadows
5f98af1898 avoid crossed eyes 2016-04-27 16:58:13 -07:00
Zach Pomerantz
3e9e083df5 Update users of NetworkGeometry 2016-03-24 11:35:41 -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
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
4a78300607 MyAvatar: Allow user to raise hands directly overhead.
Previously we were using a infinitely tall vertical cylinder
to push hand IK targets out of the body, this had the
side-effect of preventing the hands from being raised over
the head.  Now, we collide against the same 3d capsule
used by the physics system for avatar collisions.
2016-03-10 10:20:17 -08:00
Anthony J. Thibault
73ac47724a Rig: Prevent the hand IK targets from entering the body.
Use a 2d circle/circle intersection test to keep the hands outside of the body.
2016-02-17 16:23:18 -08:00
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
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
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
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
Seth Alves
1e69c12e87 move grab position to front of palm 2016-02-01 18:47:26 -08:00
Seth Alves
2501be16cb base palm position on finger joint rather than an offset from hand joint. double size of near-grab sphere 2016-02-01 18:11:27 -08:00
samcake
1b52d700a0 Merge pull request #6871 from Atlante45/feat/draw-call-info
Unify normal and named draw paths
2016-02-01 14:19:15 -08:00
Atlante45
7e8ea4dc77 Update primitive instance rendering calls 2016-02-01 18:50:01 +01:00
howard-stearns
ceed571c82 Look harder for head, log if not found, and compute what we need
regardless.
2016-01-29 16:02:58 -08:00
Anthony J. Thibault
7af20e90c8 Hooked up fly animation to json and Rig 2016-01-22 13:47:09 -08:00
Atlante45
11dc3cd261 Move primitive rendering out of DeferredLightingEffect 2016-01-13 11:47:43 -08:00
Anthony J. Thibault
cac19b8579 grab animation work
Hand animations now have 5 states:

* idle
* open
* grasp
* point
* farGrasp

The handControllerGrab.js script now chooses one of these five animations, based on the state of the HandController object.

Also, removed hand trigger AnimVar setting from C++ Rig class.
2016-01-07 19:36:57 -08:00
Andrew Meadows
bab07516f0 fix size of rendered bounding capsule 2015-12-15 18:18:08 -08:00
Andrew Meadows
e9f52b1211 properly scale avatar collision shape 2015-12-15 18:18:08 -08:00
Anthony J. Thibault
99065f10fa Avatar Warning fixes on linux 2015-12-01 18:12:01 -08:00
Anthony J. Thibault
c0d108e6f6 Better avatar bounding shape debug rendering. 2015-11-25 13:51:08 -08:00
Anthony Thibault
527199bc69 Merge pull request #1 from AndrewMeadows/fix-avatar-capsule
compute bounding capsule of avatars
2015-11-25 09:39:18 -08:00
Andrew Meadows
3ae082f09c compute bounding capsule of avatars 2015-11-24 20:28:39 -08:00
Anthony J. Thibault
76034d62d5 Eye tracking fixes 2015-11-24 16:57:26 -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
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
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
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
46d23a9f38 head IK and controller IK work again! 2015-11-19 17:30:56 -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
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
Andrew Meadows
ae88057ad9 remove dangling whitespace 2015-11-18 10:24:10 -08:00
Anthony J. Thibault
b481d7c73d Merge branch 'master' into tony/remove-joint-states 2015-11-18 09:38:21 -08:00
Andrew Meadows
ee751ed1b9 use kDop volume of avatar mesh parts for capsule 2015-11-18 09:22:40 -08:00
Brad Hefta-Gaub
e7a8df306c fix warnings 2015-11-17 11:18:36 -08:00
Anthony J. Thibault
80eb247b9c WIP checkin
* AnimManipulator: added absolute and relative position and translation support
* Rig: added _overrideFlags and _overridePoses for script overrides.
2015-11-16 18:49:47 -08:00
Brad Davis
cb26fc67fc Move recording interface back to float/seconds 2015-11-16 14:44:22 -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
Brad Hefta-Gaub
8839458d54 Merge pull request #6242 from highfidelity/controllers
New Controller interfaces/api
2015-10-30 12:47:51 -07:00
Brad Davis
ccbae81dad Merge branch 'master' into HEAD
Conflicts:
	interface/src/avatar/SkeletonModel.cpp
2015-10-29 10:24:38 -07:00
Howard Stearns
d79d0bc5c5 Merge branch 'master' of https://github.com/highfidelity/hifi into expose-anim-vars 2015-10-29 08:25:41 -07:00
Anthony J. Thibault
5e73af9272 Rig: Removed dt from updateFromEyeParameters() 2015-10-28 18:10:41 -07:00