Unity VR Development: Scope, Tools and Limits

thefutureofsexyA World Without Limits

Congratulations!  You are one of the adventurous few, daring enough to explore the infinite reaches of VR: a bold new experiential platform that some have called ‘The Final Medium.’  No other art form I have seen requires as many disparate and varied skills to pull off, but it is my hope that through this series that I can elucidate some of the more powerful tools and techniques I have found that allow you to realize (a place others into) your vision as fast as possible.  Before we get virtual, however, let’s take a moment to go over our unfortunate IRL (meat space) limitations.

Scope (A World With Some Limits)

The tools and pipeline of content creation will vary greatly on what kind of project you are making, but one of the consistent challenges is reflected in the inescapable triangle of compromise:

thatdamntriangle

Just as a note, the triangle is relative: if you are a skilled artist working for yourself you can do great work quickly at low cost, however you won’t be as fast as TWO or THREE skilled artists working on the same project.

Anything you make costs something, but not all costs are worth taking.  A project can cost your good health, finances, opportunity for growth/expansion, personal relationships or your confidence in the very fabric of reality.   Limiting the scope of your project early on can hopefully prevent you from sacrificing anything of value down the line.  Making something is almost ALWAYS better than making nothing unless you are endangering something important in your life.

The Tools (Each Software Has Its Limits)

Most VR experiences are developed using1044718_10101281695494028_346839149685239778_n1 game engines such as Unreal or Unity.  Coming from a VFX background, I was shocked to learn that these programs are essentially free to use, often only requiring a small licensing fee if you make over $100,000 in annual revenue from use of the program (sounds like it won’t be a problem for me).  Personally, I use Unity for 3D animated experiences, and will speak to that pipeline throughout this series.

There are a ton of Unity tutorials out there, but I like Brackeys because he sounds nice: https://youtu.be/IlKaB1etrik

As impressive as these engines are, you often have to make art assets in an external app.  I love using Cinema 4D for creating 3D models, but really you can use almost anything that exports a mesh to an obj or fbx (Unity can import a staggering amount of file types).  If you aren’t comfortable with 3D asset creation or simply don’t have the time, there’s a ton of great places to find models like the Unity Asset store, Turbosquid and tf3dm.com.  Costs, aesthetics and usage right might vary per model, but depending on where you sit with the triangle of compromise, these cheap/free assets can be your fastest way to a product or protoype.  Hell, you could steal crayons from Denny’s, draw assets on toilet paper, scan them in at the library and have 2D cut-outs placed in 3D space for characters if you wanted to.  This is VR.  There are no limits (#ThereAreActuallyLimits #StupidTriangleOfComprimise).

htc-vive-room-scale-1459874611-aNSF-full-width-inline[1].jpg

To me, VR is about interacting with a digitally generated space, so I decided that I want to focus on roomscale experiences with head and hand tracking.  Rather than learn a traditional scripting language, I opted to pick up Playmaker from the Unity Asset store which is an incredibly powerful visual scripting tool based on functional state machines.  Some ‘pros’ swear against using visual coding add-ons, but I find the solution fits my typical fast/good triangle considerations and $65 dollars is a steal for such a robust and fun system.  Who would have thought that making games feels a lot like playing a really satisfying puzzle game?  In future articles I will elaborate on how you can use Playmaker, but if you are eager to learn about the system in a game design context I highly recommend Mdot’s incredible tutorial series: “The Strange School.”  Just don’t parent the VR playspace to the character motor script (or go for it, #nolimitsVR2017).

I actually wouldn’t have learned 3D modeling if it wasn’t for M dot Strange, and I definitely wouldn’t have got into Unity without him!  He’s a great guy who really seeks to empower the artist in everyone (on top of being an engaging/hilarious teacher).

I develop for the HTC Vive, so I use the SteamVR package on the Unity Asset store combined with Frame Tale Studios SteamVR Playmaker Toolkit, which allows you to easily map controller inputs to your state machines.  This will allow you to shoot cats out of your hands when you press the trigger.  It might have other uses, but for now that’s all I can think of (#TheOnlyLimitIsImaginationAndRentMoney). Another amazing tool is the community project headed by TheStoneFox, VRTK, which is a collection of scripts and interaction systems made by developers for developers.  VR is challenging enough: why try to reinvent the wheel when you can focus attention on to making that deep-sea dating simulator you’ve always dreamed of making?

Anglerfish-deep-sea-fish[1].jpg

Sorry, no relevant links for this one, I just think deep-sea fish look funny.  Also, you can call your game ‘Another Fish in the Sea.’  Title’s on me.

The World Is Yours (Within Limits)

Obviously, there are as many tools as there are workflows and aims, but with a VR Headset and $100 USD you can get started developing VR RIGHT NOW (even cheaper if you learn C# code)!  The experience of walking through the halls of your own digital creation is exhilarating, cathartic and mind blowing.  Subjecting other people to the horrors of your digital Garfield and Saved by the Bell Crossover Museum: priceless.  Follow along with this blog as we delve more into my ever-evolving workflow, and specific tools that help you git’er done.  Just remember to design responsibly, because…

TheNewGod.jpg

Well… you know what could happen.

 

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s