Hooked up seated version of aim offset animation

This commit is contained in:
Anthony J. Thibault 2019-10-31 16:23:29 -07:00
parent f99bb3ec77
commit 4b34311a0a
3 changed files with 1878 additions and 1682 deletions

View file

@ -591,6 +591,8 @@
{
"children": [
{
"children": [
{
"children": [
{
"children": [
@ -2369,9 +2371,185 @@
}
]
},
"id": "seated",
"id": "seatedSM",
"type": "stateMachine"
},
{
"children": [
{
"children": [
],
"data": {
"baseFrame": 1,
"baseURL": "qrc:///avatar/animations/sitting_idle_aimoffsets.fbx",
"blendType": "addAbsolute",
"endFrame": 11,
"loopFlag": true,
"startFrame": 11,
"timeScale": 1,
"url": "qrc:///avatar/animations/sitting_idle_aimoffsets.fbx"
},
"id": "seatedLookLeft",
"type": "clip"
},
{
"children": [
],
"data": {
"baseFrame": 1,
"baseURL": "qrc:///avatar/animations/sitting_idle_aimoffsets.fbx",
"blendType": "addAbsolute",
"endFrame": 30,
"loopFlag": true,
"startFrame": 30,
"timeScale": 1,
"url": "qrc:///avatar/animations/sitting_idle_aimoffsets.fbx"
},
"id": "seatedLookRight",
"type": "clip"
},
{
"children": [
],
"data": {
"baseFrame": 1,
"baseURL": "qrc:///avatar/animations/sitting_idle_aimoffsets.fbx",
"blendType": "addAbsolute",
"endFrame": 50,
"loopFlag": true,
"startFrame": 50,
"timeScale": 1,
"url": "qrc:///avatar/animations/sitting_idle_aimoffsets.fbx"
},
"id": "seatedLookUp",
"type": "clip"
},
{
"children": [
],
"data": {
"baseFrame": 1,
"baseURL": "qrc:///avatar/animations/sitting_idle_aimoffsets.fbx",
"blendType": "addAbsolute",
"endFrame": 70,
"loopFlag": true,
"startFrame": 70,
"timeScale": 1,
"url": "qrc:///avatar/animations/sitting_idle_aimoffsets.fbx"
},
"id": "seatedLookDown",
"type": "clip"
},
{
"children": [
],
"data": {
"baseFrame": 1,
"baseURL": "qrc:///avatar/animations/sitting_idle_aimoffsets.fbx",
"blendType": "addAbsolute",
"endFrame": 97,
"loopFlag": true,
"startFrame": 97,
"timeScale": 1,
"url": "qrc:///avatar/animations/sitting_idle_aimoffsets.fbx"
},
"id": "seatedLookUpLeft",
"type": "clip"
},
{
"children": [
],
"data": {
"baseFrame": 1,
"baseURL": "qrc:///avatar/animations/sitting_idle_aimoffsets.fbx",
"blendType": "addAbsolute",
"endFrame": 110,
"loopFlag": true,
"startFrame": 110,
"timeScale": 1,
"url": "qrc:///avatar/animations/sitting_idle_aimoffsets.fbx"
},
"id": "seatedLookUpRight",
"type": "clip"
},
{
"children": [
],
"data": {
"baseFrame": 1,
"baseURL": "qrc:///avatar/animations/sitting_idle_aimoffsets.fbx",
"blendType": "addAbsolute",
"endFrame": 130,
"loopFlag": true,
"startFrame": 130,
"timeScale": 1,
"url": "qrc:///avatar/animations/sitting_idle_aimoffsets.fbx"
},
"id": "seatedLookDownLeft",
"type": "clip"
},
{
"children": [
],
"data": {
"baseFrame": 1,
"baseURL": "qrc:///avatar/animations/sitting_idle_aimoffsets.fbx",
"blendType": "addAbsolute",
"endFrame": 150,
"loopFlag": true,
"startFrame": 150,
"timeScale": 1,
"url": "qrc:///avatar/animations/sitting_idle_aimoffsets.fbx"
},
"id": "seatedLookDownRight",
"type": "clip"
},
{
"children": [
],
"data": {
"baseFrame": 1,
"baseURL": "qrc:///avatar/animations/sitting_idle_aimoffsets.fbx",
"blendType": "addAbsolute",
"endFrame": 3,
"loopFlag": true,
"startFrame": 3,
"timeScale": 1,
"url": "qrc:///avatar/animations/sitting_idle_aimoffsets.fbx"
},
"id": "seatedLookCenter",
"type": "clip"
}
],
"data": {
"alpha": [
0,
0,
0
],
"alphaVar": "lookAroundAlpha",
"centerId": "seatedLookCenter",
"downId": "seatedLookDown",
"downLeftId": "seatedLookDownLeft",
"downRightId": "seatedLookDownRight",
"leftId": "seatedLookLeft",
"rightId": "seatedLookRight",
"upId": "seatedLookUp",
"upLeftId": "seatedLookUpLeft",
"upRightId": "seatedLookUpRight"
},
"id": "seatedLookAroundBlend",
"type": "blendDirectional"
}
],
"data": {
"alpha": 0,
"alphaVar": "seatedLookBlendAlpha",
"blendType": "addAbsolute"
},
"id": "seated",
"type": "blendLinear"
},
{
"children": [
{

View file

@ -100,7 +100,7 @@ static const QString USER_RECENTER_MODEL_DISABLE_HMD_LEAN = QStringLiteral("Disa
const QString HEAD_BLEND_DIRECTIONAL_ALPHA_NAME = "lookAroundAlpha";
const QString HEAD_BLEND_LINEAR_ALPHA_NAME = "lookBlendAlpha";
const float HEAD_ALPHA_BLENDING = 1.0f;
const QString SEATED_HEAD_BLEND_LINEAR_ALPHA_NAME = "seatedLookBlendAlpha";
const QString POINT_REACTION_NAME = "point";
const QString POINT_BLEND_DIRECTIONAL_ALPHA_NAME = "pointAroundAlpha";
@ -6672,8 +6672,17 @@ glm::vec3 MyAvatar::aimToBlendValues(const glm::vec3& aimVector, const glm::quat
void MyAvatar::resetHeadLookAt() {
if (_skeletonModel->isLoaded()) {
if (isSeated()) {
_skeletonModel->getRig().setDirectionalBlending(HEAD_BLEND_DIRECTIONAL_ALPHA_NAME, glm::vec3(),
HEAD_BLEND_LINEAR_ALPHA_NAME, HEAD_ALPHA_BLENDING);
HEAD_BLEND_LINEAR_ALPHA_NAME, 0.0f);
_skeletonModel->getRig().setDirectionalBlending(HEAD_BLEND_DIRECTIONAL_ALPHA_NAME, glm::vec3(),
SEATED_HEAD_BLEND_LINEAR_ALPHA_NAME, 1.0f);
} else {
_skeletonModel->getRig().setDirectionalBlending(HEAD_BLEND_DIRECTIONAL_ALPHA_NAME, glm::vec3(),
HEAD_BLEND_LINEAR_ALPHA_NAME, 1.0f);
_skeletonModel->getRig().setDirectionalBlending(HEAD_BLEND_DIRECTIONAL_ALPHA_NAME, glm::vec3(),
SEATED_HEAD_BLEND_LINEAR_ALPHA_NAME, 0.0f);
}
}
}
@ -6691,8 +6700,17 @@ void MyAvatar::updateHeadLookAt(float deltaTime) {
glm::vec3 lookAtTarget = _scriptControlsHeadLookAt ? _lookAtScriptTarget : _lookAtCameraTarget;
glm::vec3 aimVector = lookAtTarget - getDefaultEyePosition();
glm::vec3 lookAtBlend = MyAvatar::aimToBlendValues(aimVector, getWorldOrientation());
if (isSeated()) {
_skeletonModel->getRig().setDirectionalBlending(HEAD_BLEND_DIRECTIONAL_ALPHA_NAME, lookAtBlend,
HEAD_BLEND_LINEAR_ALPHA_NAME, HEAD_ALPHA_BLENDING);
HEAD_BLEND_LINEAR_ALPHA_NAME, 0.0f);
_skeletonModel->getRig().setDirectionalBlending(HEAD_BLEND_DIRECTIONAL_ALPHA_NAME, lookAtBlend,
SEATED_HEAD_BLEND_LINEAR_ALPHA_NAME, 1.0f);
} else {
_skeletonModel->getRig().setDirectionalBlending(HEAD_BLEND_DIRECTIONAL_ALPHA_NAME, lookAtBlend,
HEAD_BLEND_LINEAR_ALPHA_NAME, 1.0f);
_skeletonModel->getRig().setDirectionalBlending(HEAD_BLEND_DIRECTIONAL_ALPHA_NAME, lookAtBlend,
SEATED_HEAD_BLEND_LINEAR_ALPHA_NAME, 0.0f);
}
if (_scriptControlsHeadLookAt) {
_scriptHeadControlTimer += deltaTime;