The game also includes audios for:
Bugs flying
Successful wipe
Unsuccessful wipe (missed)
The 3D Artist will revamp all the models in the game post finalization.
Github Link: https://github.com/SyncVR/syncvr-fitxr/tree/Intern-MarcelloCardillo ( a new link will be given in the FHICT Git)
More information about the class structure can be found here - under the realization heading.
Given the nature of VR, leg exercises propose a new challenge where buttons on the controllers cannot be used and the controllers must be attached to some part of the leg. For this exercise some assumptions were taken:
Controller straps for the legs will be taken care of by the hospital
The patients will assume the correct position while bed ridden for the exercise.
Below you can find the script of how the controllers work:
public class WiperController : MonoBehaviour
{
private Transform controller;
[SerializeField]
private bool isRightHand = true;
void Start()
{
if (isRightHand)
{
controller = GameObject.FindGameObjectWithTag("RightHand").transform;
Mathf.Clamp(gameObject.transform.rotation.z, 0f, -90f);
}
else
{
controller = GameObject.FindGameObjectWithTag("LeftHand").transform;
Mathf.Clamp(gameObject.transform.rotation.z, 0f, 90f);
}
}
void Update()
{
Vector3 rotation = new Vector3(0,0,0);
if (isRightHand)
{
rotation = new Vector3(gameObject.transform.eulerAngles.x, gameObject.transform.eulerAngles.y, ClampAngle(controller.eulerAngles.z, -90, 0));
}
else if (!isRightHand)
{
rotation = new Vector3(gameObject.transform.eulerAngles.x, gameObject.transform.eulerAngles.y, ClampAngle(controller.eulerAngles.z - 90, 0, 90));
}
gameObject.transform.eulerAngles = rotation;
}
protected float ClampAngle(float angle, float min, float max)
{
angle = NormalizeAngle(angle);
if (angle > 180)
{
angle -= 360;
}
else if (angle < -180)
{
angle += 360;
}
min = NormalizeAngle(min);
if (min > 180)
{
min -= 360;
}
else if (min < -180)
{
min += 360;
}
max = NormalizeAngle(max);
if (max > 180)
{
max -= 360;
}
else if (max < -180)
{
max += 360;
}
// Aim is, convert angles to -180 until 180.
return Mathf.Clamp(angle, min, max);
}
/** If angles over 360 or under 360 degree, then normalize them.*/
protected float NormalizeAngle(float angle)
{
while (angle > 360)
angle -= 360;
while (angle < 0)
angle += 360;
return angle;
}
}
Kyle FruitPicking
Kyle HearthDrumming
Kyle Rings
Kyle WindowWiper
Kyle SaberSlash
Kyle Beachball Squats
Kyle Witchcraft
Kyle Goalkeeping
Kyle Sorting
Kyle Fireflies
Kyle Boxing
Kyle Tennis