Handle HMD in input vars and remove/fix json transitions in/out of HMD strafe states.

This commit is contained in:
DouglasWilcox 2019-11-12 14:15:19 -08:00
parent 75ba65c2c9
commit f9f28fc286
2 changed files with 15 additions and 37 deletions

View file

@ -5994,14 +5994,6 @@
"state": "INAIRRUN",
"var": "isInAirRun"
},
{
"state": "strafeRightHmd",
"var": "isMovingRightHmd"
},
{
"state": "strafeLeftHmd",
"var": "isMovingLeftHmd"
},
{
"state": "seated",
"var": "isSeated"
@ -6062,14 +6054,6 @@
"state": "INAIRRUN",
"var": "isInAirRun"
},
{
"state": "strafeRightHmd",
"var": "isMovingRightHmd"
},
{
"state": "strafeLeftHmd",
"var": "isMovingLeftHmd"
},
{
"state": "seated",
"var": "isSeated"
@ -6214,7 +6198,7 @@
"transitions": [
{
"state": "idleSettle",
"var": "isNotInput"
"var": "isNotMoving"
},
{
"state": "WALKFWD",
@ -6228,14 +6212,6 @@
"state": "strafeLeftHmd",
"var": "isMovingLeftHmd"
},
{
"state": "STRAFERIGHT",
"var": "isInputRight"
},
{
"state": "STRAFELEFT",
"var": "isInputLeft"
},
{
"state": "turnRight",
"var": "isTurningRight"
@ -6278,7 +6254,7 @@
"transitions": [
{
"state": "idleSettle",
"var": "isNotInput"
"var": "isNotMoving"
},
{
"state": "WALKFWD",
@ -6292,14 +6268,6 @@
"state": "strafeRightHmd",
"var": "isMovingRightHmd"
},
{
"state": "STRAFERIGHT",
"var": "isInputRight"
},
{
"state": "STRAFELEFT",
"var": "isInputLeft"
},
{
"state": "turnRight",
"var": "isTurningRight"

View file

@ -1510,19 +1510,29 @@ void Rig::computeMotionAnimationState(float deltaTime, const glm::vec3& worldPos
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);
_animVars.set("isNotInputNoMomentum", 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);
_animVars.set("isNotInputNoMomentum", false);