Importing the Fountain into Unreal Engine

Yesterday I wasn’t happy with the resolution and look of the fountain, so I exported it at a higher res and re-textured it in Maya. The file size went from 242kb to 1MB.

Higher res fountain

Higher res fountain

Today was the first day I actually launched Unreal Engine and I was able to import the fountain asset into a scene.

Unreal Engine
Unreal Engine

My first thoughts are that Unreal Engine seems way more complicated than Unity. The UI is very cluttered, and you actually have to go through the Epic Games launcher just to get to the game engine. Once in the actual editor, there seems to be a lot going on. Even a blank scene comes with a bunch of pre-built chairs, tables, etc cluttering the screen. This will take some getting used to.

Modeling the Fountain, export to Maya

For my fountain “hero piece” I began by creating a low-poly model in Maya, then brought it into Zbrush for more organic sculpting. Here is the sculpted “red clay” version.

Fountain modeled in Zbrush
Fountain modeled in Zbrush

Zbrush allows you to create Polygroups from Normals. This basically lets you group areas of you model according to which direction the topology is facing and organize these facing “normals” by color. This can be helpful for exporting or isolation sections.

Polygroups from Normals
Polygroups from Normals

After watching several hours of tutorials on Pluralsight.com on prepping Zbrush files as game assets, I was able to create polypainted version. I enjoyed the process of painting directly on the model in 3D, rather than painting on flat UVs in Photoshop then wrapping them around a model.

I exported the polypaint texture maps from Zbrush, then exported the low-poly version of the fountain model into Maya, where I used the Hypershader to apply the high-res texture map to the low-poly model.

Polypainted fountain
Polypainted fountain

Polypainted fountain in Maya

Polypainted fountain in Maya

I think this could still use a lot of work. I wasn’t entirely successful getting Bumpmaps to be as dramatic as I wanted. It’s possible I could export a few more types of maps (ambient occlusion, etc) and tweak them in Photoshop, then reapply them in Maya via the Hypershader. But for now I was happy that I had gone through the entire process of scuplting, polypainting, then exporting back into Maya. This asset could them be sent over to a game engine like Unreal or Unity for inclusion in a larger scene.

Unity or Unreal Engine?

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.

Pros:

  • 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

Cons:

  • Have to code interactions in C# or UnityScript, which is based on Javascript
  • If you don’t want to learn code, you have to buy a plug-in
  • Graphics rendering isn’t awesome

Next steps

  • 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!

Low-poly game assets

I created some low-poly game assets in Maya to import into Unity to prototype the game and experiment with game mechanics. These represent the element of Water, plus a 3D version of the Sacral Chakra symbol.

Low-poly assets
Low-poly assets

After the initial game build, I felt they needed more color, so I used the Hypershader in Maya to give them some color for the final prototype. I also created some background texturing for the floor of the game.

Assets in Unity
Assets in Unity

I used the Roll a Ball tutorial for Unity as a template to create the game prototype. I was really glad this tutorial allowed me to copy/paste the code provided as I followed along in Unity, because I have very little programming experience.

Here is the link to the final game prototype!