From a3de25618a9b195ac2aca6376e57fc9d22840ab6 Mon Sep 17 00:00:00 2001 From: DouglasWilcox <916219+DouglasWilcox@users.noreply.github.com> Date: Tue, 12 Nov 2019 14:15:19 -0800 Subject: [PATCH] Handle HMD in input vars and remove/fix json transitions in/out of HMD strafe states. (cherry picked from commit f9f28fc286fde81cbf6d09ebfdd52af2b3bb87d4) --- .../resources/avatar/avatar-animation.json | 36 ++----------------- libraries/animation/src/Rig.cpp | 16 +++++++-- 2 files changed, 15 insertions(+), 37 deletions(-) diff --git a/interface/resources/avatar/avatar-animation.json b/interface/resources/avatar/avatar-animation.json index cfcf1cff73..c7cb176920 100644 --- a/interface/resources/avatar/avatar-animation.json +++ b/interface/resources/avatar/avatar-animation.json @@ -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" diff --git a/libraries/animation/src/Rig.cpp b/libraries/animation/src/Rig.cpp index fc1885ea2b..85b9ecdc42 100644 --- a/libraries/animation/src/Rig.cpp +++ b/libraries/animation/src/Rig.cpp @@ -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); }