Most of week 2 was spent in frustration, reading several documentation pages on software/hardware installation and trying to sort out how to set up my computer to publish to Samsung Gear VR. In total I spent 8 hours reading, installing, uninstalling, and reaching the limitations of my laptop computer that is my primary design & modeling computer.
Unreal Engine’s documentation is inaccurate and out of date. I feel that many hours of frustration could be resolved if their documentation was updated and better written. Unreal needs to hire some UX people with some real empathy for new developers.
To publish to Android, you must install Android Codeworks, which only works with Microsoft Visual Studio 2015 (not 2017, which is what Windows 10 and most updated computers have.) Microsoft does have a link to download older 2015 Visual Studio if you dig for it. Visual Studio requires 8 GBs hard drive space, and on my computer it said it must be installed on C: drive. My laptop is limited to 100 GBs C: drive – even with most programs installed on D, I do not have room. I am working on a solution to install VS Studio, Unreal and Codeworks on another computer and port files back and forth to publish.
Codeworks is NOT in the folder Unreal’s documentation says it is. You must go down one more folder to find it.
Because I could not get Codeworks to install, I also tried installing Android SDK, Java DK, etc. per this video on using Unreal with Samsung Gear VR which says you do not need Codeworks if you install those components separately, but still received an error that said the SDK was not properly installed.
The bright spot – by watching the above mentioned video, I successfully put my phone into Developer Mode, plugged it into my computer via USB and ran the Command Prompt to navigate to the correct folder to get the Device ID which gets copied/pasted into the Oculus Developer Tools. This is how you get the Oculus Signature File that goes into a folder in Unreal Engine which helps you publish to your phone.
Another bright spot – I had some mental breakthroughs about how the interactions could work in my VR garden and began sketching in earnest and modeling.
Last week it took some effort to successfully export texture maps from Zbrush back into Maya, wrap the textures around the low-poly models, then import them into Unreal. I finally got a handle on that process, and was able to import several assets into Unreal.
Another issue that cropped up was scale. I was unaware of the conversion of “units” in Unreal into anything meaningful, but this tutorial on how to set up a grid system in Maya was helpful. Basically, you need to be working in Centimeters in Maya, and scale your objects to the proper size in Maya before importing them into Unreal, since Unreal doesn’t really have a useful system of measurement.
The easiest way to do this was to download a free low-poly model of a human figure, scale that to the average height for a female body (165 cm), then import that into Unreal. I was then able to use it as a guide for the other objects like fountain and columns.
I rescaled the entire terrain as well, and worked on smoothing out some hills. I wanted the edges to slope upward and have some trees and bushes to distract from the cut-off. This needs more work.
I imported some more assets from Zbrush and Maya into my scene, arranging them upon the columns.
I also created a simple cylinder in Unreal and inserted it into the fountain, then filled it with the Ocean Water shader/texture.
Next steps are to finalize importing assets, refining the terrain, setting up the controllers for VR (HTC Vive) then exporting it as a playable game.
Now that I’m starting to get a handle on the asset pipeline from Zbrush to Maya to Unreal, I’ve begun bringing in a some of the assets I’ve built and arranging them.
When I play-tested it, the scale seemed off. I found some documentation that says a basic Player is apprx 180 Units high. Unfortunately in Unreal, objects are simply measured in terms of relative scale. There isn’t an easy way to measure how many units tall something is – it is simply a 1x1x1 scale. (This seems like something begging to be fixed?!) You can go into the editor and see the actual size of the units there, but no easy way to scale them to an exact size.
Knowing that a standard cube is 100 units high, it stands to reason that two cubes stacked would be 200 units, or slightly higher than the average player character.
By using two stacked cubes as a frame of reference, it seems obvious to me that I need to scale everything down in size or else my player will feel dwarfed.
Next steps are to import the rest of my objects and get them scaled appropriately, get some water in the fountain, landscape the terrain a bit more, and figure out the steps to package the level for export so others can play.
I hope to also be able to build the controllers to take it into VR.
One thing I realized while working on my prototype is that Unity does not provide any kind of visual code editing helper to people like me who are unfamiliar with programming. This is a hurdle for people like me who focus on 3D and animation, want to make games but haven’t had lots of time to learn coding. There is a plug-in for Unity called Playmaker that costs $65 and has decent reviews.
It was brought to my attention that Unreal Engine has Blueprints, which is a visual code editor that works sort of like a flow-chart. I had already started in Unity, because I heard it was the most popular platform. When discussing with professor Zeb I asked if I should work in Unity or Unreal and he said “Let’s do both!”
So here goes… I installed Unreal Engine after getting particularly excited about some of the recent tech demos they released showing how innovative they have become. So now I’m starting all over in Unreal Engine, so I can make a comparison.
Here are my thoughts on Unity so far.
Same user-controls for moving around the viewport, scaling, rotating etc. as Maya, so very familiar
Intuitive interface, easy to find things
Easy to drag/drop assets
Good selection of beginner tutorials
Exports to WebGL for HTML5, so easy to post games online
If you don’t want to learn code, you have to buy a plug-in
Graphics rendering isn’t awesome
Watching lots of Unreal Engine tutorials
Building the game prototype in Unreal
Improving all game assets by importing them/recreating them in Zbrush
Trying to understand the workflow of taking hi-poly assets from Zbrush, dumbing them down for game engine and then making them look nice again. This is the part where I am completely confused!
The next part might be the trickiest thing I’ve attempted yet in Maya. What was I thinking? LOL
Getting all the mandalas to float in and spiral up the helix in their “dance.”
This isn’t too bad, except now that I have the mandala attached to the helix, I want to edit the timing. It should start around frame 90, not 150. I cannot figure out how to change the start/stop time of the motion path.
I decided rather than one big spiral, I would do one for each of the seven lily pads. Here is the final animatic for this scene.
To create a head for the body, I created a sphere that had 18 subdivisions along the axis, so it would match up with the axis of the body/neck. I rotate the sphere so the edges lined up and used Weld Edge to weld them together.
Then it was a matter of shaping the head, especially the face. My goal was to create a smooth, less detailed figure.
The next step will be rigging the body so that it can be bent and posed. This figure will eventually be used in Scene 1 of the storyboard in my earlier post.