Commit graph

1347 commits

Author SHA1 Message Date
Sam Gateau
eecaeb1155 FOund the issue why the skinning was incorrect, removed unecessary data structures in the newly added objects and renamed Deformer to SkinCluster and DYnamicTransform to SkinDeformer 2019-10-16 04:02:05 -07:00
dooglifeSF
0510215240 Move magic number to constant for SLOW_SPEED_THRESHOLD. 2019-10-15 17:48:06 -07:00
Anthony J. Thibault
14e5962675 Bugfix for legacy sit scripts
Don't return additive clip nodes as valid "roles" for users to override.
2019-10-15 15:29:24 -07:00
dooglifeSF
a043f0a17e Create isNotInputSlow var for stategraph switch when no input and speed less than 1.5 m/s 2019-10-15 14:51:42 -07:00
Sam Gateau
05ac9aefa8 the clusterMatrices should be working, but n skin index and weights are assigned yet 2019-10-14 02:21:01 -07:00
dooglifeSF
85b681e70e switch abs() to fabsf() 2019-10-09 11:07:14 -07:00
dooglifeSF
2a1258968a Change macro to const float, use floats in control flow. 2019-10-09 10:10:45 -07:00
dooglifeSF
8a262a3d1a Merge branch 'master' into drivekey_anim_triggers 2019-10-09 07:37:38 -07:00
dooglifeSF
cfa7df7d1a Refactor the if-logic to remove complexity 2019-10-08 16:14:21 -07:00
dooglifeSF
2626f85f49 Handle multiple inputs, bias towards inputZ instead of inputX, and add a deadzone that matches xbox controller analog deadzone 2019-10-08 15:44:06 -07:00
David Rowe
1106d8fdfa Doc review 2019-10-08 21:15:16 +13:00
David Rowe
f224832d27 Merge branch 'master' into DOC-111 2019-10-08 20:44:13 +13:00
dooglifeSF
387f0a3f10 add isInput* and isNotInput vars for use in json, and edit json to use them 2019-10-04 15:28:35 -07:00
Anthony J. Thibault
1068637d39 Fix for avatars that are stuck in idle pose for observers
The problem can occur because the default constructor for the NetworkAnimState does not initialize the blendTime member.
This can cause the avatar to remain stuck in an idle pose for observers when blendTime happens to be randomly initialzied to a large negative floating point value.
To fix this we explicitly initialize it to FLT_MAX.

Additionally, a debug print has been added to help diagnose this issue if it occurs again.
2019-10-01 14:28:10 -07:00
David Rowe
605d272392 Merge branch 'master' into DOC-111 2019-09-20 10:25:21 +12:00
luiscuenca
279e25ca70
Merge master 2019-09-19 13:21:49 -07:00
David Rowe
d5e08d19e3 Fix JSDoc for miscellaneous white space issues 2019-09-20 08:17:24 +12:00
luiscuenca
6d98537a20
Clean up code and refactor avatar-animation.json 2019-09-19 10:45:20 -07:00
Shannon Romano
a5fdf5bb40
Merge pull request #16214 from hyperlogic/bug-fix/additive-blend-scale-fix
Fix additive blending on avatars with non identity scale.
2019-09-19 09:04:28 -07:00
Anthony J. Thibault
41978aa4a4 Fix additive blending on avatars with non identity scale.
Some avatars that have non 1.0 scale values were incorrectly being scaled during additive blends, this fixes that.
2019-09-18 14:42:57 -07:00
Seth Alves
7fa24efca0 add a way to query Rig to see if a joint has been overridden by a script 2019-09-17 09:43:20 -07:00
David Rowe
dff37a71eb Fix JSDoc markup HTML issues 2019-09-17 16:26:09 +12:00
luiscuenca
3c043309be
Detect HMD mode properly from rig, in order to enable head IK 2019-09-12 14:03:17 -07:00
luiscuenca
7c7c3cd223
merge master 2019-09-11 14:07:19 -07:00
Shannon Romano
e1dac580b6
Merge pull request #16121 from luiscuenca/audioPosesSyncFix
BUGZ-1234: Mitigate the effect of audio noise on talking animations
2019-09-09 10:37:07 -07:00
luiscuenca
0e4e09acb5
Add blending 2019-09-06 14:30:10 -07:00
Anthony J. Thibault
aa848df227 warning fixes 2019-09-05 17:43:07 -07:00
Anthony J. Thibault
c35640f739 Warning fixes and small bug fix to anim stats 2019-09-05 14:54:19 -07:00
Anthony J. Thibault
29de8a8d9f remove ajt comment 2019-09-05 11:11:10 -07:00
Anthony J. Thibault
b6f28a6732 Switch additive animation deltas from a pre multiply to a post multiply. 2019-09-05 11:09:03 -07:00
Anthony J. Thibault
92df5cccdc AnimBlendDirectional node 2019-09-05 11:09:02 -07:00
Anthony J. Thibault
6274ab4aa7 3x3 blend wip 2019-09-05 11:09:00 -07:00
Shannon Romano
96f6793a87
Merge pull request #16118 from hyperlogic/feature/aim-offset-blend
Additive animation support
2019-09-04 16:55:50 -07:00
Anthony J. Thibault
c814176d6a Fix initialization order of members warning 2019-08-29 16:16:19 -07:00
luiscuenca
265b6f57a1
Try to mitigate the effect of background mic noise when simulating talking 2019-08-29 15:19:17 -07:00
Anthony J. Thibault
52ed0bcb71 additive blending work 2019-08-29 10:17:51 -07:00
Anthony J. Thibault
16a20a5ead AddAbsolute now works! added blendType to AnimClip 2019-08-28 18:19:35 -07:00
Anthony J. Thibault
adda7774d3 WIP checkpoint addAbsolute still broken 2019-08-28 14:08:21 -07:00
Seth Alves
f331b76c51 apply fake eye saccades if eye joints aren't overridden (rather than if HasProceduralEyeFaceMovement is true) 2019-08-27 16:59:31 -07:00
Seth Alves
1979e1dbc7 apply fake eye saccades if eye joints aren't overridden (rather than if HasProceduralEyeFaceMovement is true) 2019-08-27 16:47:01 -07:00
luiscuenca
55b54b02a0
Restate evaluation count on AnimContext 2019-08-27 10:59:03 -07:00
luiscuenca
acbeb326a7
Set activation when switching random states 2019-08-27 10:57:22 -07:00
luiscuenca
7f1f6dba31
Implement activation on nodes and use it to trigger random states 2019-08-27 10:25:35 -07:00
Anthony J. Thibault
ed3ba876a8 AddRelative blending support (Absolute is still not working) 2019-08-26 17:02:15 -07:00
Anthony J. Thibault
f1afc9e873 Bug fix & rename isRelative to relativeFlag 2019-08-23 08:46:14 -07:00
Anthony Thibault
001e4bc952 AnimClip now supports relative animations.
Relative animations are animations that are rotation deltas from some base reference pose.
They are calculated by multiplying each frame of each joint the inverse of that joints in the base reference pose.
It is intended for use with additive blending.

Added the following fields to AnimClip node.

* isRelative (boolean)
* baseURL (string)
* baseFrame (int)
2019-08-21 16:11:10 -07:00
Anthony J. Thibault
381f7c6bc4 Avatar sitting bug fixes
* Added seatedToIdle transition, to make transition quicker to better match the capsule physics.
* Made switching into and out of instantly set animVar for the animation graph, previously it was delayed by 100 ms.
* Created "isNotSeated" anim var for exiting the seated state.
* MyAvatar::beginSit & MyAvatar::endSit no longer calls goToPosition, instead MyAvatar::slamPosition is called.
* MyAvatar::slamPosition will cause the AvatarTransit class to NOT play the teleport anticipation/reaction animation.
  Note: This does not prevent other clients from interpolating the position when entering the seat, but it prevents the teleport reaction animation from playing.
* Disable leg IK in HMD mode while seated.
2019-08-16 10:57:03 -07:00
Anthony Thibault
1b225a777a
Merge pull request #16048 from luiscuenca/rotationOnlyInterpolationFix
DEV-332: Ramp on and off Head IK to make reactions smoother
2019-08-09 16:18:12 -07:00
luiscuenca
73b3419c75
store rotations when interpolating 2019-08-09 11:02:20 -07:00
luiscuenca
e3ec87a8f8
Add in/out interpolation between RotationOnly and Unknown types 2019-08-09 10:46:48 -07:00
Anthony J. Thibault
f1c47db53c set idleOverlayAlpha animVar for backward compatibility with older graphs 2019-08-08 11:12:42 -07:00
Anthony J. Thibault
5d405cac3b Merge branch 'master' into feature/reaction-intro-loop-outro 2019-08-08 09:56:45 -07:00
luiscuenca
597cff335a
Reserve vector size 2019-08-08 08:40:00 -07:00
luiscuenca
3a22db0a13
Last state for all node types 2019-08-08 06:25:04 -07:00
luiscuenca
473af995d6
Fix warnings 2019-08-07 16:53:08 -07:00
luiscuenca
74eacf2346
Make sure random switch does not repeat previous state 2019-08-07 15:08:44 -07:00
Anthony J. Thibault
b306ed69d6 Bugfix for evaluateBoth interpType.
It wouldn't pick the correct starting frame of the state being switched to.
Also, interping out of a evaluateBoth interp uses a snapshot.
2019-08-06 17:40:28 -07:00
Anthony J. Thibault
640c058591 Code review feedback 2019-08-05 12:52:42 -07:00
Anthony J. Thibault
a8d7f06862 warning fixes 2019-08-04 11:03:21 -07:00
Anthony J. Thibault
c8e4536bba Hooked up variations of seated while talking and stubs for reactions while seated. 2019-08-02 10:11:38 -07:00
Anthony J. Thibault
aad6958b68 Don't evaluate overPoses if alpha is 0.0. 2019-08-02 09:36:20 -07:00
Anthony J. Thibault
a2e37b7275 talking/reactions while seated, work in progress check in 2019-08-01 13:05:15 -07:00
Anthony J. Thibault
727c04791c Added linear to stringToEasingType() 2019-07-31 15:18:59 -07:00
Anthony J. Thibault
ec08139a46 Support for EvaluteBoth interpType and easing 2019-07-31 15:00:38 -07:00
Anthony J. Thibault
2f949a4d4d Disable head ik while reacting
Also, split getReactions() API into two calls

* getTriggerReactions() - lists all reactions that can be triggered with MyAvatar.triggerReaction().
* getBeginReactions() - lists all reactions that can be used with MyAvatar.beginReaction() and MyAvatar.endReaction().
2019-07-26 15:26:43 -07:00
luiscuenca
e7e864121f
Merge branch 'master' into avatarSitAPI 2019-07-23 14:22:42 -07:00
luiscuenca
9cec979552
Add sit API to MyAvatar 2019-07-23 14:20:54 -07:00
Anthony Thibault
ecae92724e Added reaction api 2019-07-17 14:28:39 -07:00
Anthony Thibault
6425c68836 fix for self assignment warning 2019-07-16 10:48:51 -07:00
dooglifeSF
9f8d1dd51d Merge branch 'master' into idles_talks_locomotion_improvements 2019-06-26 09:31:23 -07:00
Anthony J. Thibault
3a6d8dc383 Disable handTouch.js to prevent finger twitching
This PR disables handTouch.js.
handTouch.js allows the fingers to animate on the surface of an object.
However, it can sometimes detect collisions with walls or tables when the avatar is standing next to them.
We will more properly fix handTouch.js in a future PR, but for now we will disable the functionality.

Also, a small bug fix was made to the Rig to prevent the idleOverlayAlpha from exceeding the 0.0 to 1.0 range.
This can cause the fingers to bend incorrectly for a moment.

Also, three new items were added to the Developer > Show Animation Stats panel.

* Joint Override Count: displays the current count of joints that are overriden by MyAvatar.setJointRotation() JS API calls.
* Flow: displays if flow is active of disabled.
* Network Graph: displays if the network anim graph, used for teleportation, is enabled or disabled.

https://highfidelity.atlassian.net/browse/BUGZ-154
2019-06-20 15:52:36 -07:00
dooglifeSF
4be42a4b9b Merge branch 'master' into idles_talks_locomotion_improvements 2019-06-19 09:57:04 -07:00
dooglifeSF
55524ec815 Set debug text lit time to 20 (again) and move 2 break statements out of comment to fix exception in debug 2019-06-18 09:39:06 -07:00
Anthony J. Thibault
c75dc29c03 more assert macro trickery 2019-06-17 16:11:19 -07:00
Anthony J. Thibault
e6e40e7b48 added include<assert.h> 2019-06-17 16:09:24 -07:00
Anthony J. Thibault
d57ea8ac4a Fix for signed/unsigned compare warning 2019-06-17 15:42:20 -07:00
Anthony J. Thibault
4b5d5062b1 Improvement to Developer > Avatar > Draw Animation
This feature was added to help diagnose the root cause of a rarely occurring finger twitching bug.

Also, some asserts were added to AnimClip to also help catch a rarely occurring crash.
2019-06-17 14:50:19 -07:00
Seth Alves
d1824c4d6d remove spammy log 2019-06-04 13:00:26 -07:00
Anthony Thibault
93b03a588f
Merge pull request #15445 from amantley/AnimRandomSwitchSquash
AnimRandomSwitch class for random idle implementation
2019-04-26 10:06:37 -07:00
Angus Antley
395a4cc9c4 added final animations and json to the resource 2019-04-25 19:14:31 -07:00
Angus Antley
27ed468946 made changes requested 2019-04-25 14:42:41 -07:00
Angus Antley
76164ecee8 corrected the case where you have a random switch state trigger and a random transition trigger in the same random state machine 2019-04-25 13:57:58 -07:00
David Rowe
8e69e0b049 Regularize deprecation notices 2019-04-25 20:55:30 +12:00
Angus Antley
ea173b8d61 more time for talk ease in and updated json random choice times 2019-04-24 21:29:55 -07:00
Angus Antley
93b49a86db fixed build error 2019-04-24 15:50:00 -07:00
Angus Antley
45f4cb2018 added animation files and updated ease in function in rig 2019-04-24 14:56:38 -07:00
Angus Antley
5aee2f35f0 updated the ease in function 2019-04-24 08:27:36 -07:00
amantley
7f3101eefb working on the ease in function for the talk idle 2019-04-23 18:13:15 -07:00
Angus Antley
bac5cf9bbb fixed the debug state info updating 2019-04-22 14:35:04 -07:00
Angus Antley
6d9e4188eb added AnimRandomSwitch class and got it integrated with a new avatar-animation.json that includes random idles and random fidgets and random talk 2019-04-22 14:14:17 -07:00
Clement
0f2dbd7b6a Fix mac warnings 2019-04-19 20:14:15 -07:00
amantley
035c8a687d fixed merge conflict 2019-04-17 10:16:39 -07:00
Shannon Romano
f2069a2cd7
Merge pull request #15344 from amantley/bugTwoBoneOverFlow
Fixed out of range error in AnimTwoBoneIK
2019-04-17 09:51:09 -07:00
Anthony J. Thibault
02d5769991 Better head vs camera checks for avatar head cauterization
* cameraInsideHead() check now uses detailed avatar collision when possible.
* head is now more constantly hidden in first person camera mode
* getEyeModelPositions() uses a better estimate when avatar eye joints are missing.
* moved findPointKDopDisplacement from Rig.cpp into AnimUtil.cpp
* added isPlayingOverrideAnimation() method to Rig class
2019-04-09 12:57:03 -07:00
John Conklin II
c902e8392c
Merge pull request #15343 from luiscuenca/fixSimJoints
Fix error extracting SIM joints on Flow
2019-04-05 18:28:05 -07:00
luiscuenca
39b58a44ee Fix error on sim joints for new flow app 2019-04-05 16:38:38 -07:00
Angus Antley
09e2da4c93 fixed out of range error in the two bone IK computation 2019-04-05 16:31:18 -07:00
David Rowe
28dfac64ba Merge branch 'master' into M21460
# Conflicts:
#	libraries/image/src/image/Image.h
2019-04-05 17:50:46 +13:00
Anthony Thibault
65507cfe11
Merge pull request #15180 from luiscuenca/flowCppFixes
Fix Flow touch and scale issues
2019-03-28 11:11:08 -07:00
Anthony Thibault
b0d5a82c80
Merge pull request #15169 from hyperlogic/bug-fix/rig-assert-fix
Rig.cpp: Fix for index out of range assert in debug builds
2019-03-28 11:10:32 -07:00