Hey Folks! I managed to get lights working today, as well as a few more basic part-placement features and ship loading/saving, and some project housekeeping.
Each item can have one or more lights added to it, for things like general room illumination, and (hopefully) more lively ship parts like consoles, reactors, and other powered-items. A lot of the reason I bothered with this Unity experiment was because I pictured some really moody ship interiors where the player could immerse themselves in atmosphere.
Looks like my hunch last night was right: it was the normal mesh and not collision mesh that casts shadows. It took some finagling, but I was able to sort out the appropriate position and scale info to make shadow meshes from a list of points specified in the data.
MacBook Pro is officially booting into OSX El Capitain, Windows 10, and Ubuntu 14.04!
As of last evening's news, I was installing the non "+mac" iso for Ubuntu for [reasons], and holding my breath. Installation completed without too much trouble, and then a reboot. Most importantly, OSX still worked. Ubuntu installation still worked. But Windows 10 was not happy. It complained of "Recovery...0xc000000e...need restore disk to continue" and could not boot.
Hey Folks! Hope everyone had a good weekend. Ours was a bit stressful as we realized that we needed to have a complete list of all my and Rochelle's entries to the US for some paperwork. Not just month and year, but also dates.
As someone who's been living in Canada since 2004 with family to visit in the US, well...let's just say it's a long list! And one we're still working on.
Hey Folks! With some trepidation, I delved into Unity's GUI system today. And after a day of tutorials and experimenting, I have to say, I'm pretty impressed!
Originally, I approached GUI like I always did: hack something together quick and dirty. I started thinking about how Unity handles scene hierarchy, scrolling, clicking, whether I want buttons or just raycast clicks...and it dawned on me: I should really see how Unity prefers to do this stuff first.
Today, I wanted to solve some of the problems I was seeing in yesterday's render. Namely, the incorrect depth-sorting of sprites (such as the floor and struts), and rotations. For this to happen, though, I needed to be more sophisticated in how I load data.
I decided to put hardware aside today, and do some more prototyping in Unity. And I'm happy to report I managed some serious progress!
First, I fixed a niggling issue in the LitJSON library that seemed to force all floats to doubles (which is annoying for any sort of Vector2/Vector3/graphics code).
Then, I set about making some code to read the JSON and create prefabs for each ship part, set the material properties, then rotate, position, and scale them accordingly. It's still not quite there, but it's getting close:
Unfortunately, didn't get much dev time today. I spent a large chunk of the day partitioning and installing OSes on my MacBook. And by the time this afternoon rolled around, I had a mostly broken MacBook :(
Fortunately, restoring the original hard drive wasn't too hard. I just had to reboot into recovery mode, repair the main partition, delete the others, and resize the main partition to use the whole disk again. Back to normal!
Hey Folks! Hope everyone had a good weekend. Ours was a bit stressful as we take in the mounting complexity of our upcoming move. It's going to involve a lot of traveling around to get government stuff setup, plus finding an apartment, new car (importation issues), etc. It could be a low-progress couple of months ahead...
Back in the dev world, there is fortunately better news. I figured out how to get Unity to load non-binarized data at runtime. Better yet, I managed to get it to load my JSON from the HaxeFlixel project!
So I may have encountered my first mark against Unity: data access.
I started my search today by looking up how Unity could load and parse JSON files. I was a bit disappointed to learn that Unity doesn't have this out of the box. Nor does it have XML parsing. There were quite a lot of third-party solutions, though, so not bad yet.
It wasn't until later that I learned why: Unity assumes you're baking all of your data into assets at compile-time. That's a problem.
Had an interesting semi-breakthrough today in my Unity testing.
I grabbed a bunch of the ShipEdit sprite assets and moved them over to the Unity project, and decided to try and recreate the ship editor scene. Namely, could I get my sprites to look good with lighting and shadows? Well...
Okay, so I've given myself a full day of exploring Unity and...not bad, actually. I took most of the morning to finish knocking-out a Pacman tutorial using Unity's 2D mode, and it was pretty straightforward. There's a lot of functionality packed into Unity, and (importantly) it works out of the box.
Probably my biggest complaint so far was the way everything in the scene had to be manually added via UI widgets in the editor. Extremely tedious for things like adding physics bounds for the Pacman maze, pellets, nodes for the lights, etc.
I spent most of the day still trying to get framebuffer objects working. The goal was to try and get the ship scene to render in full color, and another copy with the normal maps, and then use a shader to combine the two with lighting data to produce highlights and shadows.
Unfortunately, I'm still hitting walls no matter what I do.