Commit graph

604 commits

Author SHA1 Message Date
Andrew Meadows
44243aaa52 remove some debug code 2015-10-12 11:39:54 -07:00
U-GAPOS\andrew
f01847de14 experimental HMD hips tracking 2015-10-12 11:39:54 -07:00
Andrew Meadows
35d2a5b5ea track tipRotation for HmdHead target 2015-10-12 11:39:54 -07:00
Andrew Meadows
5f1068c404 cleanup and optimization of IK loop 2015-10-12 11:39:54 -07:00
Andrew Meadows
6a96d5f0c5 don't bother to create targets with bad types 2015-10-12 11:39:54 -07:00
Andrew Meadows
bc48f70877 move IKTarget into its own files 2015-10-12 11:39:54 -07:00
Andrew Meadows
56f038d5a7 simpler logic for tracking hips offset 2015-10-12 11:39:54 -07:00
Andrew Meadows
03eaa95258 initial hip translation from IK
works for 2D 3rd person but probably not well for HMD
2015-10-12 11:39:54 -07:00
Anthony J. Thibault
1c2f86f8b7 Fix for sending translation for non-animated joints.
Only the JointState._defaultTranslation needs to be multiplied
by the unitScale in JointState::translationIsDefault().  This
was incorrectly flagging some non-animated joints as animated.
2015-10-08 17:50:22 -07:00
Andrew Meadows
6c2a94fddb remove unused method declarations 2015-10-07 14:17:21 -07:00
Brad Hefta-Gaub
7a85e5b7a7 rename frameIndex to currentFrame 2015-10-07 13:02:58 -07:00
Brad Hefta-Gaub
ef054ffc6d Merge branch 'master' of https://github.com/highfidelity/hifi into animationGroupSettings
Conflicts:
	libraries/networking/src/udt/PacketHeaders.cpp
	libraries/networking/src/udt/PacketHeaders.h
2015-10-07 11:27:50 -07:00
Brad Hefta-Gaub
6eeb64b032 CR feedback 2015-10-07 11:23:24 -07:00
Andrew Meadows
224fc55033 put IK targets in skeleton's model-frame 2015-10-06 16:49:29 -07:00
Brad Hefta-Gaub
016bf4011d cleanup 2015-10-06 16:07:36 -07:00
Brad Hefta-Gaub
1319642a59 fix frame jumping behavior on restart 2015-10-06 15:59:35 -07:00
Brad Hefta-Gaub
be79101a93 Merge branch 'master' of https://github.com/highfidelity/hifi into animationGroupSettings 2015-10-06 15:20:37 -07:00
Anthony J. Thibault
75849db867 Changed (float)fabs() to fabsf() 2015-10-05 12:00:02 -07:00
Brad Hefta-Gaub
f618a2adfa gak - get streaming working again 2015-10-02 17:06:32 -07:00
Anthony J. Thibault
b6b57de1c6 animation lib warning fixes 2015-10-02 16:42:50 -07:00
Brad Hefta-Gaub
57bf69cc48 Merge branch 'master' of https://github.com/highfidelity/hifi into animationGroupSettings
Conflicts:
	libraries/entities/src/ModelEntityItem.cpp
	libraries/networking/src/udt/PacketHeaders.cpp
2015-10-02 14:19:15 -07:00
Brad Hefta-Gaub
02536a5ab9 remove animationSettings from particles, add isEmitting 2015-10-02 14:17:01 -07:00
Brad Hefta-Gaub
e6fb587a8c Merge branch 'master' of https://github.com/highfidelity/hifi into animationGroupSettings 2015-10-02 13:04:14 -07:00
Brad Hefta-Gaub
b27396606b fix first run 2015-10-02 12:34:46 -07:00
Anthony J. Thibault
c0be32d359 Fix for model offset when using Rig Animations. 2015-10-02 11:40:46 -07:00
Anthony J. Thibault
fc7b6dee84 Merge branch 'master' into transmit-joint-translation 2015-10-02 11:40:33 -07:00
Anthony J. Thibault
a1b54945d6 Compute the model offset in the rig, using the bind pose of the hips. 2015-10-02 10:34:34 -07:00
Brad Hefta-Gaub
cf2693e712 working fistFrame lastFrame 2015-10-02 08:31:22 -07:00
Anthony J. Thibault
fa864d29f9 Merge branch 'master' into transmit-joint-translation 2015-10-01 16:55:24 -07:00
Howard Stearns
53e7d5fd7c Merge pull request #5975 from AndrewMeadows/cleanup-legacy-constraints
remove cruft relating to old verlet avatar skeleton simulation
2015-10-01 16:48:33 -07:00
Anthony J. Thibault
fe5ea471a1 AnimClip: read in translations from fbx file and pre-process them
Do the following things to the translations

  1. scale by the model offset, this should move the translations into the correct units (meters).
  2. compute the ratio between the bone length in the animation and the skeleton.
  3. subtract the anim translation from the first translation frame in the animation
     effectively turning it into a bind pose delta translation.
  4. apply bone length ratio to the resulting delta.
  5. set the final translation to be the skeleton rel bind pose + this scaled delta translation
2015-10-01 16:10:33 -07:00
Brad Hefta-Gaub
afe5075e10 Merge pull request #5971 from howard-stearns/AnimVariant-warning-squash
Squash compiler warning in AnimVariant.
2015-10-01 14:41:40 -07:00
Howard Stearns
739545794f Merge pull request #5944 from AndrewMeadows/ik-repairs-007
fix bug: IK attenuates fast underpose animations
2015-10-01 14:27:21 -07:00
Andrew Meadows
09ac01a5e7 remove cruft from old verlet avatar simulation 2015-10-01 13:44:50 -07:00
Brad Hefta-Gaub
91a27e3adf get animation to actually run again 2015-10-01 13:29:07 -07:00
Seth Alves
25cbebb66c Merge branch 'transmit-joint-translation' of github.com:sethalves/hifi into transmit-joint-translation 2015-10-01 13:24:04 -07:00
Seth Alves
8453043038 remove unused variable 2015-10-01 13:23:51 -07:00
Brad Hefta-Gaub
aca25bd76e connect up AnimationPropertyGroup to AnimationLoop 2015-10-01 11:05:16 -07:00
Howard Stearns
335d87134b Squash compiler warning in AnimVariant. 2015-10-01 10:58:31 -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
Andrew Meadows
b192d0a9cd make neck IK target type same as head 2015-09-29 17:39:17 -07:00
Anthony J. Thibault
5e2279ed4b AnimManipulator: Don't read defaultAbsPose.trans anim var.
At the moment the manipulator only supports rotations.
2015-09-29 16:37:43 -07:00
Andrew Meadows
a052f5e125 remove commented out debug line 2015-09-29 16:21:08 -07:00
Andrew Meadows
cdae16e07b fix bug: IK attenuates fast underpose animations 2015-09-29 16:11:27 -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
Seth Alves
4179e4aa74 merge from upstream 2015-09-28 15:28:10 -07:00
Seth Alves
04eed64c7c fix bug in JointState::translationIsDefault 2015-09-28 15:26:32 -07:00
Anthony J. Thibault
a495a45ed0 unset "lean" when headParams.enableLean is false
Also added AnimVariantMap::dump() which will print out all the
currently set anim vars and their values.
2015-09-28 11:10:22 -07:00
Anthony J. Thibault
c970ff0c0c Reset joint priorities back to 0 for new animation system.
Added Rig::clearJointStatePriorities() to do this.
2015-09-27 18:25:28 -07:00
Anthony J. Thibault
4b31d87bf5 renamed magic constant to FRAMES_PER_SECOND. 2015-09-27 17:52:53 -07:00
Anthony J. Thibault
5a24a020ca Fix for HMD rotation sticking between 2d & HMD mode
The main fix for this was to set the JointState animation priority to 3.0
The secondary fix was only noticed when we changed the animation priority
Basically, the debugRendering was using the JointStates after they were
manipulated by SkeletonModel to 'relax' them toward thier default pose for
IK purposes.
2015-09-27 17:44:54 -07:00
Anthony J. Thibault
a2562c92f4 Small changes to Anim System for Debugging
* Added constant for Rig animation fade time
* Added index output for AnimSkeleton::dump()
2015-09-27 16:24:55 -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
Andrew Meadows
a97f556958 enforce IK target rotation 2015-09-25 15:13:57 -07:00
Howard Stearns
266c69fc70 Disable the old-school Rig::inverseKinematics during reset. 2015-09-24 15:33:52 -07:00
Andrew Meadows
59da684eb9 make IKTarget::setType() a one-liner 2015-09-24 13:15:03 -07:00
Andrew Meadows
17e3e9394f allow head translation for 3rd person screenie IK 2015-09-24 12:38:46 -07:00
Brad Hefta-Gaub
5e82b9c433 more warning fixes 2015-09-24 08:26:56 -07:00
Anthony J. Thibault
6b47373bcb Fix for precision error in AnimPose(glm::mat4) constructor.
Really the culprit is GLMHelpers extractRotation().
I have a separate unit test that demonstrates the bug.
2015-09-23 15:38:56 -07:00
Anthony J. Thibault
a454584496 Updated default avatar-animation.json 2015-09-23 10:59:52 -07:00
Anthony J. Thibault
a9848cd157 Merge branch 'master' into tony/lean-threshold 2015-09-23 10:54:12 -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
d53295655f Fixes for empty poses
This can happen when an animation is evaluated before it is finished loading.
2015-09-22 19:54:51 -07:00
Andrew Meadows
d25ba8946e fix animation attenuation from IK relaxation step 2015-09-22 17:20:26 -07:00
Howard Stearns
7e52d38870 Don't include the root rot, because it seems that this is already accounted for in the head params.
Restore the hmd conditional on setting head position. This had been removed when failing to pin it cause lean.
I believe that lean was being caused by coordinate system issues that are now addressed by the above and Andrew's big cleanup.
2015-09-22 10:12:59 -07:00
Howard Stearns
8f1dde69cc Always keep targets, even when both position and rotation are unset. (Get from underpose.)
Filtering these was necessary before when the underpose coordinate was wrong, but now that we have that working, there shouldn't be any need to filter.
2015-09-22 10:10:29 -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
eadf212418 Updated avatar.json with talking idle animation. 2015-09-18 18:31:53 -07:00
Anthony J. Thibault
44eb448cbe Hooked up isTalking flag to Rig and AnimGraph. 2015-09-18 18:05:51 -07:00
Andrew Meadows
07f3abfc91 fix bugs 2015-09-18 12:01:23 -07:00
Andrew Meadows
4cb2249cda premature optimization: remove another branch 2015-09-18 10:16:19 -07:00
Andrew Meadows
a85afb5280 simplify logic of RotationAccumulator::add() 2015-09-18 10:13:21 -07:00
Andrew Meadows
6ed0a57d9f avoid unecessary computation of last absolutePose 2015-09-18 10:09:23 -07:00
Andrew Meadows
9e94e7f1d0 less complicated RotationAccumulator 2015-09-18 07:11:36 -07:00
Andrew Meadows
b6a153d926 split RotationAccumulator into its own files 2015-09-17 22:30:44 -07:00
Andrew Meadows
420acde720 blend IK effects between distinct end effectors 2015-09-17 22:11:59 -07:00
Andrew Meadows
4505d5999c route hand data differently for new Anim system 2015-09-17 16:04:00 -07:00
Andrew Meadows
9746d31f5e notes for moving hand updates 2015-09-17 16:04:00 -07:00
Anthony J. Thibault
bef136d811 AnimGraph: prefer QString over std::string 2015-09-17 11:21:14 -07:00
Andrew Meadows
e1fc1900ab remove IK 'flutter' bug 2015-09-16 17:02:12 -07:00
Andrew Meadows
d4ea661aca cleanup whitespace 2015-09-16 17:02:12 -07:00
Andrew Meadows
9a86fc2e62 build local list of IK targets every frame 2015-09-16 17:02:12 -07:00
Andrew Meadows
089c719612 minor cleanup 2015-09-16 17:02:12 -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
fae4b08eb0 AnimController Node Bug fixes
AnimController: proper support for alpha
AnimController: bug fix for translation.
AnimOverlay: renamed local var when building hand boneSets from head to hand.
2015-09-16 15:11:53 -07:00
Howard Stearns
f6b5f3925a Place head at requested position in all modes. (At least, until we can figure out how to get underpose position cleanly without tilt.) 2015-09-15 16:43:52 -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
Clément Brisset
cb1b70820a Merge pull request #5801 from AndrewMeadows/fix-animation-tests
fix animation unit tests
2015-09-15 17:53:06 +02: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
d74628720f fix bug using unitialized std::vector elements 2015-09-14 17:14:04 -07:00
Andrew Meadows
75ec142827 fix animation-tests 2015-09-14 16:42:57 -07:00
Andrew Meadows
a72199a7df minor IK tuning 2015-09-14 14:44:17 -07:00
Howard Stearns
4ffe2d0747 Merge pull request #5786 from AndrewMeadows/ik-with-constraints
inverse kinematics works with rotation constraints
2015-09-11 17:34:50 -07:00
Andrew Meadows
1500a36f72 oops forgot to uncomment constraint initialization 2015-09-11 16:49:49 -07:00
Howard Stearns
140ecc8e2c Get rid of implicit int->bool cast. 2015-09-11 16:28:41 -07:00
Andrew Meadows
d01c5d1ae5 fix crash bug 2015-09-11 15:01:31 -07:00
Andrew Meadows
2ba446d309 fix IK and constriants 2015-09-11 13:22:12 -07:00
Andrew Meadows
b0520acea9 remove warning about out-of-order-init 2015-09-11 13:22:11 -07:00
Howard Stearns
5314e0c744 Remove unused. 2015-09-11 13:20:56 -07:00
Howard Stearns
02fba12a48 Merge branch 'master' of https://github.com/highfidelity/hifi into rationalize-rig-settings 2015-09-11 11:53:19 -07:00
Howard Stearns
67ce0966d1 Rationalize the rig state setters. 2015-09-11 11:52:20 -07:00
Anthony J. Thibault
8e504e63b0 Removed unused variable, changed glm::vec3(0) to glm::vec3() 2015-09-11 10:43:49 -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
9a9838fd0d Clean up of AnimNodeLoader after merge from master. 2015-09-10 11:47:41 -07:00
Anthony J. Thibault
663e37da66 Merge branch 'master' into tony/ik-and-controllers 2015-09-10 11:37:47 -07:00
Anthony Thibault
e8ede3ad00 Merge pull request #5731 from ChristophHaag/master
build fixes
2015-09-10 11:36:45 -07:00
Anthony J. Thibault
3149baeefc Merge branch 'master' into tony/ik-and-controllers 2015-09-10 11:04:31 -07:00
Anthony J. Thibault
09b2d8e4a4 Seed AnimGraph with hand controller position and orientation. 2015-09-09 18:16:57 -07:00
Anthony J. Thibault
ad49d0dd59 AnimInverseKinematics: update _maxTargetIndex correctly. 2015-09-09 16:09:38 -07:00
Anthony J. Thibault
756eb54a0a AnimNodeLoader support for InverseKinematics node. 2015-09-09 15:28:21 -07:00
Anthony J. Thibault
c1d7287652 AnimController node now takes absolute rotation vars, instead of relative. 2015-09-09 12:24:32 -07:00
Howard Stearns
f818ac2b74 Merge pull request #5744 from hyperlogic/tony/enable-lean-flag
Added a flag to enable and disable lean.
2015-09-09 10:18:12 -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
Howard Stearns
74c92af8e0 Merge pull request #5741 from AndrewMeadows/brokenCapsules
fix for bad bounding capsules for avatars
2015-09-09 09:33:57 -07:00
Anthony J. Thibault
39aef6edc9 AnimController fix for crash if underPoses vector was empty. 2015-09-08 21:42:42 -07:00
Anthony J. Thibault
75ecf0020d WIP commit, added AnimController node. 2015-09-08 20:34:21 -07:00
Andrew Meadows
e86e760118 remove debug stuff and nerfed constriants 2015-09-08 19:14:31 -07:00
Andrew Meadows
381828dac3 remove hackery for bad length units in AnimSkeleton 2015-09-08 19:02:16 -07:00
Andrew Meadows
ee265aba4a add AnimInverseKinematics class 2015-09-08 18:20:22 -07:00
Andrew Meadows
3d661095dc fix some bugs in RotationConstraints 2015-09-08 18:20:03 -07:00
Andrew Meadows
b6cef3d1a9 fix Qt includes 2015-09-08 18:19:33 -07:00
Andrew Meadows
00c446d1b0 sort includes 2015-09-08 18:19:18 -07:00
Andrew Meadows
c3e16d33c1 add InverseKinematics type 2015-09-08 18:18:50 -07:00
Seth Alves
e06461ea15 Merge pull request #5724 from hyperlogic/tony/anim-debug-draw-improvements
AnimDebugDraw Improvements
2015-09-08 17:07:51 -07:00
Anthony J. Thibault
387d50c217 Added a flag to enable and disable lean.
This should help improve our idle and walk animations, because
animation on the "lean" joint was being lost, even when we did
not require procedural leaning.
2015-09-08 16:35:06 -07:00
Stephen Birarda
c670c9a0d5 fix for AnimNodeLoader use of Resource loaded 2015-09-08 15:31:37 -07:00
Andrew Meadows
4a40781e2f remove some commented out cruft 2015-09-08 15:11:19 -07:00
Andrew Meadows
281e4f21fc fix avatar bounding capsule calculations 2015-09-08 15:03:12 -07:00
Andrew Meadows
90fe54e6d6 remove cruft and minor cleanup 2015-09-08 15:03:12 -07:00
Anthony J. Thibault
6d5927c0c9 Now with less copies.
* AnimSkeleton now returns AnimPoses by const ref.
* AnimDebugDraw: uses references to Poses on the stack instead of copies
  within inner loops.
* AnimDebugDraw: Removed unnecessary universal refs in range based for loops.
2015-09-08 10:51:23 -07:00
Christoph Haag
ddcee763ca extend macros to take return value if necessary 2015-09-08 19:10:15 +02:00
Stephen Birarda
25aeda2e18 Merge branch 'master' of https://github.com/highfidelity/hifi into protocol 2015-09-08 08:40:51 -07:00
Christoph Haag
fa221fa7e3 In gcc5 nullptr can't be directly used as bool
See https://gcc.gnu.org/gcc-5/porting_to.html
"Converting std::nullptr_t to bool"
2015-09-08 10:07:06 +02:00
Anthony J. Thibault
bb5d061d78 linux and mac compile fixes.
Removed "friend MyAvatar" from Rig and JointState.
This was only there for debugging, but I accidentally committed it.
2015-09-04 16:17:35 -07:00
Anthony J. Thibault
69e463bbfd AnimDebugDraw Improvements
* Now always works, regardless of whether or not Rig or AnimGraph animations
  are enabled.
* Changed joint radius to 1 cm.
* Changed xyz axis length to 4 cm.
2015-09-04 16:01:05 -07:00
Howard Stearns
086afc47b1 Avatar animations on by default. (Using the now old animation machinery.)
Default robot avatar consistent with the animations.
Don't require all the bones to be present.
2015-09-04 14:24:37 -07:00
Stephen Birarda
ed19987b7d resolve conflicts on merge with upstream/master 2015-09-04 12:31:46 -06:00
Anthony J. Thibault
3f258c89b4 Fix transition from AG+Rig to AG only. 2015-09-04 11:03:59 -07:00
Anthony J. Thibault
dcecd7b73a Added hysteresis to the state machine for turning and moving states.
This should help a bit with the jerkiness, as state transitions
occur less often due to noise or the user straddling the boundary
between two states.
2015-09-03 19:13:39 -07:00
Anthony J. Thibault
85cb503152 Made Enable Anim Graph menu option dynamic.
It will load the anim graph when enabled and destroy
the anim graph when disabled.
2015-09-03 14:46:44 -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
471400e595 Fix for jerky behavior when positionDelta is zero.
This can occur with vsync disabled.  Possibly due to two avatar updates occurring
within a single physics time-step.
2015-09-02 19:59:05 -07:00
Anthony J. Thibault
de31b92fd5 Merge branch 'master' into ajt/new-anim-system 2015-09-02 17:53:56 -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
Howard Stearns
389e752b6e Merge pull request #5695 from AndrewMeadows/dysprosium
avoid bad joints when computing avatar bounding capsule
2015-09-02 15:58:42 -07:00
Anthony J. Thibault
99586f259c Renamed bindTransformIsValid to bindTransformFoundInCluster 2015-09-02 13:44:34 -07:00
Anthony J. Thibault
91fbbf7d4e Updated copyright boiler plate. 2015-09-02 13:35:26 -07:00
Anthony J. Thibault
df26f18222 Fix for compilation errors on linux 2015-09-02 13:29:29 -07:00
Anthony J. Thibault
fea030b9a0 Compile and warning fixes for MacOSX. 2015-09-02 12:18:17 -07:00
Anthony J. Thibault
1ae22268ac Added comment to AnimStateMachine header. 2015-09-02 11:04:52 -07:00
Seth Alves
3e11852845 Merge pull request #5685 from howard-stearns/standing-hmd-animations
Standing hmd animations
2015-09-02 10:57:45 -07:00
Anthony J. Thibault
d151474446 Merge branch 'master' into ajt/new-anim-system 2015-09-02 10:00:36 -07:00
Anthony J. Thibault
7b4cb8655c First pass integration of new anim system into rig. 2015-09-01 17:57:01 -07:00
Andrew Meadows
4a7a384c65 avoid bad joints when computing bounding capsule 2015-09-01 14:12:14 -07:00
Stephen Birarda
33f6933544 Merge branch 'master' of https://github.com/highfidelity/hifi into protocol 2015-09-01 14:36:16 -06:00
Andrew Meadows
7410baedf0 merge highfidelity/master into andrew/copernicium
Conflicts:
	interface/src/avatar/SkeletonModel.cpp
	libraries/animation/src/Rig.cpp
	libraries/animation/src/Rig.h
2015-09-01 11:08:01 -07:00
Anthony J. Thibault
2401e6cc4b Merge branch 'master' into ajt/new-anim-system 2015-09-01 10:58:38 -07:00
Andrew Meadows
47c18fa18a reduced gravity effect in IK 2015-09-01 09:51:14 -07:00
Andrew Meadows
0e5b357362 revert unintended change to "gravity" term in IK 2015-09-01 09:51:14 -07:00
Andrew Meadows
bdcc68ce36 fix bug: allow IK to iterate more than once
also changed name of parentTransform to be rootTransform
for more correctness
2015-09-01 09:51:14 -07:00
Andrew Meadows
bb63267e30 fix hand IK rotations or all models 2015-09-01 09:45:14 -07:00
Anthony J. Thibault
0d98ab3365 Normalize scale on AnimSkeleton bind pose. 2015-08-31 17:27:23 -07:00
Anthony J. Thibault
9786954585 Added support for onDone and onLoop triggers. 2015-08-31 12:13:05 -07:00
Howard Stearns
2dbfa5ce9f Be more uniform in deciding animation movement, and incorporate HMD standing mode (which sets position, but not velocity). 2015-08-31 11:10:05 -07:00
Howard Stearns
a907c5757b Do not reset animation frame when restarting while we're fading out.
Keeps it smooth if we're oscillating on some theshold between running and not.)
2015-08-31 11:09:28 -07:00
Anthony J. Thibault
77b857031b Take timeScale into account during interps & setCurrentFrame() 2015-08-31 11:01:15 -07:00
Anthony J. Thibault
54aa0677f6 Merge branch 'master' into ajt/new-anim-system 2015-08-31 10:47:50 -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
Andrew Meadows
d3f06af892 remove PhysicsEntity class 2015-08-27 18:22:12 -07:00
Stephen Birarda
80cf7b6c76 resolve conflicts on merge with upstream/master 2015-08-27 14:50:04 -07:00
Howard Stearns
96c74ebbd5 Enable Rig Animations is now a developer menu item (rather than requiring javascript to set). Also turning it off resets you to bind pose and deliberately throws away old animations.
Default animations are the new ones for our standard T-pose. (Had been for the double-A pose fightbot.)
Rig state machine now does "backup", and doesn't apply strafe while turning.
2015-08-27 12:25:40 -07:00
Anthony J. Thibault
637e3b0a15 Added triggers to AnimVariantMap. 2015-08-27 10:41:01 -07:00
Anthony J. Thibault
b7a9b54628 Better AnimDebugDraw rendering 2015-08-26 16:42:08 -07:00
Ryan Huffman
aa7d8678e1 Merge branch 'protocol' of github.com:birarda/hifi into atp-server 2015-08-26 12:26:11 -07:00
Anthony J. Thibault
46c1e008bc Merge branch 'master' into ajt/new-anim-system 2015-08-26 10:37:39 -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
Brad Davis
d311e4f2ea Fixing problems reported by static analysis tool 2015-08-25 19:18:55 -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
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
7a2ca047cb Added network resource download support to AnimNodeLoader. 2015-08-24 19:00:12 -07:00
Anthony J. Thibault
5a73aef1f8 AnimSkeleton more accurate bind pose generation. 2015-08-24 16:19:16 -07:00
Anthony J. Thibault
fa5256eefd Merge branch 'master' into ajt/new-anim-system 2015-08-24 14:32:28 -07:00
Anthony J. Thibault
80d3ae68c2 Removed redundant ends with ‘fbx’ check. 2015-08-21 22:11:53 -07:00
Anthony J. Thibault
b7009b4631 Fix for animation resources
The problem was that the invokeMethod between the AnimationReader thread
and the main thread was failing, because FBXGeometry* wasn't a registered meta type.

So, I ended up normalizing the AnimationReader class to be more like GeometryReader,
in that it uses singles and slots to communicate success and failure, rather then
invokeMethod.
2015-08-21 16:09:06 -07:00
Anthony J. Thibault
1b3d7fabc8 ResourceCache, NetworkGeometry and Model refactoring and optimizations.
* Removed validation logic from Resource class, Qt does this internally and is more
  standards compliant.  This should result in more accurate caching and faster resource
  fetching when cache is stale and validation fails.
* Added loaded and failed slots to Resource class, so it does not have to be polled.

* NetworkGeometry now uses multiple Resource objects to download
  the fst/mapping file and the fbx/obj models.
* NetworkGeometry is no longer a subclass of Resource
* NetworkGeometry now has signals for success and failure, you no longer
  have to poll it to determine when loading is complete (except for textures *sigh*)

Some functionality was removed

* NetworkGeometry no longer has a fallback
* NetworkGeometry no longer loads LODs or has lod logic.
* The number of FBXGeometry copies is greatly reduced.

* Model::setURL no supports fallback URL, delayLoad or retainCurrent option.
  This can result in a pop when switching avatars, and there's no longer a default
  if avatar loading fails.
2015-08-20 18:59:51 -07:00
Ryan Huffman
5884fcb17b Merge branch 'ordered-sending' into atp-server 2015-08-19 12:23:31 -07:00
Ryan Huffman
51d4cf84da Fix AnimationReader to work with new ResourceCache updates 2015-08-19 12:10:47 -07:00
Philip Rosedale
01108bdf6b Merge pull request #5573 from howard-stearns/sync-eyes-and-vectors
Synchronize eye joint and debugging vectors
2015-08-17 16:56:01 -07:00
Howard Stearns
d28c555a79 Synchronize eye joint and debugging vectors when the other avatar is looking at me. 2015-08-14 16:47:34 -07:00
Andrew Meadows
488f6aa7d8 fix bug in ElbowConstraint::apply() 2015-08-12 13:34:23 -07:00
Howard Stearns
295d655eec Merge pull request #5545 from AndrewMeadows/chlorine
rotation constraints in preparation for inverse kinematics
2015-08-11 09:19:16 -07:00
Andrew Meadows
8e82e48f76 remove more std::max/min favor of glm utilities 2015-08-11 08:17:54 -07:00
Andrew Meadows
a38c1c82d1 use glm::clamp() instead if std::max() and min() 2015-08-10 23:08:36 -07:00
Andrew Meadows
80b36f9f12 fix typo 2015-08-10 15:11:00 -07:00
Seth Alves
b26d6d2b9c Merge pull request #5542 from ZappoMan/RenderableModelEntityItemOptimization
Renderable model entity item optimizations
2015-08-10 15:10:12 -07:00
Andrew Meadows
43bf4a85d2 add RotationConstraint and friends 2015-08-10 14:48:22 -07:00
Howard Stearns
964d04d24f Restore correct space for eye joint rotations.
Also, do not correct for camera position on my avatar. (That will be done by zero or one receivers.)
2015-08-10 12:34:01 -07:00
ZappoMan
ae958dd42d Merge branch 'master' of https://github.com/highfidelity/hifi into RenderableModelEntityItemOptimization 2015-08-10 09:59:45 -07:00
ZappoMan
668778cfd9 optimize JointState::setRotationInConstrainedFrameInternal() to short cut cases where targetRotation matches previous targetRotation 2015-08-09 16:55:43 -07:00
Brad Davis
64fcd2da96 Merge pull request #5530 from ZappoMan/RenderableModelEntityItemOptimization
optimizations to RenderableModelEntityItem::render()
2015-08-07 15:32:07 -07:00
Seth Alves
b1e69537f3 Merge pull request #5524 from howard-stearns/cleanup-jointstate
Clean Up JointState
2015-08-07 13:50:02 -07:00
ZappoMan
cec0f8ed1d optimize ModelEntityItem::getAnimationFrame() 2015-08-07 13:43:57 -07:00
Howard Stearns
145b730f80 Clean up instantiation. 2015-08-07 12:27:26 -07:00
Howard Stearns
a840a17106 Change name originalRotation defaultRotation. 2015-08-06 19:45:58 -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
Howard Stearns
02f57286e4 Don't let individual startAnimation get messed up by blend/fade. 2015-08-06 11:30:18 -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
2d0315978e Fix for compilation on linux. 2015-08-05 12:32:15 -07:00
Anthony J. Thibault
2154f76202 Added some comments to AnimNode, AnimClip & AnimBlendLinear. 2015-08-05 12:03:20 -07:00
Howard Stearns
bb974edf7f Add assert on mix range. 2015-08-05 11:09:04 -07:00
Howard Stearns
f51b5be167 Simplify fade normalization, eliminating a loop. 2015-08-05 11:00:40 -07:00
Howard Stearns
653e46fdd3 const methods. 2015-08-05 10:51:26 -07:00
Howard Stearns
2f2b59b6b6 Merge branch 'master' of https://github.com/highfidelity/hifi into smooth-faded-animations 2015-08-05 10:05:05 -07:00
Howard Stearns
a1f86cc7b8 Make MSVC happy. 2015-08-04 19:49:12 -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
559367db4a Got to the bottom of the bind pose question.
When TRUST_BIND_TRANSFORM is defined in AnimSkeleton, the bind pose is taken
from the FBXJoint::bindTransform field, which is correct for all joints
bound to actual geometry.  Basically it's not trust worthy for bones NOT bound to anything.

When TRUST_BIND_TRANSFORM is not defined, the bind pose is taken from the other
FBXJoint fields.  Unfortunatly these poses are NOT the bind pose, but instead
are taken from the FBX files 'resting' pose. i.e. frame 0.
2015-08-04 18:14:49 -07:00
Anthony J. Thibault
d8a20340a0 Found and fix source of memory corruption.
std::vector.reserve() and raw access do not mix.
raw access will only work if you push_back elements onto the vector
first.  However this worked fine on MacOSX, probably due to differences
in STL implementations.

Some code clean up and some commented out debugging lines.

Debug rendering of animaions of fight club model is not working.
Not sure what frame these transformations are in.
2015-08-04 18:14:49 -07:00
Anthony J. Thibault
55da34f713 Better debug rendering of animations.
* added mat4 cast and mat4 ctors to AnimPose.
2015-08-04 18:14:48 -07:00
Anthony J. Thibault
df79463750 WIP, animNode rendering 2015-08-04 18:14:48 -07:00
Anthony J. Thibault
d1fdbe32d2 optimizations for debug rendering of AnimSkeleton 2015-08-04 18:14:47 -07:00
Anthony J. Thibault
b8bae7cc3f Debug rendering of MyAvatar’s skeletonModel skeleton 2015-08-04 18:14:47 -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
Howard Stearns
731bcba956 Merge branch 'master' of https://github.com/highfidelity/hifi into smooth-faded-animations 2015-08-04 17:27:23 -07:00
Howard Stearns
61198a658c Smooth fading of animations in and out.
Also, turn on the secret rig animations from Javascript with MyAvatar.setEnableRigAnimations(true). (persists)
2015-08-04 17:04:15 -07:00
Seth Alves
9171033f21 Merge branch 'master' of github.com:highfidelity/hifi into rig 2015-08-04 16:06:38 -07:00
Eric Levin
f506e58687 Merge pull request #5490 from howard-stearns/restart-animations-at-specified-parameters
restart animations at specified parameters
2015-08-04 15:09:11 -07:00
Howard Stearns
61afc362e7 For startAnimation (but not startAnimationByRole), use the specified parameters even if the animation
was already playing.  This fixes the behavior exercised by the squeezeHands.js script.
Fixes https://app.asana.com/0/32622044445063/44025709513292
2015-08-03 17:00:39 -07:00
Ryan Huffman
027adf73bb Merge branch 'master' of github.com:highfidelity/hifi into asset-server 2015-08-03 16:41:24 -07:00
Ryan Huffman
2d938f2d0a Update AnimationCache to use new ResourceCache 2015-08-03 16:27:48 -07:00
Howard Stearns
2e5142e9bb Fix end of idle. 2015-08-03 16:09:48 -07:00
Howard Stearns
cdb697760f Remove some debug. 2015-08-03 15:51:07 -07:00
Howard Stearns
4c1d1a65d5 Provide initial fight club animations and use them in rig.
Still only active when you do Settings.setValue('enableRig', true) and restart.
(Will be more exposed after fadein/fadeout is implemented.)
2015-08-03 15:41:15 -07:00
Seth Alves
241e767ab6 move setHandPosition from SkeletonModel to AvatarRig. Tell Rig::initJointStates joint-indexes for hands and elbows and shoulders 2015-07-30 18:44:09 -07:00
Seth Alves
c80516a051 Merge branch 'rig' of github.com:howard-stearns/hifi into rig 2015-07-30 18:39:09 -07:00
Seth Alves
c1f777e18f move setHandPosition from SkeletonModel to AvatarRig. Tell Rig::initJointStates joint-indexes for hands and elbows and shoulders 2015-07-30 18:39:01 -07:00
Howard Stearns
78a900c866 Prototype blend. Just equal weighting for now. 2015-07-30 17:01:48 -07:00
Anthony J. Thibault
7a10b31dd9 Clear translation on root joint.
Also, delete/rename all instances of updateJointState except for the one in Rig
and derived classes.
2015-07-30 15:04:27 -07:00
Howard Stearns
06aa107762 Merge branch 'master' of https://github.com/highfidelity/hifi into rig 2015-07-30 09:57:02 -07:00
Anthony J. Thibault
4bb415fd0d Fix for torso twist.
Off by one error, 0 is a valid parent bone index.
2015-07-30 09:31:23 -07:00
Brad Hefta-Gaub
b95e4e1e93 Merge pull request #5323 from MarcelEdward/20605
Removed the  line where the directory is stripped off the RelativeFile
2015-07-30 07:30:01 -07:00
Howard Stearns
dc34c025bd whitespace 2015-07-29 18:54:05 -07:00
Anthony J. Thibault
c2934bdb5d Fix avatar head, eye and torso twist.
* Updated SkeletionModel::updateRig to explicitly pass a set of HeadParameters
  to the rig to do procedural animation.
* Moved torso lean procedural animation from SkeletonModel into Rig.
* Moved eye tracking procedural animation from HeadModel into Rig.
* Moved neck procedural animation from HeadModel into Rig.
2015-07-29 17:35:29 -07:00
Howard Stearns
a9f76324b5 Merge branch 'rig' of https://github.com/sethalves/hifi into sethalves-rig2 2015-07-29 10:49:27 -07:00
Anthony J. Thibault
b06485c266 Remove cauterize code from Rig and move it back into Model.
* cauterize code is used as at render time and is not dependent on
  the jointStates.
* MyAvatar now initialize the bone set used for cauterization and
  makes the decision to perform cauterization or not in preRender.
2015-07-28 17:45:33 -07:00
Howard Stearns
4754615159 Fix NPC animations. 2015-07-28 12:34:10 -07:00
Seth Alves
6e5aca6da4 merge from upstream 2015-07-27 16:52:36 -07:00
Howard Stearns
1bb734aec0 Kill warnings. 2015-07-27 15:26:03 -07:00
Howard Stearns
146ddd2240 Cleanup false starts. 2015-07-27 13:42:18 -07:00
Howard Stearns
990f0d6d07 Pass correct position/velocity/orientation to Rig simulation. 2015-07-27 12:57:39 -07:00
Seth Alves
a3c6a4b9bc merge from upstream 2015-07-27 09:29:18 -07:00
Howard Stearns
dac6667ee6 Start of state. 2015-07-27 09:21:24 -07:00
Howard Stearns
8b5f24e4df Keep list of animations in Rig, not MyAvatar. 2015-07-24 22:02:39 -07:00
Howard Stearns
05dda1220e Add logging. 2015-07-24 22:01:55 -07:00
Howard Stearns
4e298d815d Add the joint mapping necessary for playing animations in the rig. 2015-07-24 14:07:32 -07:00
Seth Alves
d5400e2b9d Merge branch 'rig' of github.com:howard-stearns/hifi into rig 2015-07-23 15:14:23 -07:00
Seth Alves
33c97a1833 get rid of _firstPersonSkeletonModel in MyAvatar. add flag in Rig for joints being dirty so Model knows when to recompute meshes 2015-07-23 15:14:10 -07:00
Howard Stearns
9593668110 Bring animation file headers up to date. 2015-07-23 15:08:22 -07:00
Seth Alves
4566d16402 move Model's AnimationHandles to Rig. Move a bunch of Model methods from public to protected 2015-07-23 13:03:38 -07:00
Howard Stearns
a1a10ad08e Merge branch 'rig' of https://github.com/sethalves/hifi into sethalves-rig 2015-07-22 21:08:57 -07:00
Howard Stearns
5a0c1a9402 Checkpoint testing stuff. 2015-07-22 21:03:48 -07:00
Seth Alves
ee334ff826 JointStates are owned by Rig objects. Model, FaceModel, SkeletonModel call into their Rig pointer to access JointStates. 2015-07-22 18:43:10 -07:00
Seth Alves
47965bc39c merge from upstream 2015-07-22 13:48:19 -07:00
Seth Alves
7c8d52cbd1 back out some changes to Model.cpp, change how rig pointer is delivered to model initilizer 2015-07-22 13:41:31 -07:00
Marcel Verhagen
8f0893ba21 Added fileOnUrl to check if a texture exist at the location. It return the correct filename of where the texture lives.
Added the url of the fix file to extractFBXGeometry and readFBX and updated the calls to readFBX to include the url of the fix file.

So it now does not break existing content.

Found a second place in the FBXReader.cpp where the RelativeFileName stripped out the dir location.
2015-07-22 22:34:45 +02:00
Howard Stearns
a161f527c4 Comments documenting direction and questions. 2015-07-22 11:41:24 -07:00
Seth Alves
abfe60aa20 whenever Model class uses _jointState, use the Rig version if there is a Rig. 2015-07-20 18:31:42 -07:00
Howard Stearns
ed815a0573 Reflect dependencies in unit test setup. 2015-07-17 16:53:41 -07:00
Seth Alves
bcd6b30ec3 move AnimationHandle from render-utils to animation. give Rig some jointstates and animation lists 2015-07-17 13:31:48 -07:00
Howard Stearns
6ca458b624 Instantiated in MyAvatar 2015-07-15 15:59:24 -07:00
Howard Stearns
5312993e56 Hmm, last was missing some emptiness. 2015-07-15 15:30:34 -07:00
Howard Stearns
bbb5f832a2 Empty Rig. 2015-07-15 15:11:16 -07:00
Atlante45
22f0dbdefb CR 2015-07-14 15:16:00 -07:00
Atlante45
c11864acf3 Merge branch 'master' of https://github.com/highfidelity/hifi into clear_cache_and_restart 2015-07-10 15:57:40 -07:00
ZappoMan
1dd40af162 fix AnimationLoop::setRunning() to not constantly reset the frame when the running state doesn't actually change 2015-07-10 12:43:35 -07:00
Atlante45
6c591131ba Made Animations safe for resource reload 2015-07-10 12:01:51 -07:00
Atlante45
f77fab2fe0 Merge branch 'master' of https://github.com/highfidelity/hifi into applications_diet_cpp11 2015-01-13 20:38:52 -08:00
Atlante45
38729c5790 Made dependencies inherit from Dependency 2015-01-13 20:38:01 -08:00
Atlante45
2a82ff9768 Merge branch 'master' of https://github.com/highfidelity/hifi into applications_diet_cpp11
Conflicts:
	assignment-client/src/voxels/VoxelServer.cpp
	interface/src/Application.cpp
	interface/src/Audio.cpp
	interface/src/DatagramProcessor.cpp
	interface/src/Menu.cpp
	interface/src/Util.cpp
	interface/src/avatar/MyAvatar.cpp
	interface/src/ui/ApplicationOverlay.cpp
	interface/src/ui/PreferencesDialog.cpp
	libraries/networking/src/NodeList.cpp
	libraries/shared/src/DependencyManager.h
2015-01-13 11:03:14 -08:00
Atlante45
8415098fc2 Set different caches size depending on cache type 2015-01-12 15:36:36 -08:00
ZappoMan
a0ec2ddfe9 clamp frame index between 0 and 100,000 2014-12-29 21:07:04 -08:00
Atlante45
296c0025de Switched to auto and changed macro 2014-12-18 15:42:38 -08:00
Atlante45
ce7f72d2cd Update macro 2014-12-17 15:26:47 -08:00
Atlante45
b2dac6f53f DM users update 2014-12-16 15:32:11 -08:00
ZappoMan
660bf2720e convert AnimationCache to DependencyManager 2014-12-15 19:48:15 -08:00
ZappoMan
5c2cc20313 fixes the stutter in animation when observer moves 2014-11-28 17:36:55 -08:00
ZappoMan
ef17659ea2 cleanup 2014-11-12 16:57:42 -08:00
ZappoMan
dd22683672 fixing up animation loop issues 2014-11-12 16:53:16 -08:00
ZappoMan
ba79f40007 add some debug 2014-11-12 16:12:34 -08:00
ZappoMan
6ff8abcbdd sepearate looping logic from AnimationHandle 2014-11-12 14:47:10 -08:00
ZappoMan
68bd6c23d9 sepearate looping logic from AnimationHandle 2014-11-12 14:47:02 -08:00
ZappoMan
8755e2d42e CR feedback 2014-07-03 13:38:52 -07:00
ZappoMan
a53d007c33 add support for getting current animation details for running avatar animations 2014-07-03 11:59:18 -07:00
ZappoMan
106c8bffd8 first cut at animations in models 2014-05-09 16:08:06 -07:00