transitioning to unity with tim stutts
DESCRIPTION
Presented at FITC Toronto 2014 on April 27-29 at the Hilton Toronto More info at www.fitc.ca There are many great tutorials on getting started with Unity, but few that approach it from the perspective of transitioning from a creative coding platform like Processing, openFrameworks and Cinder. For those making the transition, it’s often less a question of learning the typical Unity workflow of importing 3D models and applying game logic and physics to them, and more about gaining lower level access to procedural geometry, meshes and individual vertices, etc. With a little persistence it is possible to learn how to take advantage of Unity’s powerful visual environment coupled with C# development in MonoDevelop, and add new dimensions to the creative coding process. Tim Stutts Designer & Prototyper, timstutts.com Tim Stutts is a designer/ prototyper who strives to innovate in the space between content and code. His initial approach often involves hand-sketching and wireframing, before transitioning to creative coding platforms to push concepts further as prototype applications and experiences. Specific interests include next-generation user interfaces, creative technology, programmable design assets, data visualization, and audio-visual media. These efforts culminated in the creation of PushPopDesign, a consultancy that he founded in 2009, where clients included firms such as Motion Theory, IconMobile and Bestiario, companies IBM, Google, Microsoft, Honda and Oblong, and artists Electroland, Rachel Mayeri and Robert Hodgin. Prior to establishing this hybrid practice, he spent three years working as a sound designer for interactive media and another two years as an interaction designer for software applications. Tim currently works as a concept designer for IBM’s Watson Lab in Austin, Texas. He has a Bachelor of Fine Arts in Music Technology from California Institute of the Arts (2003) and a Masters degree in Interactive Telecommunications (ITP) from New York University (2008).TRANSCRIPT
![Page 1: Transitioning to Unity with Tim Stutts](https://reader036.vdocuments.us/reader036/viewer/2022062312/5549deb9b4c9050d488b460b/html5/thumbnails/1.jpg)
The Affordances and Challenges of Transitioning to Unity from a Creative
Coding Framework, such as OpenFrameworks, and Dealing with
Procedural Geometry, Aesthetics, etc.www.timstutts.com
![Page 2: Transitioning to Unity with Tim Stutts](https://reader036.vdocuments.us/reader036/viewer/2022062312/5549deb9b4c9050d488b460b/html5/thumbnails/2.jpg)
This Talk…
• Is not an introduction to game development. Instead we’ll focus on other applications of Unity, as of some specifics that aren’t necessarily to games.
• Does not go deeply into Unity from a computer science stand-point. Some lower level things for sure, but more to the end of design.
![Page 3: Transitioning to Unity with Tim Stutts](https://reader036.vdocuments.us/reader036/viewer/2022062312/5549deb9b4c9050d488b460b/html5/thumbnails/3.jpg)
Okay, a tiny bit on gaming
I worked archiving Cory Arcangel’s “Super Mario Clouds” at Eyebeam Gallery NYC in 2007 ;)
![Page 4: Transitioning to Unity with Tim Stutts](https://reader036.vdocuments.us/reader036/viewer/2022062312/5549deb9b4c9050d488b460b/html5/thumbnails/4.jpg)
My Creative Coding Work Prior to Unity
![Page 5: Transitioning to Unity with Tim Stutts](https://reader036.vdocuments.us/reader036/viewer/2022062312/5549deb9b4c9050d488b460b/html5/thumbnails/5.jpg)
I Love…
• Anything digital that’s created non-destructively. (Code, Max/MSP, MIDI) I Want to be able to tweak, plus move back in time during creation.
• Permutation and leaving the computer to generate different options for me to curate. Never enjoyed painting in the analog. Get impatient with Photoshop (strangely in love with Fireworks though. R.I.P.)
![Page 6: Transitioning to Unity with Tim Stutts](https://reader036.vdocuments.us/reader036/viewer/2022062312/5549deb9b4c9050d488b460b/html5/thumbnails/6.jpg)
My Tools• openFrameworks (C++, OpenGL)
• Cinder (C++, OpenGL)
• Processing (Java, OpenGL)
• Three.js (JavaScript, WebGL)
![Page 7: Transitioning to Unity with Tim Stutts](https://reader036.vdocuments.us/reader036/viewer/2022062312/5549deb9b4c9050d488b460b/html5/thumbnails/7.jpg)
My Work in openFrameworks
![Page 8: Transitioning to Unity with Tim Stutts](https://reader036.vdocuments.us/reader036/viewer/2022062312/5549deb9b4c9050d488b460b/html5/thumbnails/8.jpg)
![Page 9: Transitioning to Unity with Tim Stutts](https://reader036.vdocuments.us/reader036/viewer/2022062312/5549deb9b4c9050d488b460b/html5/thumbnails/9.jpg)
Unity over oF (or similar)*
• Closed source, pay to use, well maintained
• Easily exports to the many platforms
• C#, JavaScript or Boo work interchangeably
• Visual programming environment (not just code)
• Built-in physics, lighting, game objects, etc.
* = insert creative coding platform of choice from here on out
![Page 10: Transitioning to Unity with Tim Stutts](https://reader036.vdocuments.us/reader036/viewer/2022062312/5549deb9b4c9050d488b460b/html5/thumbnails/10.jpg)
oF over Unity
• Free, open source!
• Low level graphics programming in OpenGL
• Less assuming. Maybe you don’t want to make a game. (have something that creates 60 seconds to render or millions of points inefficiently, but aesthetically pleasingly, programmed?—it doesn’t care!)
• Built-in physics, lighting, game objects, etc.
![Page 11: Transitioning to Unity with Tim Stutts](https://reader036.vdocuments.us/reader036/viewer/2022062312/5549deb9b4c9050d488b460b/html5/thumbnails/11.jpg)
Aesthetic differences oF vs Unity
![Page 12: Transitioning to Unity with Tim Stutts](https://reader036.vdocuments.us/reader036/viewer/2022062312/5549deb9b4c9050d488b460b/html5/thumbnails/12.jpg)
openFrameworks
![Page 13: Transitioning to Unity with Tim Stutts](https://reader036.vdocuments.us/reader036/viewer/2022062312/5549deb9b4c9050d488b460b/html5/thumbnails/13.jpg)
• Developed largely by contemporary artists but for a variety of end uses
• Predominantly procedural and generative geometry
• Community interest in data visualization for its computational beauty and its ability to make statement
• Plays at least somewhat well with most hardware and micro-controllers thanks to vast Add-ons
openFrameworks
![Page 14: Transitioning to Unity with Tim Stutts](https://reader036.vdocuments.us/reader036/viewer/2022062312/5549deb9b4c9050d488b460b/html5/thumbnails/14.jpg)
Unity3D
![Page 15: Transitioning to Unity with Tim Stutts](https://reader036.vdocuments.us/reader036/viewer/2022062312/5549deb9b4c9050d488b460b/html5/thumbnails/15.jpg)
• Game is the assumed final output w/ all the popular genres present.
• 3D Geometry is largely imported from Maya or similar.
• 2D graphics are usually made in Photoshop or Similar.
• Physics, lighting, etc are easier to execute.
• Some Unity projects that don’t fit the typical mold
Unity3D
![Page 16: Transitioning to Unity with Tim Stutts](https://reader036.vdocuments.us/reader036/viewer/2022062312/5549deb9b4c9050d488b460b/html5/thumbnails/16.jpg)
Procedural Unity Programmers
![Page 18: Transitioning to Unity with Tim Stutts](https://reader036.vdocuments.us/reader036/viewer/2022062312/5549deb9b4c9050d488b460b/html5/thumbnails/18.jpg)
Infinite Sightseeing
![Page 19: Transitioning to Unity with Tim Stutts](https://reader036.vdocuments.us/reader036/viewer/2022062312/5549deb9b4c9050d488b460b/html5/thumbnails/19.jpg)
cubicsphere
![Page 20: Transitioning to Unity with Tim Stutts](https://reader036.vdocuments.us/reader036/viewer/2022062312/5549deb9b4c9050d488b460b/html5/thumbnails/20.jpg)
Permutation Racer
![Page 22: Transitioning to Unity with Tim Stutts](https://reader036.vdocuments.us/reader036/viewer/2022062312/5549deb9b4c9050d488b460b/html5/thumbnails/22.jpg)
![Page 23: Transitioning to Unity with Tim Stutts](https://reader036.vdocuments.us/reader036/viewer/2022062312/5549deb9b4c9050d488b460b/html5/thumbnails/23.jpg)
![Page 24: Transitioning to Unity with Tim Stutts](https://reader036.vdocuments.us/reader036/viewer/2022062312/5549deb9b4c9050d488b460b/html5/thumbnails/24.jpg)
![Page 25: Transitioning to Unity with Tim Stutts](https://reader036.vdocuments.us/reader036/viewer/2022062312/5549deb9b4c9050d488b460b/html5/thumbnails/25.jpg)
IBM Watson Labs
![Page 26: Transitioning to Unity with Tim Stutts](https://reader036.vdocuments.us/reader036/viewer/2022062312/5549deb9b4c9050d488b460b/html5/thumbnails/26.jpg)
We are hiring! https://jobs3.netmedia1.com/cp/find.ibm.jobs/US/Watson_3D_Game_Developer/SWG-0650632/job/
![Page 27: Transitioning to Unity with Tim Stutts](https://reader036.vdocuments.us/reader036/viewer/2022062312/5549deb9b4c9050d488b460b/html5/thumbnails/27.jpg)
Resources
![Page 28: Transitioning to Unity with Tim Stutts](https://reader036.vdocuments.us/reader036/viewer/2022062312/5549deb9b4c9050d488b460b/html5/thumbnails/28.jpg)
![Page 29: Transitioning to Unity with Tim Stutts](https://reader036.vdocuments.us/reader036/viewer/2022062312/5549deb9b4c9050d488b460b/html5/thumbnails/29.jpg)
http://blog.nobel-joergensen.com/2010/12/25/procedural-generated-mesh-in-unity/
Procedural Mesh Generation in Unity
![Page 30: Transitioning to Unity with Tim Stutts](https://reader036.vdocuments.us/reader036/viewer/2022062312/5549deb9b4c9050d488b460b/html5/thumbnails/30.jpg)
http://wiki.unity3d.com/index.php?title=TubeRenderer
TubeRender plus other helpful procedural geometry code
![Page 31: Transitioning to Unity with Tim Stutts](https://reader036.vdocuments.us/reader036/viewer/2022062312/5549deb9b4c9050d488b460b/html5/thumbnails/31.jpg)
great book to start out with learning C#: http://www.chapters.indigo.ca/books/product/9781849696586-item.html?s_campaign=goo-PLATest&gclid=CI3_x6jdg74CFdBcMgod2kYAuw
![Page 32: Transitioning to Unity with Tim Stutts](https://reader036.vdocuments.us/reader036/viewer/2022062312/5549deb9b4c9050d488b460b/html5/thumbnails/32.jpg)
Three Ways to Draw a Line (made by unknown. project included.)
![Page 33: Transitioning to Unity with Tim Stutts](https://reader036.vdocuments.us/reader036/viewer/2022062312/5549deb9b4c9050d488b460b/html5/thumbnails/33.jpg)
Procedural Pie Wedge (made by Tim Stutts. Project included.)