public void mapDataStructureToAction(int index) { horizontal = joystick[index].JOYSTICK_HORIZONTAL * sensitivity; vertical = joystick[index].JOYSTICK_VERTICAL * sensitivity; actionVector3 = EasyWiFiUtilities.getControllerVector3(horizontal, vertical, joystickHorizontal, joystickVertical); switch (action) { case EasyWiFiConstants.ACTION_TYPE.Position: transform.position += actionVector3; break; case EasyWiFiConstants.ACTION_TYPE.Rotation: transform.Rotate(actionVector3, Space.World); break; case EasyWiFiConstants.ACTION_TYPE.LocalPosition: transform.Translate(actionVector3); break; case EasyWiFiConstants.ACTION_TYPE.LocalRotation: transform.Rotate(actionVector3); break; case EasyWiFiConstants.ACTION_TYPE.LocalScale: transform.localScale += actionVector3; break; default: Debug.Log("Invalid Action"); break; } }
public void mapDataStructureToAction(int index) { sliderValue = slider[index].SLIDER_VALUE * sensitivity; actionVector3 = EasyWiFiUtilities.getControllerVector3(sliderValue, 0f, sliderEffect, EasyWiFiConstants.AXIS.None); switch (action) { case EasyWiFiConstants.ACTION_TYPE.Position: transform.position += actionVector3; break; case EasyWiFiConstants.ACTION_TYPE.Rotation: transform.Rotate(actionVector3, Space.World); break; case EasyWiFiConstants.ACTION_TYPE.LocalPosition: transform.Translate(actionVector3); break; case EasyWiFiConstants.ACTION_TYPE.LocalRotation: transform.Rotate(actionVector3); break; case EasyWiFiConstants.ACTION_TYPE.LocalScale: transform.localScale += actionVector3; break; default: Debug.Log("Invalid Action"); break; } }
public void mapDataStructureToAction(int index) { lastFrameNumTouches = numTouches; lastFrameZoomFactor = zoomFactor; lastFrameHorizontal = horizontal; lastFrameVertical = vertical; numTouches = touchpad[index].TOUCH_COUNT; zoomFactor = touchpad[index].ZOOM_FACTOR * zoomSensitivity; horizontal = touchpad[index].TOUCH1_POSITION_HORIZONTAL; vertical = touchpad[index].TOUCH1_POSITION_VERTICAL; //only if we were touching both last frame and this if (numTouches > 0 && lastFrameNumTouches > 0) { if (numTouches == 1) { //panning if (secondTouchType == EasyWiFiConstants.SECOND_TOUCH_TYPE.Tilt) { //panning in the camera context should be local position moves (x and y axis) actionVector3 = EasyWiFiUtilities.getControllerVector3((horizontal - lastFrameHorizontal) * panSensitivity, (vertical - lastFrameVertical) * panSensitivity, EasyWiFiConstants.AXIS.XAxis, EasyWiFiConstants.AXIS.YAxis); transform.Translate(actionVector3); } //tilting else { //tilting in the camera context should be local rotation moves (y and x axis) actionVector3 = EasyWiFiUtilities.getControllerVector3((horizontal - lastFrameHorizontal) * tiltSensitivity, (vertical - lastFrameVertical) * tiltSensitivity, EasyWiFiConstants.AXIS.YAxis, EasyWiFiConstants.AXIS.XAxis); transform.Rotate(actionVector3); } } else if (numTouches == 2) { //zooming in the camera actionVector3 = new Vector3(0f, 0f, zoomFactor - lastFrameZoomFactor); transform.Translate(actionVector3); } else if (numTouches == 3) { //panning if (secondTouchType == EasyWiFiConstants.SECOND_TOUCH_TYPE.Pan) { //panning in the camera context should be local position moves (x and y axis) actionVector3 = EasyWiFiUtilities.getControllerVector3((horizontal - lastFrameHorizontal) * panSensitivity, (vertical - lastFrameVertical) * panSensitivity, EasyWiFiConstants.AXIS.XAxis, EasyWiFiConstants.AXIS.YAxis); transform.Translate(actionVector3); } //tilting else { //tilting in the camera context should be local rotation moves (y and x axis) actionVector3 = EasyWiFiUtilities.getControllerVector3((horizontal - lastFrameHorizontal) * tiltSensitivity, (vertical - lastFrameVertical) * tiltSensitivity, EasyWiFiConstants.AXIS.YAxis, EasyWiFiConstants.AXIS.XAxis); transform.Rotate(actionVector3); } } } }
public void mapDataStructureToAction(int index) { //reset values horizontal = 0f; vertical = 0f; //left/right if (dPad[index].DPAD_LEFT_PRESSED) { horizontal = -1f; } if (dPad[index].DPAD_RIGHT_PRESSED) { horizontal = 1f; } //up/down if (dPad[index].DPAD_DOWN_PRESSED) { vertical = -1f; } if (dPad[index].DPAD_UP_PRESSED) { vertical = 1f; } horizontal *= sensitivity; vertical *= sensitivity; actionVector3 = EasyWiFiUtilities.getControllerVector3(horizontal, vertical, dPadHorizontal, dPadVertical); switch (action) { case EasyWiFiConstants.ACTION_TYPE.Position: transform.position += actionVector3; break; case EasyWiFiConstants.ACTION_TYPE.Rotation: transform.Rotate(actionVector3, Space.World); break; case EasyWiFiConstants.ACTION_TYPE.LocalPosition: transform.Translate(actionVector3); break; case EasyWiFiConstants.ACTION_TYPE.LocalRotation: transform.Rotate(actionVector3); break; case EasyWiFiConstants.ACTION_TYPE.LocalScale: transform.localScale += actionVector3; break; default: Debug.Log("Invalid Action"); break; } }
public void mapDataStructureToAction(int index) { //data accel.x = accelerometer[index].ACCELERATION_X; accel.y = accelerometer[index].ACCELERATION_Y; accel.z = accelerometer[index].ACCELERATION_Z; //accelerometers due to gravity can really only sense 2 axis (can't filter out gravity) //here we convert those 2 axis into horizontal and vertical and normalize horizontal = EasyWiFiUtilities.relativeAngleInAxis(Vector3.up, -accel, Vector3.forward) / normalizeDegrees; vertical = EasyWiFiUtilities.relativeAngleInAxis(Vector3.up, -accel, Vector3.right) / normalizeDegrees; horizontal *= -sensitivity; vertical *= sensitivity; actionVector3 = EasyWiFiUtilities.getControllerVector3(horizontal, vertical, tiltHorizontal, tiltVertical); switch (action) { case EasyWiFiConstants.ACTION_TYPE.Position: transform.position += actionVector3; break; case EasyWiFiConstants.ACTION_TYPE.Rotation: transform.Rotate(actionVector3, Space.World); break; case EasyWiFiConstants.ACTION_TYPE.LocalPosition: transform.Translate(actionVector3); break; case EasyWiFiConstants.ACTION_TYPE.LocalRotation: transform.Rotate(actionVector3); break; case EasyWiFiConstants.ACTION_TYPE.LocalScale: transform.localScale += actionVector3; break; default: Debug.Log("Invalid Action"); break; } }
public void mapDataStructureToAction(int index) { lastFrameHorizontal = horizontal; lastFrameVertical = vertical; lastFrameIsTouching = isTouching; horizontal = touchpad[index].POSITION_HORIZONTAL * sensitivity; vertical = touchpad[index].POSITION_VERTICAL * sensitivity; isTouching = touchpad[index].IS_TOUCHING; //only if we were touching both last frame and this if (isTouching && lastFrameIsTouching) { actionVector3 = EasyWiFiUtilities.getControllerVector3(horizontal - lastFrameHorizontal, vertical - lastFrameVertical, touchpadHorizontal, touchpadVertical); switch (action) { case EasyWiFiConstants.ACTION_TYPE.Position: transform.position += actionVector3; break; case EasyWiFiConstants.ACTION_TYPE.Rotation: transform.Rotate(actionVector3, Space.World); break; case EasyWiFiConstants.ACTION_TYPE.LocalPosition: transform.Translate(actionVector3); break; case EasyWiFiConstants.ACTION_TYPE.LocalRotation: transform.Rotate(actionVector3); break; case EasyWiFiConstants.ACTION_TYPE.LocalScale: transform.localScale += actionVector3; break; default: Debug.Log("Invalid Action"); break; } } }