Although now it seems obvious, it took me a while to have this "Aha!" moment, so maybe it's worth sharing.
At first look with Unity I thought there's not much there to build a cool title screen or front end main menu - the GUI interface and its skins give me just enough to get stuff done but the sort of fancy tweens I might set up in Flash seem out of reach.
For example, with We're No Angels, I wanted to be able to slide from one screen to the next. Using the GUI stuff to place bitmaps on the screen and position them would have been tedious.
My "Aha" moment: "Wait a minute, Unity is a whole engine for moving around not only images but meshes and whatever!"
Unity has an Animation System which has been deprecated - I sometimes feel like I'm one of the only people who ever use it, most seem to prefer to animate things directly in script - but you can do it that way too. By simply laying out a bunch of textures and animating the camera with the animation system, I was able to do this:
Those are just Plane objects with textures applied to them.
So, problems with that: that Animation system has been deprecated, apparently they're going to replace it with some sort of new hotness, but you could also animate the camera in script if you don't want to take the time to learn their fiddly Animation system.
Also, textures default to a maximum resolution that's probably smaller than your screen. When importing the textures for big screens, make sure you set the Max Size for your platform on the texture to something big enough. (Our screens were blurry at first and didn't know why.)
So, making an equipment screen for Energy Hook was easy:
That's a 3D scene with a texture mapped Cube object in the background, our jetpack mesh, and a spotlight (it's supposed to be casting a shadow on the background ... I'll figure out why that didn't work another day) - and the text uses the GUI stuff.
Anyhow, my key takeaway or mental shift: a Unity scene doesn't have to be a game level, it can be an arbitrarily elaborate front end - like a somewhat klunky but very 3D Flash. How obvious should that have been?
I found the iTween library to be pretty useful when used with GUI groups. It was originally made to tween game objects' properties, so I imagine it would fit right in with what you are doing. The library gives you all the various easing curves you can use in flash.
Posted by: Brian | March 01, 2013 at 03:22 PM
IIRC iTween wasn't as wysiwyg as the animation editor, but I could totally see using it since the animation editor is fiddly and deprecated...
Posted by: Happionlabs | March 01, 2013 at 03:43 PM
Remember to set textures that you want to stay crisp to not be mipped, could have also been a cause of your blurriness. That's now under the advanced texture mode for some reason.
Posted by: Dislekcia | March 02, 2013 at 05:34 AM
I can reccommend getting NGUI from the Asset Store. It helps you a lot when you want to Draw complicated GUI stuff with few draw calls. Pretty easy to use and extend.
Posted by: Thomas Gravgaard | March 04, 2013 at 12:02 AM
Yeah... iTween is definitely all code, but it's really easy to expose values to the editor. I also found it useful to be able to catch OnAnimationComplete events.
Posted by: Brian | March 07, 2013 at 03:42 PM
I'm really only a beginner when it comes to Unity, but it's still pretty weird that I haven't used the animation editor yet.
On the note about iTween; there's a free extension called iTween Editor exposes pretty much everything to the inspector for you.
I also dig NGUI. Took me less than an hour to grasp, and works wonderfully. Love it compared to the standard unity GUI scripting.
Posted by: Charlie Helman | March 25, 2013 at 10:50 AM