Commit graph

7139 commits

Author SHA1 Message Date
Celine NOEL
cbbdf87212 Addition of the SmartBodyIntuitiveAnimation class (uses blends of animations instead of
postures to animate characters).

Has to be corrected:
	* eyes of the characters flying,
	* interruption doesn't seem to work (consequence: impossible to switch from
		IntuitiveAnimation to StaticAnimation),
	* using x instead of z axis when calculating z parameter in the locomotion blend.
2014-08-11 02:42:36 +00:00
Celine NOEL
74042e3240 Reduce the blends and change the way of adjusting the position to match
the server position.
2014-08-04 20:41:57 +00:00
Celine NOEL
f5f710053f Random changes during static animation happen less often. 2014-08-04 14:20:21 +00:00
Celine NOEL
d76f1ce439 Addition of mReadyTime member into SmartBodyAnimationInstance to manage
the duration of the blend between two consecutive animations.
2014-08-04 14:08:37 +00:00
Celine NOEL
81f49a4b02 Using a single map to contain the animations in the SmartBodyAnimationManager
(instead of a map and three vectors).
2014-08-04 13:25:53 +00:00
Celine NOEL
93b22d77db Using copy constructors for SmartBodyAnimations. 2014-08-04 13:17:05 +00:00
Celine NOEL
873b9905a0 Restructuration of SmartBodyAnimation.
The animations are now handled through a SmartBodyAnimationManager. They are
divided in three categories:
	* SmartBodyMovingAnimation => set of motions that implies a movement
of the character.
	* SmartBodyStaticAnimation => set of motions that doesn't make the
character change his position (not compatible with MovingAnimations).
	* SmartBodyGestureAnimation => set of motions that are played only
once (whereas Moving/StaticAnimations concern the posture of the character).
2014-08-01 03:11:58 +02:00
Celine NOEL
27639a11d2 Addition of motion mapping in SmartBodySkeletonMap. 2014-07-30 10:23:16 +02:00
Celine NOEL
c453f8b4b3 Redirection of SmartBody logging files to Ember ones. 2014-07-28 23:13:43 +02:00
Celine NOEL
7f7bd8e63e Taking account of the character being shifted. 2014-07-28 22:04:34 +02:00
Celine NOEL
70a69f26d0 Using an index (instead of a string) comparison to know which bone is the
base joint into the loop updating the bone positions.
2014-07-28 22:04:34 +02:00
Celine NOEL
41f6bd9fc5 Fix the segmentation fault happening when relogging.
This commit will be updated when it will be possible to free bml requests.
2014-07-28 22:04:34 +02:00
Celine NOEL
0b087ed308 Adjustment of the character's position using the position requested by
the server.
2014-07-28 21:45:09 +02:00
Celine NOEL
49260ca841 SmartBodyAnimation now contains the name of the corresponding motion. 2014-07-28 18:05:28 +02:00
Celine NOEL
65ed742f7c The position of the character is now set using SmartBody. 2014-07-28 18:05:28 +02:00
Celine NOEL
f100ab960e Addition of mTranslation member to SmartBodyRepresentation.
This variable (type = double) will be used by ModelHumanoidAttachment
to set the position of the scene node accordingly to the movement.
We also fix the z-position of the base joint, as this will be handled
by ModelHumanoidAttachment.
2014-07-21 18:38:13 +02:00
Celine NOEL
9549f573ca Addition of the boilerplate. 2014-07-21 18:37:49 +02:00
Celine NOEL
78dbe63a63 Addition of ModelHumanoidAttachment.
ModelHumanoidAttachment is derived from ModelAttachment. It is overriding setPosition()
to adjust the new position of the scene node a humanoid model is connected to, in order
to make motions look realistic (takes account of acceleration/deceleration stages during
movement transitions).
2014-07-21 18:37:49 +02:00
Celine NOEL
cb0cc55e90 Addition of ModelRepresentationHumanoid::isOgreAnimated() method.
It will be used by ModelAttachmentHumanoid to know whereas this representation
should be treated as a normal ModelRepresentation, or if it must alter the position
sent by the server to smooth the motion and make it look realistic.
2014-07-21 18:37:29 +02:00
Celine NOEL
c73eed7b60 Fix the inclination of the lower part of the body during locomotion
animations.

* Remove setupMotion method (used only by SmartBodyLocomotion, but SBMotion::
buildJointTrajectory() was the cause of this strange inclination).
* Remove the content of SmartBodyLocomotion::applyRetargeting (it applied contraints on
the joint trajectory created into setupMotion()).
* Add some documentation.
2014-07-21 11:24:29 +02:00
Celine NOEL
56901a7f20 Use std::map<std::string, std::string> instead of std::vector
<std::string> to represent mBones in SmartBodySkeletonMap.
2014-07-21 11:24:28 +02:00
Celine NOEL
bd3aad8d78 NULL => nullptr. 2014-07-21 11:24:28 +02:00
Celine NOEL
30c7395f5f Add documentation for the Behaviors. 2014-07-21 11:24:28 +02:00
Celine NOEL
2339f7fbcd Change for loops through vector collection. 2014-07-21 11:24:28 +02:00
Celine NOEL
4a13093bab Remove //#define NDEBUG. 2014-07-21 11:24:28 +02:00
Celine NOEL
d4a05da66b Add braces to one line if statements. 2014-07-21 11:24:27 +02:00
Celine NOEL
2a35286e04 Add missing documentation in SmartBodyAnimation.h. 2014-07-21 11:24:18 +02:00
Celine NOEL
7141620b89 Use enum class instead of enum. 2014-07-21 07:32:10 +02:00
Celine NOEL
15b985e9cb Fcn(void) => Fcn(). 2014-07-21 07:32:10 +02:00
Celine NOEL
6b18bb9988 Fix bug with manual bones.
If both manual bones and shared skeleton are used, a bug in Ogre will only apply the bone transformations to the first entity. This code fixes that.
2014-07-21 07:29:11 +02:00
Celine NOEL
2f142de3c0 Correct ogre/Makefile.am. 2014-07-16 16:51:03 +02:00
Celine NOEL
ec8b4988e2 Last fixes. 2014-07-16 15:42:07 +02:00
Celine NOEL
d67b04b93c Update of SmartBody library. 2014-07-14 00:51:17 +02:00
Celine NOEL
0a6ef9bbc1 Fixes of SmartBodySkeletonMap, and SmartBodyRepresentation. 2014-07-14 00:51:16 +02:00
Celine NOEL
9ed655751f Addition of SmartBodyAnimation::NOD. 2014-07-14 00:51:16 +02:00
Celine NOEL
520e8cdc5b Alterations to fit the addtion of SmartBodyGestures. 2014-07-14 00:51:16 +02:00
Celine NOEL
630451d852 Addition of SmartBodyGestures. 2014-07-14 00:51:08 +02:00
Celine NOEL
20c4369777 Addition of skeleton reference mapping in Behaviors. 2014-07-13 22:34:07 +02:00
Celine NOEL
46a35e399e Call to CreateSmartBodyCharacter() before onMovementChanged(). 2014-07-13 22:30:10 +02:00
Celine NOEL
7f5da8e6dd Addition of the BML processing functionnality. 2014-07-08 00:23:37 +02:00
Celine NOEL
5fd0dad198 Deletion of Scene and AssetManager getters. 2014-07-08 00:21:26 +02:00
Celine NOEL
7d43350cfb Addition of SmartBodyAnimation. 2014-07-08 00:11:47 +02:00
Celine NOEL
6bd8ca4913 Changes to MotionManager :
* addition of doHumanoidAnimationUpdate.
2014-07-07 14:54:15 +02:00
Celine NOEL
c72d5bd231 Addition of SmartBodyRepresentation (bounding between SBCharacters and Ogre::Entity) 2014-07-07 14:18:43 +02:00
Celine NOEL
ce648e6973 Revert "<xxx.h> => "components/sb/xxx.h"."
This reverts commit 836a8345c8.
2014-06-30 12:20:31 +02:00
Celine NOEL
ce58d500b7 Fix creation of corresponding SB character. 2014-06-30 12:16:42 +02:00
Celine NOEL
6a5e8b274a Fix : display of humanoid models. 2014-06-26 13:27:48 +02:00
Celine NOEL
836a8345c8 <xxx.h> => "components/sb/xxx.h". 2014-06-24 20:31:43 +02:00
Celine NOEL
53dbab60bf Pointers => References. 2014-06-24 15:46:16 +02:00
Celine NOEL
9b91c8418c Deletion of SmartBody.h. 2014-06-24 14:25:23 +02:00