Inspiration

When playing popular games like Scrap Mechanic and Minecraft, I felt limited navigating the first person world with only a mouse and keyboard. With my knowledge of Unreal Engine and simple physics, I decided that it would be feasible to create a virtual reality version of these games. The end product was Virtual Workshop, an 3D environment that you can touch and interact with!

What it does

Virtual Workshop puts you into a new reality where you aren't limited by pitch and yaw, one that enables you to create with ease and convenience. While not able to produce machines with overly complicated logic, Virtual Workshop enables you to create basic machines connected by bearing joints which can later be controlled using grips and triggers on motion controllers. Virtual Workshop is a tool for those who want to get introduced to robotics and are afraid to waste parts in real life. In Virtual Workshop, anything can be created and destroyed effortlessly without any worry.

How I built it

Virtual Workshop was built in Unreal Engine 4 using various assets including blueprints, materials, textures, structures, enumerations, and many more! I first outlined a product that I wanted to end up with, and had an idea of what steps I would take to do that. I first made a basic system of creating blocks. Then I coded a way to connect them. Finally, the whole jumble of components and bearings were coded to be able be controlled with the Oculus touch controllers.

Challenges I ran into

Developing in virtual reality is very difficult, as many VR developers know, and testing a project is a lengthy process. First, you have to code everything, then stand up and put on the headset, then identify errors, then finally attempt to fix those errors. This process is repeated until a working product is achieved.

Another challenge I ran into was the UI. I couldn't make it not too complicated, but versatile enough for complicated projects. In the end, I settled for a more complicated UI, but one that could be easily learned.

Accomplishments that I'm proud of

I achieved my end goal of being able to make a car that can drive forward and backward, and even turn left and right. I successfully implemented my physics knowledge and coding knowledge together to make a coherent product. I individually created an entire "engine" (though simple) for creating simple machines.

What I learned

I learned that organization is important. Spacing code far enough apart, making sure that everything executes when it should. With so many different features, it was hard for me to keep track of them, but occasional comments helped me remember where things were. Overall I learned that to work on a project in 24 hours is not something reasonable. A good project is developed over time with lots of testing and improvements, with organization and conciseness.

What's next for Virtual Workshop

I believe Virtual Workshop could be a powerful tool for beginners in robotics, however before I would like to publish and sell this product, there are a few improvements I could make. Here is a list of to dos that would make my project better if given more time.

  • Better saving and loading of machines
  • Better placement of bearings, blocks, and wheels
  • More user friendly UI with tutorial
  • Wings and aerodynamic parts
Share this project:

Updates