Saturday, April 14, 2012

MangaPad First Draft UI and internals datastructures.

I don't really know how much I want MangaPad to be capable of in the first release version. So there will be the usual tension between wanting to make my software to general and worry I'll make a lot work for myself later if don't make general enough. Since like most programmers I tend to make things to general I will be trying hard to keep it minimal.

I am writing this in Unity3d so there will only be a single source for both browser and iPad.I don't know what it should do or how the UI should look. So first off I will try and get some minimal UI up that works on browser and maybe iPad. I started by refactoring the data structures to be cleaner. The third panel has a fancy transformation of the panel from a sphere to flat, I will leave that in but not refactor it yet. First I will just work simple transformations of location, rotation and scale. I found a library on the Unity Asset store for $15 that makes a UI for those. It is in JavaScript, and has mouse clicks hard coded in (so probably won't work on iPad) and does not work with an orthogonal camera, but only $15. So I have have included it will use it for testing the feel of its UI. If it feels good I can recode to c# . I also changed my camera to perspective but moved it far away and reduced its field of view to 5ยบ so it looks orthogonal if I keep everything in the same plan.

I am also using Prime31's opensource UItoolkit code heavy modified for the panel transitions. I think I will use the opensource JobManger code too. I plan to use NGUI for the Composer GUI. The fancy transitions are done with Mega-Fiers which is great mesh transformation code. I hope it is not to heavy to use lots of it at runtime on an iPhone.

Getting some artifacts on the screen when I rotate or scale the panels. I wonder if shaders (main becuase that is the code I understand the least, so I always suspect it). Turns out not to be shaders but a second GUI camera I have does not have the right culling masks.

Added a FPS count (frames per second) so I can also track performance on iPhones.

version 0.0.2






No comments: