Commit graph

19 commits

Author SHA1 Message Date
Anthony J. Thibault
9ce43a57f1 Better head IK when in an HMD.
Because the current IK system doesn't quite handle what we need
for the head and neck IK, we do it procedurally in the rig, and
manually set both neck and head IK targets.
2015-09-22 19:58:21 -07:00
Anthony J. Thibault
eadf212418 Updated avatar.json with talking idle animation. 2015-09-18 18:31:53 -07:00
Anthony J. Thibault
5aeebba90e Renamed AnimController to AnimManipulator, Removed offsets on IK targets 2015-09-16 15:49:47 -07:00
Anthony J. Thibault
70f5835278 Updated left hand point and grab State Machine and animations 2015-09-15 18:00:13 -07:00
Anthony J. Thibault
1948829ca8 Improved state machine for right hand.
The hand state machine has the following features

* There's a idle to point animation, followed by a looping point hold state.
* There's a point to idle animation.
* The grab state is composed of a linear blend between an open and closed pose.

Additionally the C++ code will ramp on the left and right hand overlays,
This allows the fingers to be animated normally when the user is not actively
pointing or grabbing.
2015-09-15 15:09:08 -07:00
Anthony J. Thibault
90f46ba2c8 Added hand state machines to AnimGraph.
* Application: Forward trigger values to the MyAvatar's PalmData
* SkeletonModel: Pass PalmData to Rig via updateRigFromHandData() this is more explicit then
  the Rig::inverseKinematics methods.
* AnimNodeLoader & AnimOverlay: add support for LeftHand and RightHand bone sets
* Rig::updateRigFromHandData() read the triggers and set stateMachine trigger vars
* avatar.json - udpated with new hand state machine with temporary animations
2015-09-14 18:54:12 -07:00
Anthony J. Thibault
7996a02bd8 Added head target to AnimGraph IK node.
* In HMD mode head orientation and position is set.
* When not in HMD only orientation is set, position should
  default to the underlying pose position.
2015-09-11 09:48:48 -07:00
Anthony J. Thibault
756eb54a0a AnimNodeLoader support for InverseKinematics node. 2015-09-09 15:28:21 -07:00
Anthony J. Thibault
75ecf0020d WIP commit, added AnimController node. 2015-09-08 20:34:21 -07:00
Anthony J. Thibault
46b3a7fd23 Improved default avatar.json state machine.
Now triggers 7 states.
Idle, WalkFwd, WalkBwd, StrafeLeft, StrafeRight, TurnLeft & TurnRight.
As well as variable speed walking to match current velocity.
2015-09-02 17:28:06 -07:00
Anthony J. Thibault
7b4cb8655c First pass integration of new anim system into rig. 2015-09-01 17:57:01 -07:00
Anthony J. Thibault
9786954585 Added support for onDone and onLoop triggers. 2015-08-31 12:13:05 -07:00
Anthony J. Thibault
9d983e0614 Bug fix to AnimNode::setSkeletonModel and AnimNodeLoader.
Also updated avatar.json to test nested graphs under a SM.
2015-08-28 17:16:32 -07:00
Anthony J. Thibault
21c6ba9bdf updated avatar.json to match current gist. 2015-08-27 21:27:37 -07:00
Anthony J. Thibault
3286a32afc Initial version of AnimStateMachine.
No interpolation support, but basic avatar.json is working
with two states and two transitions between them.
2015-08-27 20:41:53 -07:00
Anthony J. Thibault
0c02a338f2 Added support for setting Variants in the json file.
For example: the avatar.json file was updated to use the "sine" Variant
to drive the Overlay alpha parameter.
2015-08-25 20:57:01 -07:00
Anthony J. Thibault
4abf0cbd63 AnimVariantMap is used in eval, MyAvatar loads avatar.json via url 2015-08-25 20:28:17 -07:00
Anthony J. Thibault
5d83976e2a Added AnimBlendLinear + tests.
MyAvatar now does a sine wave blend between a walk
and a walk animation.
2015-08-04 18:14:50 -07:00
Anthony J. Thibault
f5dee717a1 Added fbx loading via animation cache.
* added AnimPose::copyFromNetworkAnim() which
  should, re-map bone ids to match the current
  skeleton, and fill in missing bones with bind
  pose frames.
* added ability to set a skeleton on a node.
  I might need to add a recursive version of this.
* it compiles!
* tests run!
2015-08-04 18:14:46 -07:00