Merge pull request #16489 from hyperlogic/bug-fix/hmd-strafe-transition-bug-rc86

RC86: Handle HMD in input vars and remove/fix json transitions in/out of HMD strafe states
Force merge due to build issues.
This commit is contained in:
Shannon Romano 2019-11-13 12:48:11 -08:00 committed by GitHub
commit f38509dad5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 15 additions and 37 deletions

View file

@ -5767,14 +5767,6 @@
"state": "INAIRRUN",
"var": "isInAirRun"
},
{
"state": "strafeRightHmd",
"var": "isMovingRightHmd"
},
{
"state": "strafeLeftHmd",
"var": "isMovingLeftHmd"
},
{
"state": "seated",
"var": "isSeated"
@ -5831,14 +5823,6 @@
"state": "INAIRRUN",
"var": "isInAirRun"
},
{
"state": "strafeRightHmd",
"var": "isMovingRightHmd"
},
{
"state": "strafeLeftHmd",
"var": "isMovingLeftHmd"
},
{
"state": "seated",
"var": "isSeated"
@ -5983,7 +5967,7 @@
"transitions": [
{
"state": "idleSettle",
"var": "isNotInput"
"var": "isNotMoving"
},
{
"state": "WALKFWD",
@ -5997,14 +5981,6 @@
"state": "strafeLeftHmd",
"var": "isMovingLeftHmd"
},
{
"state": "STRAFERIGHT",
"var": "isInputRight"
},
{
"state": "STRAFELEFT",
"var": "isInputLeft"
},
{
"state": "turnRight",
"var": "isTurningRight"
@ -6047,7 +6023,7 @@
"transitions": [
{
"state": "idleSettle",
"var": "isNotInput"
"var": "isNotMoving"
},
{
"state": "WALKFWD",
@ -6061,14 +6037,6 @@
"state": "strafeRightHmd",
"var": "isMovingRightHmd"
},
{
"state": "STRAFERIGHT",
"var": "isInputRight"
},
{
"state": "STRAFELEFT",
"var": "isInputLeft"
},
{
"state": "turnRight",
"var": "isTurningRight"

View file

@ -1478,18 +1478,28 @@ void Rig::computeMotionAnimationState(float deltaTime, const glm::vec3& worldPos
} else {
if (_previousControllerParameters.inputX > 0.0f) {
// right
if (!_headEnabled) {
_animVars.set("isInputRight", true);
} else {
_animVars.set("isInputRight", false);
}
_animVars.set("isInputLeft", false);
_animVars.set("isInputForward", false);
_animVars.set("isInputBackward", false);
_animVars.set("isInputRight", true);
_animVars.set("isInputLeft", false);
_animVars.set("isNotInput", false);
_animVars.set("isNotInputSlow", false);
} else {
// left
if (!_headEnabled) {
_animVars.set("isInputLeft", true);
} else {
_animVars.set("isInputLeft", false);
}
_animVars.set("isInputForward", false);
_animVars.set("isInputBackward", false);
_animVars.set("isInputRight", false);
_animVars.set("isInputLeft", true);
_animVars.set("isNotInput", false);
_animVars.set("isNotInputSlow", false);
}