Commit graph

494 commits

Author SHA1 Message Date
Andrew Meadows
1b45f5cc0c tweaks to neck and spine constraints 2016-01-27 14:45:09 -08:00
Andrew Meadows
f67a20ee68 apply _hipsOffset in hips local-frame 2016-01-27 14:45:08 -08:00
Andrew Meadows
00715f1906 apply "hips offset" to root of state graph
(Somemtimes the hips are not the root.
I'm looking at YOU blender!)
2016-01-27 14:45:06 -08:00
Anthony Thibault
3cdd88e06c Merge pull request #6951 from ZappoMan/fixAnimationRestart
fix for animations stopping after domain restart
2016-01-27 14:31:27 -08:00
Howard Stearns
0d257b82fa Merge pull request #6934 from hyperlogic/tony/anim-pre-post-rot-support
Avatar Developer Menu: added animation debug options
2016-01-27 10:39:25 -08:00
Brad Hefta-Gaub
f178fc789c fix for animations stopping after domain restart 2016-01-26 18:44:34 -08:00
Anthony J. Thibault
33993b8c44 AnimClip: removed unused static member. 2016-01-26 13:34:21 -08:00
Anthony J. Thibault
69d833a6c0 AnimClip: consistent application of translations
Apply animation translation the same way regardless of state of usePreAndPostPoseFromAnimation.
2016-01-26 10:53:21 -08:00
U-GAPOS\andrew
2728290ffb fix bug in IK and tune head/neck constraints 2016-01-26 09:37:33 -08:00
Anthony J. Thibault
3b062b7a31 AnimClip: special case the translation on the eyes 2016-01-25 18:52:14 -08:00
Anthony J. Thibault
3cee3cbb5a Avatar Developer Menu: added animation debug options
This options are for for developers only and might help debug animation related issues.

* Enable Inverse Kinematics: this can be toggled to disable IK for the avatar.
* Enable Anim Pre and Post Rotations: this option can be used to use FBX pre-rotations from source avatar animations, instead of the current default, which is to use them from the source model.
  This only effects FBX files loaded by the animation system, it does not affect changing model orientations via JavaScript.
2016-01-25 18:52:13 -08:00
Anthony J. Thibault
1bdeeeceeb AnimSkeleton: Added getPre and Post rotation accessors 2016-01-25 18:52:12 -08:00
Anthony J. Thibault
7af20e90c8 Hooked up fly animation to json and Rig 2016-01-22 13:47:09 -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
Anthony J. Thibault
3e6ff0eb68 Moved hand animation control into grab script. 2016-01-05 19:56:56 -08:00
Brad Hefta-Gaub
02835fc960 Merge pull request #6702 from hyperlogic/tony/soft-attachments
Soft Attachment Support
2016-01-03 08:46:16 -10:00
Brad Davis
76eba89f7d Merge pull request #6745 from hyperlogic/tony/neuron-plugin
Support for Perception Neuron
2015-12-30 11:39:32 -05:00
Andrew Meadows
ec27c75332 Merge pull request #6660 from hyperlogic/tony/anim-expressions
AnimExpression: boolean expression parser and evaluator
2015-12-30 08:36:44 -08:00
Anthony J. Thibault
c2dd00375d Merge branch 'master' into tony/soft-attachments 2015-12-29 13:21:37 -08:00
Anthony J. Thibault
6afe3bae5e Copy Neuron joints into controller poses
This makes the accessible for controller mapping and to JavaScript.

Added 'neuronAvatar.js' as an example of reading joints from the neuron and setting them
on the avatar.  NOTE: the rotations are currently in the wrong coordinate frame.
2015-12-22 17:21:33 -08:00
Andrew Meadows
aa3d1c6e4c Merge pull request #6680 from hyperlogic/tony/windmill-anim-fix
ModelEntityItem: Fix for incorrect animations with preTranslations
2015-12-18 14:16:35 -08:00
Anthony J. Thibault
6b5b272cd7 Added SoftAttachmentModel class.
Is a subclass of Model, it overrides the updateClusterMatrices so it will pull
the actual joint matrices from a different rig override.

For the avatar soft attachment system, this override will be the Avatar::_skeletonModel rig.
This will give us the ability for an avatar to "wear" non-rigid attachments, such as clothing.
2015-12-18 09:52:11 -08:00
Anthony J. Thibault
3b1ba67a88 ModelEntityItem: Fix for incorrect animations with preTranslations
ModelEntities that were playing animations on models with local pivot offsets were not working correctly.
Specifically, the windmill animation in the demo domain.

We now compose a matrix containing all of the FBX's preTranslation, preRotation and postTranformations.
2015-12-16 17:08:22 -08:00
Anthony J. Thibault
30480f126b Improved idle to walk forward transition
Hooked up a transition animation from idle to walk in the animation json.
Also fixed a bug in the AnimBlendLinearMove which was preventing the interpolation
into idle from being correct.
2015-12-15 17:26:17 -08:00
Anthony J. Thibault
ab85e2967a AnimExpression: support for unary not. 2015-12-15 13:18:30 -08:00
Anthony J. Thibault
22756d168b Changed grammar to support boolean and and or. 2015-12-15 10:35:35 -08:00
Anthony J. Thibault
2b0ed55077 Merge branch 'master' into tony/anim-expressions 2015-12-15 10:35:19 -08:00
Anthony J. Thibault
3f0cdb3c02 Merge branch 'master' into tony/js-avatar-default-pose 2015-12-14 11:19:24 -08:00
Atlante45
d3224bfde3 More warning fixes 2015-12-11 16:03:44 -08:00
Atlante45
da63357254 More warning fixes 2015-12-11 15:42:15 -08:00
Atlante45
ce51350b65 Fix warnings on windows 64bit 2015-12-11 15:42:15 -08:00
Howard Stearns
dfec222c81 Report animation triggers to normal javascript animationStateHandlers, and update away.js as an example. 2015-12-10 20:39:01 -08:00
Anthony J. Thibault
652ce5501f Expose Avatar default pose to JavaScript
New JavaScript API to get the avatar's default pose.

   MyAvatar.getDefaultJointRotation(index);
   MyAvatar.getDefaultJointTranslation(index);

See `examples/tPose.js` for example usage
2015-12-10 13:57:31 -08:00
Seth Alves
f99812a903 adjust method names to fit convention 2015-12-07 14:31:08 -08:00
Anthony J. Thibault
fd4ed29405 MyAvatar.clearJointData bug fix
MyAvatar.setJointRotation() now works properly after MyAvatar.clearJointData()
2015-12-07 09:03:40 -08:00
Seth Alves
a948ae5f19 children of avatar joints might be right, now 2015-12-06 10:48:00 -08:00
Anthony J. Thibault
7abfc93ff9 Avatar::getJointRotation and getJointTranslation is thread-safe
It can be called from script with minimal blocking,
because it inspects a copy of the joint values from the Rig, which is updated atomically.
This copy occurs in Rig::updateAnimations()
2015-12-04 16:16:17 -08:00
Anthony J. Thibault
ba001ef4b0 Rig: split Poses into internal and external sets.
In preparation for making some accessors thread safe.
2015-12-04 15:15:18 -08:00
Anthony J. Thibault
99223d0a3c AnimExpression: support for parsing simple expressions
supports parens, binary +, -, / and *.
/ and * have higher precedence then + and -
2015-12-03 15:02:00 -08:00
Anthony J. Thibault
710ce7e639 Merge branch 'master' into tony/anim-expressions 2015-12-03 09:56:28 -08:00
Anthony J. Thibault
9c0b4bc2a2 Fix for model entities with non-uniform scaled mesh
Logic which extracted rotations from a non-uniformly scaled matrices was sometimes incorrect.

This should fix the roads in Qbit as well as the blocks in toybox.
2015-12-02 14:09:47 -08:00
Anthony J. Thibault
e2d9e37eb8 Fix for head offset for models with no eyes
This was causing in correct body poses while wearing an HMD.
2015-11-30 14:08:21 -08:00
Anthony J. Thibault
5072339a22 Warning fix 2015-11-25 14:04:01 -08:00
Anthony J. Thibault
23def8d173 Merge branch 'master' into tony/remove-joint-states 2015-11-25 13:55:23 -08:00
Anthony J. Thibault
97a2eb62d4 Fix for incorrect avatar bounds after changing avatars 2015-11-25 12:06:50 -08:00
Anthony J. Thibault
868cf83b48 Fix for attachments and MyAvatar::getDefaultEyePosition() 2015-11-25 10:07:29 -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
2cc1dfe819 getRootAbsoluteBindPoseByChildName() is deprecated 2015-11-24 20:39:26 -08:00
Andrew Meadows
3ae082f09c compute bounding capsule of avatars 2015-11-24 20:28:39 -08:00
Anthony J. Thibault
386dad7aff Fixes hand IK for some avatars
Specifically:

   https://hifi-content.s3.amazonaws.com/ozan/dev/avatars/hifi_team/ryan/_test/ryan.fst
   https://hifi-content.s3.amazonaws.com/ozan/dev/avatars/hifi_team/brad/brad.fst
   https://s3.amazonaws.com/hifi-public/tony/blackmery/blackmery.fst

These avatars have "Hips" joints that are NOT the root of the skeleton.
This would cause the getRootAbsoluteBindPoseByChildName() to return (0,0,0).
Causing the IK targets to be lower then they should have.
2015-11-24 18:57:35 -08:00