After reading through some of the documentation and watching some suggested video tutorials that that didn’t quite answer all my questions, I did find one very helpful tutorial by Matt Taylor on making your game VR ready.
I did pretty well following along, except when I got to this point, my VR controller static mesh doesn’t actually show the controller like his does.
I followed the rest of the instruction except for changing the game mode. The reason I didn’t change this yet, is I’d like to test packaging the game for desktop play first, since I don’t have currently have a Vive to test on.
One of the main reasons I chose to do this particular level of the Chakra Garden was that I’ve been continuously working on a model of a Koi fish. Each time I have modeled it I have learned new techniques, and it goes quicker each time. I believe doing several iterations of the same thing can be beneficial to developing my skills as a 3D artist. Below is a model I did at the beginning of the semester. Not the jaggedness of the fins – this was caused by an improper understanding of how to use the Move tool while trying to achieve a feathered look.
Below is the model I completed yesterday. The entire model and Polypaint took apprx 6 hours, whereas my previous model took over 10 hours.
I’m still not entirely happy with the shape of the fins, nor the polypaint, but because of the approaching deadline, it was time to move on. I brought the model into Maya. This time it was much easier to export the UV texture maps and low-poly OBJ, which is something I have struggled with in the past. Again, it was good to do iterations to increase retention of learned skills.
I was able to quickly put the fish model in a circular motion path in Maya, and it animated smoothly. I exported it as an FBX then imported into Unreal.
Unfortunately the animation doesn’t work in Unreal, he just kind of floats there in the sky. This is a problem that can probably be solved with a few tweaks, but again, I need to let it go in order to wrap up other things to meet the deadline. So for now, he looks like a balloon!
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.
This was looking decent in Maya, so I used Maya’s “Send to Unreal” feature, thinking I was in the home stretch, but this was the result.
I tried simply exporting it as an FBX for Unreal, but it didn’t send the textures over (see column on the left).
One of the issues I identified was that my computer kept crashing when I tried to do thing like export UVs, so I went back to a longer set of notes I took in class, and found the helpful “work on clone” option. This worked like a charm. I was able to export Texture Maps and a Normal map. Rather than using the GoZ feature, I exported as OBJ and opened it it Maya. I then created a new Lambert material and applied the Texture and Normal (bump) maps from the files I had exported. Looking pretty good!
I used Maya’s “Send to Unreal” button, but it once again had disastrous results. Something is not wrapping the UVs correctly with this method.
This time in Maya I exported the column manually as an OBJ. Although it was laying on it’s side when I imported it into Unreal, the textures were correct and I simply had to rotate it into position.
This seems to have done the trick! From now on I will export/import things manually as OBJs rather than trust the built-in exporter buttons in the software.
I’ve hit a few stumbling blocks in Unreal. I agree with some people who have said that Unreal makes everything 10 times harder than it needs to be, the but results are worth it. (I hope!)
I used the garden elevation illustration I created earlier in Illustrator, and brought it into Maya (Create/Illustrator object) to make the twirl pathway. I used the landscaping and smooth tools to sculpt the terrain to suit it better.
I applied a cobblestone material, but I wasn’t happy with the scale of it. I followed this tutorial, but couldn’t find a way to scale the texture. Not sure what I am missing here.
Here is a screenshot of the Material Editor.
I thought perhaps the material seemed too large because I had scaled up the path object by 300 when I imported it. I went back and scaled up the object in Maya and re-imported it, but that had no effect.
For now, I decided to go forward with a different texture. I may smooth out the terrain a bit, but I kind of liked how the path looked a bit eroded here.
For this part, my goal was to further sculpt the terrain in Unreal Engine into a garden landscape. I created a basic elevation (top-down view) in Adobe Illustrator to serve as a guide, create a simple Plane in Unreal, and applied the texture to the plane. I wanted to control the transparency of it, but Unreal seems to make this ridiculously difficult, so I worked around that by moving it up off my terrain and turning it on and off a bit.
I dropped in some cylinders FPO (For Position Only) to get a feel for where I want my sculpted columns to be located in the future.
I began trying to sculpt the pathways. Whoa! Brush intensity too high. Not what I was going for.
This is more like it. Next steps will be to create a stone pathway along the raised areas and fill in more landscaping.
Another asset I created for the second “sacral” chakra garden is the Tiger Lily. I had initially created this as a low-poly object in Maya for use in the Sacral Chakra game I created in Unity.
I imported the low-poly model into Zbrush using the GoZ plugin, which is quite handy (when it works properly).
One area of difficulty I seem to encounter regularly is the crease that forms when you add a sphere to create additional sculpting material (in this case I was trying to plug the hole in the bottom of the low-poly model of the flower.) I found that using the H-Polish brush works well for smoothing out creases.
Once I smoothed and shaped the model, I used Zbrush’s Spotlight tool to add color and texture, borrowing from a photograph of a tiger lily I found online. From there I added a stem and leaves, which I also polypainted.
I plan to duplicate several of these for use in the Chakra Garden I’m creating in Unreal Engine.
I began the seashell model as a low-poly asset created in Maya for the Chakra game I created in Unity. To create this shape, I used Maya’s Helix tool and gave it volume with an extrusion. I used Lattice Deformation to help shape the form, and even after deleting history and freezing deformations, I was unable to use the GoZ feature to import it into ZBrush. Instead, I exported it as an OBJ to simplify the geometry and make it ready to import.
Here is the shape imported into Zbrush.
One of the issues I had was that I could not make the shell hollow. If I deleted the end cap, it caused the shell to have no volume when imported into Zbrush. I decided the leave the endcap, but do a negative extrusion to push it back into the shell a bit. Once imported into Zbrush, I used the Move tool to massage the shape and push it back further, but was unhappy with the flatness of the shape. I wondered if it were possible to Divide just that one area to give it more polys. Using a Mask, I found that you can indeed Divide to add polys to just a specific area. This gave me more geometry to work with.
I began shaping the outer edges of the seashell to look more organic. I also stretched out the shell to be longer.
After getting a shape I was more pleased with, I began using the Dam Standard brush with a variety of Alphas to add detail.
At this point I was ready to use Polypaint to add color.
Finally, I used a darker polypaint color along with Zadd to give it some depth to create the ridges.
Overall I would say I was fairly happy with this sculpt. Going forward, if I had to do another one, I would have taken the advise of my professor to do more preliminary sketches from reference, because I’m not sure the bottom of it looks entirely realistic. Creating sketches would have helped firmly fix the initial shape in my mind. For now I plan to use this to push forward into the rest of the project. Perhaps another time I can spend an entire day creating seashells. 🙂