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
Anthony J. Thibault
eacc2cae0c
WIP checkpoint
2015-11-09 18:36:23 -08:00
Anthony J. Thibault
a66f31bb20
Added AnimBlendLinearMove node
...
AnimBlendLinearMove is now in use by forward, backward and strafe movements.
Tuned rig moving average speeds to be more sensitive.
2015-10-22 16:33:31 -07:00
Anthony J. Thibault
2b4788929f
AnimBlendLinear: Untested implementation of sync flag.
...
Move accumulateTime into AnimUtil.
2015-10-19 15:49:49 -07:00
Andrew Meadows
224fc55033
put IK targets in skeleton's model-frame
2015-10-06 16:49:29 -07:00
Anthony J. Thibault
a454584496
Updated default avatar-animation.json
2015-09-23 10:59:52 -07:00
Andrew Meadows
3869887610
splitting AnimNode implementation into two files
2015-09-21 17:53:59 -07:00
Andrew Meadows
e6776ef5eb
split AnimIK::evaluate() into sub-functions
...
also IK targets now in model-frame instead of root-frame
2015-09-21 17:29:39 -07:00
Anthony J. Thibault
bef136d811
AnimGraph: prefer QString over std::string
2015-09-17 11:21:14 -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
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
c3e16d33c1
add InverseKinematics type
2015-09-08 18:18:50 -07:00
Anthony J. Thibault
30264e9c3d
Added animation debug draw items to menu.
...
* Debug Draw Bind Pose - used to display the current avatar's bind pose
* Debug Draw Animation - used to display the current avatar's AnimGraph animation.
Currently does not work with old animation so it's only valid when Enable Anim Graph is true.
* Draw Mesh - used to hide or display the avatar mesh.
2015-09-02 21:04:29 -07:00
Anthony J. Thibault
91fbbf7d4e
Updated copyright boiler plate.
2015-09-02 13:35:26 -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
19e91bb392
Added basic interpolation support to AnimStateMachine
2015-08-27 21:26:31 -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
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
4bdb00bbc5
Added setCurrentFrame interface to AnimClip.
...
This will recurse the tree and call setCurrentFrameInternal on each node.
This method can be overriden, currently the only meaningful implementation is AnimClip.
2015-08-25 09:58:36 -07:00
Anthony J. Thibault
c3fc37df18
Added true boneSets to AnimOverlay.
2015-08-05 18:07:56 -07:00
Anthony J. Thibault
1f8c8adbd6
Added AnimOverlay node, moved blend sub-routine into AnimUtil.
2015-08-05 17:05:53 -07:00
Anthony J. Thibault
2154f76202
Added some comments to AnimNode, AnimClip & AnimBlendLinear.
2015-08-05 12:03:20 -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
df79463750
WIP, animNode rendering
2015-08-04 18:14:48 -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
da809efcd6
WIP commit, DOES NOT BUILD.
...
* Added AnimSkeleton class
* Attempt to copy animation frames when _networkAnimation has
finished loading. Fill in the holes with bind pose.
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
Anthony J. Thibault
836cdeb103
Baby steps toward new animation system
...
* AnimNode pure virtual base class for all animation nodes.
* AnimClip playback of a single FBX animation.
2015-08-04 18:14:44 -07:00