mirror of
https://github.com/HifiExperiments/overte.git
synced 2025-08-09 21:26:25 +02:00
Hooked up seated version of aim offset animation
This commit is contained in:
parent
f99bb3ec77
commit
4b34311a0a
3 changed files with 1878 additions and 1682 deletions
Binary file not shown.
|
@ -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": [
|
||||
{
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in a new issue