VR Project

Difficulty in lining up in game object with skybox with simple shaders

Looking around the scene with trees and animals blended in

Objects in foreground casting shadow on fake ground mix with skybox shadows

Midterm VR Project

During the process from going from a concept to a finished project, you find a lot of obstacles and new opportunities. The concept started as a fishing game where the player would spawn in a virtual mountain lake and have an intractable fishing pole to go fishing with.


This turned out to be much more difficult than I imagined. After using Unity's texture, some trees and grass to make the scene feel populated, not even realistic, the goggles struggled with performance. While laptops and PCs have very powerful chips, the small goggles are quite limited in performance and projects have to be scaled down to accommodate this restriction.

I took inspiration from a real game "Real VR Fishing" which utilized 360 skyboxes of real locations to cut down the number of objects in a scene just to those immediately around the player and the water which is animated. This keeps the performance quite good while maintaining very realistic graphics.

The difficulty I found here was creating a custom shader to make the water blend in with the scene, as well as creating a water object that would blend into the background shore as well as the shore where the perspective is from. This technique is definitely more advanced than I am at this moment so I decided to stick to my other option, hunting.

Hunting allowed me to create a scene that was less intense to make realistic. I was able to use a lot of perspective tricks to make in game objects look like they belong even though they are just floating in virtual space with a background image behind them.

Finally with a scene that I felt was immersive and met the goal of this project I could start making the environment come to life with intractable objects and animated deer

My first challenge was getting all the deer to work. While the asset was pre-made for me, I had to do a lot of work to get the texture to work in Unity as well as combine all the FBX animations that came with the deer in several files into a singular Unity object. This process involved using Blender to create a single FBX file that I could sequence in Unity.

With the animations brought in I applied random start idle animations to the deer in the scene. When the gun is shot in any direction I wrote some code to make all the deer turn to face the same direction and begin running to the left and slightly different random speeds to make it feel more natural.

I also set a condition in the animator that when "hit" is marked, a dying animation occurs and any movement stops occurring including rotations and running which was done in code.

I then went about setting up my rifles. I could not find an asset I was particularly happy with so decided to model a hunting rifle in Blender. I applied a wood texture and metal texture to the appropriate areas and ended up with a nice looking but low enough polycount object. I also later went back and modeled a scope. I could make this work and have a really nice depth affect by adding a circle inside the scope in Blender that inside Unity I apply a render texture to which is the output of a second camera attached to the rifle and with a low FOV to zoom in. I applied a cross hair over it and have a nice realtime scope.

The interactions with difficult and involved a lot of custom codes. I ended up being able to code the trigger and grab buttons on the controllers linking to an animation state tree to blend between the animations provided by Oculus. I added a attach point to the rear of the rifle to make it grabbable and point in the right direction. I then created a fire function which would play my fire sound, trigger the deer to begin running, and send out a raycast to look for hits on deer colliders. I also wanted to make the holding of the gun feel more natural so wrote a custom script to enable two hand holding which is not a default Oculus feature. Two snap points control the objects position and the rotation of the rear hand controls the rotation of the object.

This all culminates in an experience I am happy with as it is realistic and immersive, as well as fun for the user. There is a laundry list of items that could be added to this game such as more scenes, interactions, and water if I knew how to do that, but for the scope of this class and project it came out well and highlights a lot of different aspects of Unity's capabilities.


Videos of Game

Scene.mov

Looking around the scene

Two_Hands.mov

Two handed interactions in VR


Running.mov

The deer running

Shooting.mov

A demonstration of two handed shooting with the scope

Outdoors at Home

Cole Beasley

VR Project Proposal

Outdoors at Home

What is home? When people ask me what my home is like I don’t think of what my bed feels like, my car in the garage, or the color of my house; but rather the Colorado mountains and the time I spend in nature. My home is characterized by what I do outside the house. For this midterm VR project, I want to bring to life something that is close to me and that I am very familiar with, but that is unfortunately out of reach for most people: nature.

The main scene I want to make is a mountain lake. In this scene, users will spawn at a small lake and will have the ability to walk around. Contained in the scene will be first and foremost the lake, surrounded by a rocky pine tree-lined shore with little alcoves to reach the water by a dirt path. This will let the user get down to the water's edge. In the background will be large granite mountains surrounding this lake. There will also be a creek feeding the lake and flowing out from the lake. Here there will be a small footbridge or downed log the user can walk across. The scene will have lots of spatial ambient sounds to make it seem like they are outside.

The player will also have a fishing pole which they will be able to cast into the lake by using the remote. The physical movement of the cast will control the rod, and the trigger on the remote will hold the string to stop it from going out just as it does in real life. I envision either a fly rod or a standard open reel. Depending on how technically challenging it is maybe it would be possible to change out tackle or rods. Once the user casts, eventually a fish will hit and they can set the hook and reel it in with a movement of the remote. Once they land the fish they can hold it up. If time permits this game could be expanded further to either include other scenes such as other bodies of water, or other environments for activities such as shooting and other activities. This will be time permitting as I’d rather focus on making one really strong polished environment than several that are not as complete and immersive.



Here are some images from my camera roll for inspiration

Comments

Name : Theyab. Comment: I actually played a game similar to this on VR at home and it was really relaxing and at the same time having a thrill to it as when I caught my first fish I was very excited. Really simple and cool idea ! There are many sound effect that you could add also and I'm very looking forward to trying this VR project.

Name : Pauline. Comment: I love this! I also love fish. I wonder if making the whole fishing pole and reeling experience is doable though. Will you model the pole on your own? Regardless, I'm excited for the overall vibes of this scene, and to see the mountains of Colorado through your work! Everything else seems very feasible.

Meera: This is so serene, it sound very meditativ. maybe it seems this way to me because it contains lots of elements of nature or maybe it's the fishing since it requires a lot of patience. this concept already sparks emotional and mental thoughtfulness. love it.

Aakarsh: Hey Cole, this sounds really fun. This is one of my favorite bands and maybe the music video could spark some ideas for aesthetics haha.

Name: Shaikha Comment: i love how down to earth and comforting your vr experience looks! even if it ends up being challenging, having the user go fishing would be so fun and interactive. i wonder if it would be possible to create a skybox of a 360 image of the colorado landscape you're referencing as inspiration to make even more personal.

Jannah: I love this idea and how fun and chill it is, all while having a personal touch to it. You could really utilize sounds, and the asset store in this project as it could really polish everything and tie all your elements together to create a nice experience for the user.

Phillip: I love the idea of playing some interactive games in the nature settings! But obviously getting these games to work is gonna take a lot of time, and there are a lot of animation to configure in the games. But I am looking forward to playing it just to see the views!

Wendy: I have experienced a fishing game in the Oculus Quest 2, and I believe it would be helpful to play it for building your project.

Jiapei: I really like how personal this concept is for you! It really adds more warmth and emotion to the storytelling. I wonder what kinds of aesthetic you would like to choose (realistic / cartoonish)? Looking forward to tryout your game!

Oliver: I love the idea of bringing nature into the home. I wonder if you are more likely to focus on the texture of your scene in order to make it more real or on the activities we can do outside (in the nature). I think the finishing experience in Minecraft if pretty good and it seems not too complicated.