(I'm actually the guy who coined the word "Machinima", with a colleague, because we needed a better way to describe what we did than "Quake Movie".)
So I had a lot of game engine experience before I jumped in.
As for beginners getting started: Unity, Unity, Unity. Grab Unity and start learning - you can get a simple VR experience going in a fairly minimal timeframe.
The Unity editor's very powerful, and you can extend it with tools like ProBuilder and Gaia, which are all available in the Unity Asset Store.
(I heartily recommend both of those for simple geometry creation and landscape creation, respectively.)
I've been coming at it the other way - I know game engine graphics and assembly like the back of my sinister hand, but I've been on a rapid C# learning curve :)