Seth Alves
b3b053ce18
if delta-time is more than 1/30th of a second, clamp it to avoid crazy ik induced orbits when main thread is blocked
2016-02-10 09:52:29 -08:00
Anthony J. Thibault
bfeace78f7
AnimInverseKinematics: warning fixes
2016-02-04 18:51:48 -08:00
Anthony J. Thibault
51189cfc50
AnimInverseKinematics: opened up UpLeg and Leg constraints
...
This improves the quality of the jump animations, while IK is enabled.
2016-02-04 17:56:41 -08:00
Andrew Meadows
71664dffae
change string comparisons to be CaseSensitive
2016-02-01 09:50:01 -08:00
Andrew Meadows
de54a0ac4b
remove cruft
2016-01-29 14:51:24 -08:00
Andrew Meadows
14ec1b6295
reduce hand IK coupling to hip position
2016-01-29 14:28:56 -08:00
Andrew Meadows
a98459dfa8
minor IK optimization: changed accumulators only
2016-01-29 14:28:56 -08:00
Andrew Meadows
449d566d2a
properly track lowestMovedIndex
2016-01-29 14:28:56 -08:00
Andrew Meadows
48f6a9c05f
fix IK looping error after minor refactor
2016-01-29 14:28:56 -08:00
Andrew Meadows
7b3f688a17
pull CCD IK solution pass into protected method
2016-01-29 14:28:56 -08:00
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
U-GAPOS\andrew
2728290ffb
fix bug in IK and tune head/neck constraints
2016-01-26 09:37:33 -08:00
Atlante45
d3224bfde3
More warning fixes
2015-12-11 16:03:44 -08:00
Atlante45
ce51350b65
Fix warnings on windows 64bit
2015-12-11 15:42:15 -08:00
Anthony J. Thibault
54408a9c87
AnimVars are now in avatar/rig space
...
This makes it much simpler for code out side of the rig to manipulate AnimVars
* Removed mat4 type from AnimVars
* AnimVariantMap now has a _rigToGeometryTransform matrix
used to transform positions and rotations into the correct coordinate frame.
* Moved AnimPose code to extract a quat from a scaled matrix into GLMHelpers
2015-11-20 18:29:17 -08:00
U-GAPOS\andrew
390310f822
swap the order of checks
2015-11-09 14:15:09 -08:00
U-GAPOS\andrew
c07b97920e
fix for avatars created with blender
2015-11-09 14:11:45 -08:00
U-GAPOS\andrew
2716a9f2b4
fix IK for feet targets
2015-11-09 13:11:03 -08:00
Anthony J. Thibault
20d95080f1
IK fix for avatars exported from Blender
...
This should fix the issue with the hips moving erratically when arm IK
is enabled. The main issue is that the IK system assumed that the "Hips"
joint was the root of the skeleton. For Blender avatar this is not the case
as it inserts an "Armature" node at the root instead.
2015-11-05 12:03:45 -08:00
Anthony J. Thibault
485e36d824
Bug fix for hand IK when using the Owen avatar.
...
The IK was assiming that the "Hips" bone index was always 0.
This was not the case for Owen. Now we lookup the Hips index
and cache it for use during the hipsOffset computation.
2015-10-26 17:17:46 -07:00
Andrew Meadows
917bfbf64e
hack to reduce hand influence of hips in HMD mode
2015-10-19 15:19:32 -07:00
Andrew Meadows
8ebdd25b71
more cleanup
2015-10-12 14:07:23 -07:00
Andrew Meadows
22786dea7d
cleanup
2015-10-12 13:35:26 -07:00
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
Andrew Meadows
224fc55033
put IK targets in skeleton's model-frame
2015-10-06 16:49:29 -07:00
Anthony J. Thibault
fc7b6dee84
Merge branch 'master' into transmit-joint-translation
2015-10-02 11:40:33 -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
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
Andrew Meadows
17e3e9394f
allow head translation for 3rd person screenie IK
2015-09-24 12:38:46 -07:00
Andrew Meadows
d25ba8946e
fix animation attenuation from IK relaxation step
2015-09-22 17:20:26 -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
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
Andrew Meadows
07f3abfc91
fix bugs
2015-09-18 12:01:23 -07:00
Andrew Meadows
6ed0a57d9f
avoid unecessary computation of last absolutePose
2015-09-18 10:09:23 -07:00
Andrew Meadows
420acde720
blend IK effects between distinct end effectors
2015-09-17 22:11:59 -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
Andrew Meadows
d74628720f
fix bug using unitialized std::vector elements
2015-09-14 17:14:04 -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
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
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
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
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