Thursday, December 20, 2012

UDK: Aligning MobileInputZones with your ScaleForm UI

I spent some time getting my UI ready for iOS, using the Layout tools ScaleForm provides. This let me get my UI elements to work on all screen sizes and aspect ratios without having to do complicated functions and other hacks. If you're doing a mobile UI in ScaleForm, I highly recommend it.
Here's some reference:
Scaleform Docs on Layout
Scaleform Layout in Unity (I know, the video is for Unity, but the same code applies)

So, everything was working great... until I got back to UDK (Shocker!)

What I needed was a MobileInputZone to stay the right size and snapped to the upper-right hand corner. After tweaking pretty much every setting, I figured out two things:

Tuesday, December 18, 2012

Stupid Kismet Tricks : Forcing a Camera Fade While a Matinee with a Fade Track is Playing

I just ran into an issue where I wanted to do the following:

  1. When the app opens, play the Opening Matinee sequence
  2. When the user clicks, fade to white
  3. Fade from white into another Matinee
The problem I was having is that the Fade SeqAct won't override the Matinee Director Track's Fade keyframes. I'm assuming this is because they are updated on every tick and override the Camera's fade variables.

What I've done is set up two Matinee's: A FadeIn and a FadeOut. Each one only contains a Director track with a Fade track and the two keyframes to set the fade on and off.
Fading Matinee
And, in Kismet, I simply play the fade Matinee and when it's complete, it turns off the Opening Matinee and Plays the second matinee (Which also has a Fade track!).
(There's a Fade SeqAct there. It's ONLY turning the fade color to pure white, FANCY!)

Saturday, December 1, 2012

NHI Safe Bridges App

In addition to the apps in the previous post, I got to design a new one. This time I had a stack of data to visualize with TONS of variations. Almost all the data was delivered as text files or spreadsheets or velocity maps in .txt form.

I wrote translations scripts to bring it into MAX then out to the UDK. That was a real challenge as all of the datasets were needlessly complicated and interconnected. (One text file contained the vector of the water's flow and the Z position of each sample as an offset from the terrain, defined in another .txt file that loosely defined a triangulated grid...)

However, i'm most proud of the UI. It was done in Flash/Scaleform using the CLIK components extensively. They've been subclassed to add a tiny bit of additional functionality but nothing remarkable. It's really fast and user-friendly and presents the data in an easy-to -use manner. Also, the CLIK components allowed me to mock it up really fast and get signoff fromt he client upfront before adding all the fancy-schmancityness that you see in the video :D

NHI Apps Videos

We got to redo a bunch of our training apps for the National Highway Institute. They use them in coursework for their hydrology courses for bridge safety engineers. The applications demonstrate various inssues that are often difficult to explain without visual aid.

These apps cosistently rank as the highest rated features of each course they are featured in. As the sole designer, artist and programmer for these applications.

The UDK made doing each of these MUCH easier due to the more powerful toolset. in fact, it was really hard in some cases to not completely redo everything to take proper advantage of the UDK.

For example, the terrains are 25,000 polys+ each and have multiple morph targets. Transforming them is hugely expensive thanks to all the pretty rendering tricks available :D

However, due to the tiny budget available, I was only really able to redo the rip-rap stones as a simple plane with fancy mapping applied to mimic the geometry rocks used previously.