Background
Students were prompted with creating a VR application that could be enhanced or improved with physical interaction and other hardware. I proposed to create a parachuting simulator that would elevate the user above ground level to have an increased sense of immersion. The combination of the HMD and elevation prevents the user from having any sensory feedback from the real world. Without that added immersion, the user would still acknowledge the real-life ground surface while parachuting in the application. Oculus Touch controllers are also connected to three retractable VR cables each, to provided a sense of resistance and tension feedback thus, increasing the application's interaction fidelity.
MY CONTRIBUTIONS: - Developed parachuting controls - Organized Unity Project Management - Rigged main character (From Walk Cycle Below) and Parachute - Used inverse kinematics to attach character rig to Oculus Controllers in Unity - Lighting effects in all scenes - Created night mountain scene - Created Visual effects through Unity Shader Graph and Particle Systems |
Flying
Making sure that the flying mechanics work were one of the first steps in building out the application. I used 3D Vectors as the basis of these mechanics. Two vectors were created between the each controller and the center camera anchor. The magnitude of the two added vectors influence the rate of descent for the parachute, where pulling down on both controllers result in a higher descent speed. Turning the parachute is influenced by the difference of the two vectors, while the parachute moves at a static speed forward of the parachute. Rotation of the parachute on the local x axis is also effected by the rate of descent.
Inverse Kinematics & RigThanks to inverse kinematics, it is possible to control a character mesh's arms from the end point or hand in this case, making it possible to control each arm with a VR controller. In short, attaching the controller anchor to the wrist joint of the rig (Mesh and Rig made in my Walk Cycle Project) completes the process.
|
Visual Effects
Clouds and Firework effects were created with Unity's Visual Effect Shader Graph, which uses the GPU instead of processing power. Unfortunately, visual effects do not emit light or gloom in a non HDRP project, so I created a script that triggers a point light upon explosion.
EnvironmentEnvironment was created with 9 terrain tiles and a few brushes from Unity Technologies Terrain package. Center terrain has higher resolution quality of height maps than the others for performance. Trees and Details automatically covert into billboards depending on distance, acting as LOD in a way thanks to Unity.
|