Learning Unreal Blueprints for VR II

 

The second project for Udacity’s Unreal program was called “Hide in Seek”. Building upon the foundations taught in “Kitchen CleanUp”, the game required more complex blueprint coding. The premise was to initiate the game, hide an object around the apartment, and have the user utilize locomotion to move from point A to point B to “destroy” the object. Each destroyed object would gain the player a point. I decided I would create a can and a trash bin (both designed in 3dsMax) for the game so the user would effectively be “recycling cans” to gain points. Again, my job was to:

  1.  Create a player pawn with a controller that had the ability to interact with the can (using blueprint interfaces)
  2.  Spawn a can at a different location every time the user found and recycled the previous can (randomly spawned at target points, as used previously in KCU)
  3.  Create a recycling bin that would read if a plate was in it and destroy it (and once destroyed, a new can would need to be spawned)
  4. Develop a timer and score system that the player could see, a method to start and end the game (event dispatchers) and a start menu (interface widgets)
  5. Lastly, but most importantly, create a locomotion method that would move the user around the apartment. Here is the method I used- a line trace to draw a cylinder to identify a location where the player could move:

LineTrace.PNG

Here’s a preview (another grainy GIF rather than video):

KCU.gif

Main menu created in Photoshop + Illustrator:

HideAndSeek-01.png

Can UV texture created in Photoshop + Illustrator:

Can_texture.jpg

Low-poly can:

LowPolyCan.PNG

Low-poly recycling bin (a basic blue texture was later added in Unreal):

LowPolyBin.PNG

Advertisements

Learning Unreal Blueprints for VR

I enrolled in Udacity’s Learn Unreal VR Program to gain a better understanding of Unreal Engine and to learn blueprint coding. I have used my VR headset for gaming and 3D modeling purposes, but never to develop any sort of interface or user interaction. As these are growing interests of mine, this course was a perfect fit to gain new skill sets in these areas.

The course’s primary focus was not to teach you how to model or bring assets into Unreal, but rather on how to create an experience for the user. For example, I learned how to set up a player pawn and user controls, set up blueprints for assets to make them interactive to the user, and how to begin creating interfaces for timers, scores, etc.

The first project was a to create a game called “Kitchen Cleanup”. The game involved the user picking up randomly spawned plates and cleaning them in the sink. My job was to:

  1.  Create a player pawn with a controller that had the ability to interact with plates (using blueprint interfaces)
  2.  Spawn plates every few seconds that could be interacted with (randomly spawned at target points)
  3.  Create a sink that would read if a plate was in it (AKA overlapping it’s collision box) and “clean it” (destroy the actor after a 2 second delay)
  4. Develop a timer and score system that the player could see, a method to start and end the game (event dispatchers) and a start menu (interface widgets)

The course ultimately gave me the skills I needed to develop the game. Here’s a preview (sorry, WordPress only accepts my grainy GIF rather than video):

KCU.gif

Other than the actual mechanics of the game, I threw together the main menu logo in Illustrator:KitchenCleanUp.png

I also added a particle emitter to depict “bubbles” near the sink (a texture created in photoshop). Overall, the game was a blast to make. I will make a second post regarding the second project once it’s been reviewed by Udacity.

 

Printing a Mount for the Oculus Rift

To start with:

IMG_1562.JPG

Secondly, this is what happens when you leave a print running and go to work:

IMG_1563.jpg

So maybe that doesn’t happen all the time, but I sure did waste a lot of wood filament. I was in the process of printing a wall mount for my Rift and touch controllers. I originally downloaded both models from Thingiverse, but I made some modifications to the mount for the HMD (scaled it along the X axis, added a curved surface since I’m constantly scared of UV light screwing up my lens):

Capture.PNG

During the middle of the second try (this time with ABS), the extruder clogged. Lucky for me, I’ve dealt with that issue before (see my post about extruder clogs…) and was able to quickly disassemble the extruder, declog it, and reassemble. Hey, it only took a few hours rather than a few days! For my third try, I decided to just go with Prusa’s standard PLA:

IMG_1576.jpg

And the final products, mounted to the wall in all their glory:

img_1678.jpg

Yay for useful prints!

UX/UI Design through a DesignLab Course

I decided to take a UX/UI design course because it’s a topic I’ve always been interested in. As an architect, it is my job to determine how a person uses and interacts with a space (in my case, a physical building or place). However, I am very interested in virtual interaction, particularly in VR, and was hoping to gain knowledge from this design course. First, I’m just going to give my overall thoughts of the course I took, “UX: Interaction Design” with DesignLab, and then I’ll jump into what we learned and what I felt I gained from it all.

To be upfront: the class itself was a bit pricey, and I felt it didn’t give me everything I was looking for. The course seemed to be geared towards someone with little or no background in design, and of course since my background is design, it felt lackluster. The topics were broad and lectures seemed to only scrape the surface of true UX/UI.  My tutor was really nice, but I felt like we just went over topics discussed in the online lectures and nothing more. At the end of the course, I realized what I needed was not information regarding what UX/UI is (because as a designer, I should already have a grasp of interface design and how clients interact with my work). Rather, I needed the tools to begin building these UX/UI interfaces. On a positive note, I did gain some of these skill sets.

The overall project was designing a website for an online grocery store. Firstly, I learned how to analyze and compare competitor’s work, as seen below:

UsabilityCompetitiveAnalysis.png

After analyzing the competitor, it was time to start working with site maps and user flows. Sketching out how one’s site would work and how people would move through it was not as easy as I thought, and I had to go through a few more competitor sites and draw a few flow iterations before I could come up with this:

UserFlows.png

After creating a user flow diagram, I set up wireframes to display my imagined site pages:

WireFrames.png

And lastly, I tied together the flows and wireframes to create a site map with my wireframes:

SiteMap_WireFrames.png

Overall, I did have a lot of fun creating my “website/app” and it was definitely a good design exercise. I feel somewhat more knowledgeable about what does and doesn’t work for a good interface. However, my next goal is to actually jump into the actual physical creation of these interfaces (….maybe I should just learn to become a developer…)

Maya 2014 Tutorial

I had such a blast doing these tutorials by John Aurtur Mercader:

It’s been a few years since I actually completed his tutorials, but I was reminded due to my reignited interest in Autodesk modeling software, including Maya and now 3dsMax. I ended up with a model I was pretty happy with:

M2.jpg

M1.jpg

M3.jpg

M5.jpg

Right now I’m currently enrolled in a Udemy course for 3dsMax, so we’ll see where that takes me!

Experimenting with Wood Filament

I’ve always wanted test wood filament on my personal 3D printer; I had a chance in college to use it on the machines in fab shop and loved how it looked and felt. Most wood filaments are primarily PLA with some wood mixed in and the filament I decided to purchase was no exception. I went with Hatchbox, which is 80% PLA and 20% wood. Honestly, I would have guessed the wood percentage to be higher because the spool appeared/smelled like wood!

I was a bit nervous to load it in to my printer due to my printer’s history with clogs, so I researched the optimal settings online. Most people said to go with standard PLA settings, although some tried increasing both the nozzle and bed temperature slightly with decent results. Instead of 210 nozzle and 55 bed (standard PLA preheat settings on the Prusa), I bumped it up to 220 and 60. I cleared out the last bit of my clear ABS and loaded my wood filament- it took a bit longer to extrude and I had a minor heart attack during those first few minutes. But alas, it came through the nozzle in a clear and steady stream.

My first few trials fell short- I do recommend bumping the bed temperature up, potentially using a glue stick, and lowering the nozzle as I had initial difficulties with the filament refusing to stick. But once I got my settings jussstt right, I had absolutely beautiful results. Check out this gorgeous vase I printed (model here):

IMG_1128.jpg

IMG_1131.jpg

After my first successful print, I decided I wanted to try post processing. I had watched youtube videos of people sanding and staining their models and was curious how well it worked. I purchased Minwax Polyshades Stain and Polyurethane in Antique Walnut and some high grit sandpaper and went to town:

IMG_1134.jpg

I was disappointed with how the vase turned out and do not have a final picture- the stain clumped and was not fully absorbed by the print. However, I had much better luck with a small frog I printed. Here it is pre-sand and stain:

IMG_1135.jpg

And here it is sanded and one layer of stain:

IMG_1138.jpg

The final product:

IMG_1141.jpg

Overall, it turned out very well! I felt like the most important part of the process was sanding the model down, as it seemed to help the stain absorb into the filament. I plan on continuing to test and will keep you all updated with new progress!