Getting Started in Unreal Editor
While Unreal Editor has been around for a long time, I am a relative new comer to using it. Before I undertook this project, I trailed a few different real-time engines for creating VR content, such as Unity & Sim Lab, but the thing which stood out and attracted me to UE4 is the use of blue prints for creating complex code, with very little prior coding knowledge.
Not coming from a coding background myself, the idea of using blocks of 'blue print' code was very appealing to me, and one of the fundamental goals of this project is to gain a greater understanding of UE4 and to develop my skills in this area.
UE4 comes with a VR Template, which acts as a testing zone with some basic fundamental VR functionality built in. This being, the ability to pick up and handle objects and the ability to transport around (teleport from location to location). So my next step was to start building up from here.
So my first step was to get my trolley model imported and to think about how I could go about building it with UE4 blueprints.
Tutorials about adding VR functionality in Unreal is a relatively new field, and most of this information is related to creating game content as well, so learning the best approach to achieve my assembly goal is not always obvious or necessarily easy to learn. I looked at some YouTube videos https://youtu.be/kahjV2SjFWE relating to attaching objects in VR, as I thought this would be the way to go, unfortunately this led me down a bit of a blind alley, as with my limited UE knowledge of found this method meant that I could always detach the objects once they had been attached, which I didn't want.
So I have taken an approach (which in the end is remarkably similar to how I visualise building objects in a 3D Max animation), I have used a work flow of having a Master model, which in this case is the completed trolley assembly, and when the individual components of the trolley are located in their correct assembly positions, they unhide the corresponding part of the Master model, whilst immediately hiding the attached component. So a kind of VR slight of hand. No doubt with experience I will discover that there are simpler and more sophisticated methods to achieving this, but it seems to achieve the illusion of building a structure which is what I want.
You can see an example of the Master model of the trolley below. The outlines of the red cubes show the collision locations on the model. So for instance, when the black corner leg piece overlaps the red cube (at the top of the rectangular shelf support), the logic I described above happens; the edge bracket I'm holding in my hands disappears, and the edge bracket on the trolley Master model appears in place.
Below is an example of the blueprint logic for the edge bracket. It tells the trolley Master model that once the edge bracket (which is currently in our hand) overlaps with the red collision box, it should unhide the component (which is the edge bracket on the Master model) and then hide/destroy the edge bracket which is currently being held.
If that sounds like a load of gobbledygook, then let me just say that trying to program it is just as bad! But it seems to work. So this is logic I am going to employ throughout the assembly. I'll update as the assembly continues.