Commit graph

95 commits

Author SHA1 Message Date
Anthony J. Thibault
8e7e94c501 AnimTests: now compile and pass again. 2015-10-19 15:49:51 -07:00
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
Howard Stearns
848bb4fccb Merge pull request #5813 from hyperlogic/tony/anim-hand-state-machines
Added point and grab support to the AnimGraph
2015-09-15 15:47:19 -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
Andrew Meadows
75ec142827 fix animation-tests 2015-09-14 16:42:57 -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
3149baeefc Merge branch 'master' into tony/ik-and-controllers 2015-09-10 11:04:31 -07:00
Howard Stearns
745872f914 More variants tests. 2015-09-09 15:45:23 -07:00
Anthony J. Thibault
756eb54a0a AnimNodeLoader support for InverseKinematics node. 2015-09-09 15:28:21 -07:00
Howard Stearns
738da0116a Simplify timer use. 2015-09-09 15:19:01 -07:00
Anthony J. Thibault
146836452f Merge remote-tracking branch 'andrew/europium' into tony/ik-and-controllers 2015-09-09 09:40:55 -07:00
Anthony J. Thibault
75ecf0020d WIP commit, added AnimController node. 2015-09-08 20:34:21 -07:00
Andrew Meadows
ee265aba4a add AnimInverseKinematics class 2015-09-08 18:20:22 -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
d13a188dde Compile fixes and added test case to verify onDone and onLoop triggers 2015-09-02 10:31:45 -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
a04f356857 Merge branch 'master' into ajt/new-anim-system 2015-08-27 09:32:53 -07:00
Seth Alves
695ffa29c7 call setup_memory_debugger from common macros rather than from every CMakeLists.txt file 2015-08-26 11:09:59 -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
496c706bba Added AnimVariantMap argument to evaluate. 2015-08-25 11:59:24 -07:00
Anthony J. Thibault
62f86e6a46 Added AnimVariant, renamed AnimClipTests to AnimTests.
* Added test for AnimVariant.
2015-08-25 11:33:57 -07:00
Anthony J. Thibault
7a2ca047cb Added network resource download support to AnimNodeLoader. 2015-08-24 19:00:12 -07:00
Anthony J. Thibault
fa5256eefd Merge branch 'master' into ajt/new-anim-system 2015-08-24 14:32:28 -07:00
Seth Alves
c25082d86f use -fsanitize=address in all code rather than just the top-level links 2015-08-20 10:14:16 -07:00
Andrew Meadows
6dfbf7f70a coalesce scattered dupes of unit-test utilities 2015-08-12 14:13:28 -07:00
Andrew Meadows
23c92662ee relaxed error, more rigor for using fabsf() 2015-08-10 23:09:11 -07:00
Andrew Meadows
75ab6a00aa add unit tests for RotationConstraints 2015-08-10 14:48:46 -07:00
Howard Stearns
145b730f80 Clean up instantiation. 2015-08-07 12:27:26 -07:00
Howard Stearns
42cc34cd64 JointState has our own copy of any ivars we want from FBXJoint, instead of keeping a reference to the fbx. 2015-08-06 16:54:09 -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
91ca13c66d Added AnimDebugDraw to render-utils 2015-08-04 18:14:46 -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
Anthony J. Thibault
343b2ccf9d Added AnimNodeLoader which loads AnimClip nodes from json
* added tests and sample json file
2015-08-04 18:14:45 -07:00
Anthony J. Thibault
35196a0059 bare-bones AnimClip implementation with tests!
It accumulates time and handles looping, and should handle
onDone and onLoop events in the future.
2015-08-04 18:14:45 -07:00
Howard Stearns
12d449f69d Update test case initialization post cauterization changes. 2015-07-29 09:55:46 -07:00
Howard Stearns
98fe6dbf3d Rename tests/rig to tests/animation, per Tony. 2015-07-27 14:13:54 -07:00