Commit graph

227 commits

Author SHA1 Message Date
Andrew Meadows
b5aca45ab6 smaller timescale for slaving shapes to skeleton 2014-06-23 12:59:38 -07:00
Andrew Meadows
9713e3d513 remove some unused var warnings in Release build 2014-06-23 12:30:53 -07:00
Andrew Meadows
8ad2a679c4 move code to SkeletonModel::stepRagdollForward() 2014-06-23 11:16:18 -07:00
Andrew Meadows
8b24e9cd67 Update SkeletonModel::_boundingShape position 2014-06-23 09:39:14 -07:00
Andrew Meadows
b2ea8c0bf9 Compute more correct masses for ragdoll parts
also pin root ragdoll shape at the local-frame origin
for stability
2014-06-23 08:37:11 -07:00
Andrew Meadows
c17b8fdb60 collisions update shapes
VerletShapes keep pointers to VerletPoints (rather than to glm::vec3's)
VerletShapes compute lagrangian coefficients
VerletShapes send their movement accumulations to their VerletPoints
2014-06-20 16:31:39 -07:00
Andrew Meadows
4a0ce7a9ae support disabling collisions btw adjacent joints 2014-06-19 17:39:50 -07:00
Andrew Meadows
fbafcb6fd8 Fix distance constraint lengths 2014-06-19 11:46:09 -07:00
Andrew Meadows
2453e9c36a build ragdoll constraints again 2014-06-19 10:31:55 -07:00
Andrew Meadows
5e74ee8c05 VerletPoint has position, lastPosition, and mass 2014-06-19 09:54:32 -07:00
Andrew Meadows
10ee307752 merge upstream/master into andrew/ragdoll 2014-06-19 08:35:29 -07:00
David Rowe
afab5f1cbf Fix startup crash where Hydra controllers are not properly plugged in
Crash occurs if the left controller is plugged in but right one isn't.
2014-06-18 20:52:17 -07:00
Andrew Meadows
d4b5550cda Skeleton now creates VerletShape 2014-06-18 17:22:39 -07:00
Andrew Meadows
9e839f0980 Shape::getCenter() -> Shape::getTranslation() 2014-06-18 08:55:48 -07:00
Andrew Meadows
b9d4545aef merge upstream/master into andrew/ragdoll
Conflicts:
	libraries/shared/src/Shape.h
	libraries/shared/src/ShapeCollider.h
2014-06-17 17:03:16 -07:00
Andrew Meadows
ecbf5043d7 code out of Model into base and derived classes
PhysicalEntity (base class) gets some shape management stuff
SkeletonModel (derived class) gets some boundary shape and
joint-shape stuff
2014-06-17 16:22:18 -07:00
Andrew Meadows
118717d96a Shapes moved from Model into PhysicalEntity 2014-06-16 14:51:58 -07:00
Andrew Meadows
d7a28e1441 enable shape collisions for MyAvatar skeleton
also some stubbery for main simulation loop
2014-06-15 18:07:47 -07:00
Andrew Meadows
158c7de76e Ragdoll not an Entity. SkeletonModel is a Ragdoll 2014-06-13 12:27:58 -07:00
Andrew Meadows
5bd37acdb8 Changed RagDoll to Ragdoll 2014-06-13 11:55:39 -07:00
Andrew Meadows
718b98f70a Only build shapes for models that need them 2014-06-12 18:15:44 -07:00
Andrew Meadows
e0ebc61b25 merge upstream/master into andrew/ragdoll 2014-06-10 15:26:16 -07:00
Andrew Meadows
c9ba71aa01 fix for broken neck on some body models 2014-06-10 09:38:38 -07:00
Andrew Meadows
589b2e8fb7 recover some code for one less magic vec3 2014-06-09 16:12:54 -07:00
Andrew Meadows
e8b6338de9 Fix IK for hydra hands. 2014-06-09 15:40:29 -07:00
Andrew Meadows
5a76a9b4b1 RagDoll keeps a pointer to list of shapes 2014-06-09 11:04:20 -07:00
Andrew Meadows
8e536ebd9a Use NULL Shape* for non-colliding joints in Models 2014-06-09 09:35:27 -07:00
Andrew Meadows
131a2c27b8 move RagDoll to libraries/shared 2014-06-06 15:51:50 -07:00
Andrew Meadows
551029c2f5 slave SkeletonModel's collision shapes to RagDoll 2014-06-06 08:51:22 -07:00
Andrew Meadows
1b2cd2e144 adding RagDoll scaffold 2014-06-05 11:07:35 -07:00
Andrew Meadows
212ac13802 setRotation -> setJointRotationFromBindFrame 2014-06-04 14:10:28 -07:00
Andrew Meadows
323fa70cf3 remove last of "InModelFrame" qualifiers 2014-06-04 14:03:29 -07:00
Andrew Meadows
ccfd620c84 setJointPositionInModelFrame -> setJointPosition 2014-06-04 13:56:37 -07:00
Andrew Meadows
3af4b1b333 getJointPositionInModelFrame -> getJointPosition 2014-06-04 13:51:43 -07:00
Andrew Meadows
971268d4f2 setRotationInModelFrame -> setRotation 2014-06-04 13:46:08 -07:00
Andrew Meadows
b3cabb8156 applyRotationDeltaInModelFrame -> applyRotationDelta 2014-06-04 13:43:15 -07:00
Andrew Meadows
d8f5e10947 getPositionInModelFrame -> getPosition 2014-06-04 13:36:54 -07:00
Andrew Meadows
4a3fbfcdee getRotationInModelFrame -> getRotation 2014-06-04 13:34:58 -07:00
Andrew Meadows
4ae58153e0 computeTransformInModelFrame -> computeTransform 2014-06-04 13:31:31 -07:00
Andrew Meadows
d32e14ca04 renames of JointState data members 2014-06-04 13:27:28 -07:00
Andrew Meadows
19f0f453a5 remove JointState::setRotation()
instead use JointState::setRotationInModelFrame()
2014-06-04 11:52:07 -07:00
Andrew Meadows
30d936c15b getJointPosition -> getJointPositionInWorldFrame 2014-06-04 10:52:10 -07:00
Andrew Meadows
14e782e439 remove some JointState::getHybridTransform() calls 2014-06-04 10:42:04 -07:00
Andrew Meadows
7f46e9d514 remove JointState::getJointRotation()
(use getRotationModelFrame() instead)
2014-06-03 15:42:38 -07:00
Andrew Meadows
e7f32c211b remove world-frame hand/palm set methods 2014-06-03 14:48:57 -07:00
Andrew Meadows
05af993262 Add more model-frame methods 2014-06-03 14:24:04 -07:00
Andrew Meadows
03bf1fe69d Add joint manipulations in model-frame 2014-06-03 14:04:09 -07:00
Andrew Meadows
f99489c157 rolling back previous change for IK instability 2014-06-03 10:40:30 -07:00
Andrew Meadows
d7be5faa9d unravel rotation code by giving proper names
The goal is: eliminate dependency on JointState::_combinedRotation
(which is joint-to-world) and store joint-to-model transforms instead
2014-06-02 14:43:25 -07:00
Andrew Meadows
9b3773fa3b remove 'fromBind' argument to getJointRotation() 2014-06-02 14:20:13 -07:00
Andrew Meadows
a62a270004 merge andrew/inertia into andrew/ragdoll
Conflicts:
	interface/src/avatar/Avatar.cpp
	interface/src/renderer/Model.h
2014-06-02 11:56:27 -07:00
Andrew Meadows
9e60b758df Made JointState transforms private.
Also changed some function names to be more descriptive.
Using "Hybrid" to describe frame with world-rotation + model-local-origin.
2014-06-02 11:34:59 -07:00
Andrew Meadows
8e7daed2b3 Merge upsrtream/master into andrew/inertia
Conflicts:
	interface/src/renderer/Model.cpp
2014-06-02 11:32:23 -07:00
Andrzej Kapolka
164192fb50 If the skeleton doesn't have eye joints (as with the Fuse models), make up
some positions based on the head and neck joints.
2014-05-30 11:03:46 -07:00
Andrew Meadows
4eb4334ed8 replace Model::setJointRotation() with JointState::setRotation() 2014-05-30 09:57:32 -07:00
Andrew Meadows
6efa851104 minor cleanup + use 'fraction' instead of 'percent' 2014-05-29 15:44:27 -07:00
Andrew Meadows
2e99d316ac remove JointState::_translation
(use corresponding data in FBXJoint instead)
2014-05-29 12:52:05 -07:00
Andrew Meadows
a898fcbf75 move details of getJointRotation() into JointState
also: remove unused getLeft/RightHandRotation() methods
2014-05-29 11:43:25 -07:00
Andrew Meadows
4cf5628783 move applyRotationDelta() from Model to JointState 2014-05-29 10:00:55 -07:00
Andrew Meadows
9f2a4ae626 Make JointState a proper class
JointState gets a pointer to its corresponding FBXJoint
2014-05-28 16:49:39 -07:00
Andrew Meadows
13f11e1056 Remove "fromBind" arg in Model::setJointRotation
It was always set 'true'.
2014-05-28 14:53:32 -07:00
Andrew Meadows
9f72d6ca3f fix bug -- negate logic around invalid joint index 2014-05-27 15:53:20 -07:00
Andrew Meadows
ae3b792a35 move face/head code from Model into SkeletonModel 2014-05-27 15:28:41 -07:00
Andrew Meadows
6efa417742 move hand/arm stuff from Model to SkeletonModel 2014-05-27 15:06:50 -07:00
Andrzej Kapolka
d4af39a9f5 Working on handling animation priorities to prevent Hydra move/restore from
interfering with scripted animations.
2014-05-22 14:41:46 -07:00
Andrzej Kapolka
4a23c0cfd9 Fix for arms' getting twisted up with new IK. 2014-05-16 16:25:24 -07:00
Andrzej Kapolka
301234a397 Tabs -> spaces. 2014-05-15 15:34:01 -07:00
Andrzej Kapolka
3eefb6a93e Rotation bits for alternate IK. 2014-05-15 15:32:32 -07:00
Andrzej Kapolka
7bee0478be More work on integrating IK solution from Sixense. 2014-05-15 11:30:09 -07:00
Andrzej Kapolka
8388255542 Working on alternate IK mode. 2014-05-14 15:29:16 -07:00
Andrzej Kapolka
cf230d1cc3 PrioVR tweaks. 2014-05-14 13:36:26 -07:00
Andrzej Kapolka
498f9e73ac Merge branch 'master' of https://github.com/highfidelity/hifi into priority
Conflicts:
	interface/src/avatar/SkeletonModel.cpp
2014-05-14 10:23:44 -07:00
Andrew Meadows
498f2843b0 Fix for bad hand rotations 2014-05-14 09:06:46 -07:00
Andrzej Kapolka
eceb600de7 More work on PrioVR integration. 2014-05-13 14:44:24 -07:00
Andrzej Kapolka
0321821b55 More work on PrioVR integration. 2014-05-13 11:38:24 -07:00
Andrew Meadows
cea472b730 remove the last of Leap specific cruft 2014-05-12 11:48:56 -07:00
Andrew Meadows
49dedb72c9 remove FingerData class and related cleanup 2014-05-12 11:09:12 -07:00
Philip Rosedale
2c6c57eec2 increase hand restoration rate, improve function name clarity 2014-05-08 00:28:02 -07:00
Andrzej Kapolka
963434f784 Try using the head neck/eye rotation updates on the skeleton. 2014-05-02 11:04:52 -07:00
Andrzej Kapolka
141250d51c Don't constrain elbow when rotating forearm with wrist. 2014-04-23 12:22:24 -07:00
Andrzej Kapolka
0386dec2a6 Provide option to align wrists with forearms. 2014-04-23 12:09:54 -07:00
Andrzej Kapolka
511fc8367f More work on IK. 2014-04-23 11:34:34 -07:00
Andrzej Kapolka
f7bc1ae62c Working on integrating rotation into IK. 2014-04-23 10:47:24 -07:00
Andrzej Kapolka
6add0dfb42 Tweaked Hydra "IK" to propagate delta rotations up the hierarchy while
preserving joint constraints.
2014-04-18 15:04:42 -07:00
Andrzej Kapolka
30248747d6 Provide a means of visualizing the joint constraints. 2014-04-18 14:26:34 -07:00
Stephen Birarda
684c6b5372 run regex header replacement on all cpp files 2014-04-09 09:35:42 -07:00
Andrew Meadows
715f2c53d5 merge upstream/master into avatar-interaction
Conflicts:
	interface/interface_en.ts
2014-04-02 17:28:22 -07:00
Andrew Meadows
933cade6b0 Re-add fullUpdate hint to Model::simulate() 2014-04-02 16:34:33 -07:00
Andrew Meadows
97ba5250a5 Only simulate() Avatar Models when necessary
Also: rebuild collision shapes when Model scale changes
2014-04-02 12:01:18 -07:00
Andrzej Kapolka
865ca7de20 Align forearms with wrists. Closes #2577. 2014-04-01 16:01:29 -07:00
Andrew Meadows
b65855a384 merge upstream/master into avatar-interaction 2014-04-01 12:53:47 -07:00
Andrew Meadows
1bbdc9d78b Adding bounding capsule shape for Model
Also:
Cleaned up the automatic geometry LOD loading
Removed staticExtents data member from FBXGeometry
Split debug rendering of bounding shapes from joint shapes
2014-04-01 09:25:25 -07:00
Andrew Meadows
5406490719 rename _shapes -> _jointShapes
also stubbed Model::createBoundingShape()
2014-03-28 11:00:30 -07:00
Stephen Birarda
3c8aa90ae0 Merge pull request #2559 from AndrewMeadows/avatar-interaction-2
split lean input from lean perturbations
2014-03-28 09:25:36 -07:00
Andrew Meadows
796d20168e splitting lean input from lean perturbations 2014-03-27 15:30:30 -07:00
Andrew Meadows
c383b69b61 merge upstream/master into enforce-standard
Conflicts:
	interface/src/avatar/Hand.cpp
2014-03-27 10:53:54 -07:00
Andrew Meadows
4c64c11144 making some type casts abide by coding standard 2014-03-26 16:58:47 -07:00
Andrew Meadows
9a4db152ff avatar responds to hand-vs-head collisions again 2014-03-26 13:20:18 -07:00
Andrew Meadows
fff7a36b54 merge upstream/master into physics project
Conflicts:
	interface/src/avatar/Hand.cpp
	interface/src/avatar/Hand.h
	interface/src/avatar/SkeletonModel.cpp
	interface/src/avatar/SkeletonModel.h
	interface/src/renderer/Model.h
2014-03-25 15:55:26 -07:00
Andrzej Kapolka
62884f1f4f Don't use textures/fancy shaders when rendering shadow map. Closes #2270. 2014-03-24 13:15:03 -07:00