Wednesday, December 14, 2011

Stuck in Blender Past

Work on Sedition has picked up a little. I multitask projects like crazy, it keeps me from getting burned out on any one project, though progress on any given project feels glacial at times.

Anyways, I use the awesome Blender for my 3D models in Sedition, and export them as Quake "MD2" files. I'm a programmer by trade, not so much a digital artist. I selected the MD2 format because, it's simple, compact, has a well documented schema, and supports key framed vertex animation. Also, because Blender 2.49 supported exporting to the format. As I write Blender, is up to 2.60. (Actually 2.61 came out today). The 2.5x release was  major overhaul of Blender, most if not all Python scripts written against older versions will not work.

There is no Blender 2.50+ supported MD2 exporter, I've thought at times about writing one; I did make heavy modifications to the older exporter, to fix a lot of bugs it had with index organization in animated meshes. I would have released it, but I also broke/removed some features that I don't use in Sedition, such as "GL Commands". The latest Blender is beautiful and slick.

I have an asset for Sedition that for some reason displays incorrectly in Blender 2.49, though it exports correctly.

Asset for upcoming Sedition feature "HyperBombs"
The material renders all wrong in Blender 2.49, only the
center sphere is supposed to be red.
I opened the asset in Blender 2.60 and it was perfect.

The same file opened in Blender 2.60. 

Working with my exporter was probably one of my least favorite part of working on Sedition. I'd really love to work in Blender 2.60 and I'd really love to be able to "pay it forward" by making a new reporter, but I fear I would loose my sanity in the attempt. If there were an easy way to debug Blender Python scripts besides copious print statements, I think we'd have seen more exporters already. 


1 comment:

  1. It's been quite a while since my last post, I meant to follow up on this. It was a forehead-slapping moment on the material rendering issues in Blender 2.49. I had the material properties set to map from the global coordinate space, not the UV channel! The md2 exporter doesn't care about that material setting, so that's why it exported correct but rendered incorrectly in Blender.


I welcome you're thoughts. Keep it classy, think of the children.