Search Unity

Scaling GUI along video output

Discussion in 'Immediate Mode GUI (IMGUI)' started by Deleted User, Apr 20, 2014.

  1. Deleted User

    Deleted User

    Guest

    I'm not the sort to get help from forums, but Unity's GUI system finally broke me.

    I've been working on a NES-like RPG. It's been going okay with some things but I've developed textboxophobia trying to figure out how to get the GUI system I want. Eventually I settled to use a GUISkin once I realized it existed.

    Since it's so NES based, the game is meant to render at aspect ratio of 8:7 (NES tended to render at 256x224, excluding the skipped top and bottom of the lines from TV stuff). I'd probably have not much problem if I forced just this resolution...

    http://goput.it/4178.png

    but I'd rather give option for double sized and widescreen stretching. Course that doesn't work out too well with fixed GUI drawing...

    http://goput.it/trwc.png

    I've seen and tried code examples of grabbing screen width/height and altering the size of rectangles via GUI matrix, but this doesn't actually stretch along the GUI with the rest of the game so border sizes and fonts stay puny when doubling the resolution.

    http://goput.it/gev5.png is a mockup of all I'm trying to do. Font spacing is another thing but I could probably figure that out later when I'm not bursting a blood vessel trying to do GUI stuff in general. My original plan was to use pre-made menu sizes and just draw text above them, but it seemed like a lot of hassle to have all the different types of menu planes being instantiated and loaded up and everything. Not sure if that's really even considered a viable workaround.

    Any particular guidance or alternate methods that can help me get what I need? I asked Unity why it won't do what I want and it called me mean names and took my lunch money, so I figured I had to ask real people for help on this problem.

    Though maybe less GUI-specific, is there maybe a way I could just take the 256x224 render version and have it scale the output itself and avoid hassle of doing anything special with GUI itself?

    If any version info is needed, this is all in Unity 4.3 and using 2D features. I also use C# so resources that speak that over Unityscript might help me better.
     
    Last edited by a moderator: Apr 20, 2014