VR Devlog Blog
A downloadable project
29/09/22
Today I started doing some research for my project, my Initial design is to create a small house like structure to allow me to show off the 5 main challenges of the project. Those being:
- A Climbable ladder
- An openable door
- A Functionable Drone
- A texture changer for furniture
- An Interactive button/lever
I believe that these 5 challenges fit naturally into a housing design as I can simply use them for different things which I will explain later into development. I haven’t encountered many weaknesses towards this proposal, and I believe that this houses many strengths such as a natural design, it doesn’t feel like any of the challenges propose an obscurity to creating a house design.
I will start with the Climbable ladder first as I think it will be a nice start to the project and work the house around that. Using the video I found on YouTube[1], I think that using something similar might work effectively, as surprisingly I couldn’t find much on how to make such a project which posed challenging, and also the fact that most of these videos are meant for the older VR template.
6/10/22
This time I thought it might be worthwhile to look at other people's designs in UE4 to get a better grasp on how things might work. I looked up some projects and found VRGK [2], a Virtual Reality Game Kit which I found to be fascinating. As I went throughout the kit I found most of the challenges for my project and learnt how they would behave in the environment, such as pulling on levers or opening doors, the creator even figured out a way for not only ladders to be implemented, but using physics objects to climb as well! Sadly I wasn't able to look too far into the game kit as if I wanted access to the UE4 code I would need $149.99.
13/10/22
I started to work on the ladder system using the tutorial I previously found and had a number of issues with it, firstly the system version as previously mentioned. Though it was an easy fix to simply go back to a previous version it was a problem nonetheless. Whilst working through the nodes and figuring out how each of them work and their functions, I struggled in actually getting the system to work, so I think I'll ask for support on the workshop to see if I can get the first challenge finalised. If I can get it to work I'll be very pleased as I believe it to feel very powerful to the user due to the fact that you're doing all the natural motions in climbing with your hands, unlike some ladders in other games etc. Half-Life Alyx's teleport climb.
20/10/22
After some support with the tutors and from the workshop, we thought that changing back the Software version might help solve some problems, by changing Unreal Engine from 4.2.7 back to 4.2.6, and re-implementing the code for the ladder to work , I have finally been able to complete the ability to grab the climbing blocks and pull the user upwards to grab another climbing block. There is an issue with letting go of the most recent block, however I believe that this is a success in the first challenge.
27/10/22
During this week, I started my next challenge: Create a moving door. During the creation of the climbing mechanic, I was also testing whether a primitive door might work, however I wasn't able in succeeding in making the grab function work. Changing the Software version to 4.2.6 I attempted making the door again. By creating 2 cubes, one being the door and the other the door's hinge, and adding a physics constraint attaching the cubes then restraining them along the Z-Axis to 90 degrees, finally I would adjust the constraint so it was centered vertically and moved where the door and the door hinge touched. When playing the software all the user needs to do is grab the door and push it to swing it back, just like a real door. The physics constraint allows the door to swing realistically, so you could push the door hard and the constraint would react accordingly. After completing this challenge I moved onto the next.
3/11/22
The next challenge I started to work on I originally thought would be rather simple: Create an interactive button/lever. First I thought of the button, I attempted something similar to the door by using two cubes, one the button and the other the button holder. by attempting the physics constraint onto the two and restraining it to the Y-axis I thought it might allow you to grab and push the button down but it was unsuccessful. I started doing some research the rest of my time and found this video [3] by Sir_Fansi Gamedev.
10/11/22
By using the video I found I started referencing that for my button. I made two cubes (one button the other the button holder) and a hitbox where if the user touched it, it would move down the button cube by the Y-axis, then pause for a second, then rise back to it's original position allowing for a button's press to be simulated. To create a higher sense of interactivity during the button's pause time I added a cheer sound effect to let the user know that the button was pressed successfully.
17/11/22
Moving onto the lever I started my research, and thankfully by referencing the video from Sir_Fansi Gamedev [4] I began creating the lever. I used the Lever stick and a cube to create the look of a lever, and added a cube on the handle of the lever stick which the user would grab to move around the lever back and forth. To make sure that the user would be able to move the lever again after letting go of the handle it would go back to the lever stick's position. To make the lever feel more interactive I wanted to make an object move upwards whilst the lever reached a certain point. Using my knowledge of the hitbox from the button previously, I made the hitbox allow the object to move upwards along the Y-Axis and stop after a few seconds. I feel that these challenges were rather deceiving in their difficulty as I had to take apart everything I knew from real life and implement that in a way to make it feel realistic in VR.
24/11/22
During this session I did some research on the next challenge I wanted to achieve: A texture changer for furniture. This lead me to many dead ends as I wanted the function to simply switch between textures, however many of the guides I looked at would go through a overly complicated method of changing colours and creating a variable which would change the texture, whereas I already had some textures that I wanted and simply needed to swap between them, just I didn't know what nodes I needed to achieve the task.
1/12/22
I asked for some support during the workshop and figured out that I didn't need to use the overly complicated method after all. by choosing some textures and adding them to an array I could randomly select them and change the mesh's textures at the press of the button, which could be repeated infinitely. I found this challenge to be simplistic but still rather challenging as if I had not already implemented the button in the first place, I wouldn't have an activatior for the texture changer to take place.
8/12/22
I started researching the final challenge for the project: Create a functional Drone. Initially all I found were guides for creating drones that move on their own randomly or ones that weren't controlled through actions of the user, none of them were of any use so I decided to work it out by myself. I started experimenting by using the designs for my levers
15/12/22
From the experiments I used from the lever challenge I created a functional drone. I used 3 levers in order to simulate all three axis. Luckily when I completed the lever challenge I used the same code but with minor tweaks to move the drone in each axis by simply changing what axis the drone would move if hit by the event. I found this challenge to be really decieving as I thought it would be very hard to complete as the lack of guides directed me to think critically on what I could do to finish the challenge, which I am now thankful for as I feel that I have a stronger grasp on Unreal Engine on a whole.
[2] https://divivor.itch.io/vrgk
[3]
[4]
Status | Prototype |
Category | Other |
Author | Chris Broad |