I know I’ve said this several times before, but now lighting is REALLY fixed in my engine, seriously for reals you guys. What you see in the image above is a screen choked with debugging information that I used in the process: the yellow arrows are the face normals, and the red lines point towards the light source. I also wish to note that online resources were of little help in wrangling all the issues that were interacting here, so don’t get your hopes up if you think this is the sort of problem the Internet will fix for you.
The other “new” thing in this shot is the barely recognizable untextured fighter model: it was modeled in Blender, exported with my Python script, and imported with my new model import code. I should be able to dispose of the old and busted Milkshape stuff now.
As a side note, Shamus Young’s Blender rant is old (it’s from 2006) but while the specifics have all changed, he’s still right about his description of the user interface:
I’ve learned to regard my keyboard as a device which I may use to punish myself in humorous ways. It’s like a cartoon control panel where all of the levers will drop anvils, open trap doors, or deploy humorous hammers against the hapless user. After enough smacks to the head and pies in the face I’ve learned to avoid pressing keys unless I really need to.
Nothing in Blender works the way you’d naïvely expect it to. If you see a little doodad at the corner of a viewport which looks like a resize widget, for God’s sake don’t press it — it’ll duplicate the viewport, instead. And then if you try to operate the widget again to close the new viewport, it’ll duplicate another one, and another one, Sorcerer’s Apprentice-style. Or just try undoing something. Earlier versions of Blender apparently didn’t have an undo function at all, and its users took some sort of sick, superior pride in this. Supposedly one has been added now, and supposedly it’s mapped to the system’s standard undo key, but I’ve never once seen it have any effect. Better yet, once when flailing around trying to find undo I managed to overwrite Blender’s default scene (incomprehensibly, there’s a simple hotkey for this feature) and the only way to get it back to normal also overwrites all of your preference settings, including the one that makes standard Mac mice work. I’ve gotten in the habit now of just reloading a previous save instead of trying to use the undo.
Oh yes, and as far as undo coming and going: Blender’s interface, right down to hotkeys and menu setup, seems to change dramatically every couple of releases. This of course means that the correctness of any information you may happen to find on the Web is gonna be a hopeless crapshoot. Usually, the online docs and books will refer to functionality that disappeared or moved somewhere else years ago.
So why am I using Blender, given all this UI grief? Again, it’s simply because once you struggle past the interface it is functional on a basic level — something I can’t say about any other free 3D app I’ve tried. I could model stuff, I could visualize and modify normals (though Blender’s functionality for that isn’t optimal, it’s at least capable of doing it without too much hassle), I could write an exporter pretty easily. And it never crashed once during the whole process. I realize that “has basic features and didn’t crash” is a humiliatingly low bar, but what does it say about the state of 3D applications that most don’t even clear that?