As some of you know, I’ve had trouble finding the aesthetic that I want—particularly for the miniatures. I tried a number of approaches, but I never achieved the dynamic poses and “chunky” look of old school miniatures. A few weeks ago, my brother sent me a care package with some of our old gaming gear. In the dice pouch of the package were a few Ral Partha miniatures from 1979. These were definitely the look I’m going for.
I picked two of minis (a dwarf with a torch and an ogre with a large club). I took a ton of reference photos and built a rough representation in 3DSMax .
That mesh was then imported into Sculptris for detailing. Sculptris was a lucky find. While Z-brush is the “industry standard” for sculpting, the UI was apparently designed by a blind man describing it to a deaf person. I’ve never been able to overcome the dreadful interface to produce anything useful in Z-brush. I’ve tried Mudbox, which is a huge usability improvement, but I’ve given enough money to Autodesk already. Sculptris is both simple and free.
Once in Sculptris, I sculpted in the details and then exported back out to 3DSMax to render the new high-res mesh into a normal map for the original lo-res representation. I’m definitely getting closer to the look and feel of miniatures, but I obviously cannot blatantly lift all the designs from Ral Partha. I ordered some more generic plastic figures from Amazon and they look to be a good basis to add custom details.
Along the way, I wound up writing a custom mesh exporter/importer. Unity’s default support for FBX files is nice, but it carries with it a lot of overhead I don’t need. Worst of all, to convert the 3DSMax z-up models into Unity’s y-up coordinates, the FBX exporter adds a 90 degree rotation to the model’s transform. Carrying around the transform was polluting all of the rotation code for the miniatures in game. Additionally, Unity insists on applying a 0.1 scale on all FBX model imports. This can be changed, but it’s on a per model basis and a new default can’t be set.
I’m not reinventing a perfectly good wheel just to do it. I’ll be setting up groups of vertices in the future to allow the players to change the colors on the painted miniatures and I don’t won’t to try to piggy-back that on an FBX export.
Next up, we’ll talk about line-of-sight visibility and how that kept me up at night.
Yeah, if 90% of creativity is hiding your sources, then you’re failing with this post. But the final results are really impressive. Does this hold up if you go to a dragon or some other critter/vehicle that might cover more than one block?
I’m not looking to hide my sources just yet. Step one is define an aesthetic, step two is to use that aesthetic to make design choices. In a perfect world, I’d license the non-exclusive digital rights to a line of miniatures an strive for accuracy. Failing that, I will like use miniatures as a reference point.
Big miniatures is on my list. They’ll cover more squares, so orientation becomes significant. I’m not too worried about that. Movement will, however, add a few additional challenges.
Nice UIs are great - the path to competence so much shorter (though the path to mastery is probably the same distance) - that’s why I do a lot of my work in sketchup and only bring it into other modeling programs as necessary. Sculptris seems like the sketchup of clay.
On solving models coming in with weird rotations in Unity - more often than not I have a dummy empty object that I parent the model to, and then make a prefab out of. Solves orientation problems, and if the model changes significantly (gets a new submesh or collision mesh) its easier to swap in that way, for one thing. But it’s also something pretty easy to do after-the-fact on an as-needed basis.
The custom exporter has been working well for me. It handles getting the model to the origin, setting the proper orientation, and resetting the transforms. I noticed when I was working on the dice rolling that my models were flipped. Left-handed, right-handed, I wish the graphics world could just agree on axes. Added the flipping to the exporter and I’m back in business.
For reasons I can’t entirely explain, I don’t like prefabs.